magmalinux-diger-ayarlar

9. Diğer Ayarlar

9.1. Alias Tanımlamaları

Bir alias (takma ad) herhangi bir hesaba (ya da hesaplara) takma ad vermemizi sağlar. Örneğin adresine gönderilen e-postaları senem@magmalinux.org ve lale@magmalinux.org adreslerine göndermek istediğimizi varsayalım. Bu durumda gelistiriciler; senem ve mehmet için alias olur. Alias eklemek için /etc/courier/aliases/system dosyasını açıp, aşağıdaki gibi bir satır ekliyoruz:

gelistiriciler: senem, lale

Bir alias birden fazla kişiye işaret edebileceği gibi, tek bir kişiye de işaret edebilir (Örneğin tek bir geliştiriciniz olduğunu düşünün ya da insankaynaklari departmanınızda tek bir çalışanınız).

/etc/courier/aliases/system dosyasında her değişiklik yaptıktan sonra, değişikliğin geçerli olması için:

# makealiases

komutunu çalıştırmamız gerekiyor.
 

Dikkat!!! Eğer sisteminizde aliasın yanında gelistiriciler isminde gerçek bir hesap varsa bu hesap hiçbir e-posta alamayacak. Eğer bu hesabın da e-posta almasını istiyorsanız yukarıdaki satırı şu şekilde değiştirin:

gelistiriciler: gelistiriciler, senem, lale

Yeri gelmişken postmaster aliasımızı da tanımlayalım. /etc/courier/aliases/system dosyasına göz attığınızda "postmaster:" ile başlayan bir satır göreceksiniz. Bu postmaster aliasının bir hesaba işaret etmesi gerekiyor. Sisteminizdeki postmaster, senem hesabı ise, bu satır

postmaster: senem

şeklinde olmalı. Değişikliğin geçerli olması için "makealiases" ı çalıştırmayı unutmuyoruz.

(Postmaster: Mail Sunucusunun yöneticisi olup, hata durumlarında Mail Sunucumuz bu kullanıcıya e-mail gönderir.)

Alias tanımlarken, domainlerini belirtmediğiniz hesaplar için /etc/courier/defaultdomain dosyasındaki domain kullanılır (Yani yukarıdaki örneklerde senem, olarak değerlendirilecek. Çünkü magmalinux.org, defaultdomain dosyamızda belirttiğimiz domain).

9.2. Sqwebmail kurulumu

Yapmamız tek gereken şey, aptitude ile sqwebmail i kurmak, başka hiçbir ayar yapmamıza gerek yok:

# aptitude install sqwebmail

Kurulum işlemi bittikten sonra webden hesabınıza erişmek için tarayıcınızla http://alanadiniz/cgi-bin/sqwebmail adresine gidin (Bizim örneğimizde http://www.magmalinux.com/cgi-bin/sqwebmail).

9.3. SpamAssassin Yapılandırması

9.3.1. Courier Ayarları

Eğer oluşturulmamışsa /etc/courier/maildroprc dosyasını oluşturun ve aşağıdaki satırları ekleyin:

import USER
if ($LOGNAME ne "")
{
        xfilter 'spamc -u "$LOGNAME"'
}
else
{
        xfilter 'spamc -u "$USER"'
}

Eğer SpamAssassin'iniz başka bir sunucuda çalışıyorsa (Courier'la aynı sunucu yerine uzaktaki bir sunucu) /etc/courier/maildroprc dosyanıza yukarıdaki yerine aşağıdaki gibi olmalıdır:

import USER
if ($LOGNAME ne "")
{
        xfilter 'spamc -d spam.magmalinux.com -u "$LOGNAME"'

}
else
{
        xfilter 'spamc -d spam.magmalinux.com -u "$USER"'
}

Son olarak /etc/courier/courierd dosyasını açıp, DEFAULTDELIVERY değişkenini aşağıdaki biçimde değiştirin:

DEFAULTDELIVERY="| /usr/bin/maildrop"

Bu değişken kısaca, gelen e-postanın SMTP sunucu tarafından Maildir'e bırakılması yerine, courier-maildrop tarafından Maildir'e bırakılması gerektiğini söyler.

Yaptığımız değişikliklerin geçerli olması için courier-mta'mızı yeniden başlatalım:

# /etc/init.d/courier-mta restart

9.3.2. SpamAssassin Ayarları

SpamAssassin'i aktif etmek için /etc/default/spamassassin dosyasındaki ENABLED değişkenini 1 yapalım:

ENABLED=1

Yaptığımız bu değişiklikten sonra spamassassin servisini yeniden başlatıyoruz:

# /etc/init.d/spamassassin restart

Sonuçları görmek için, kendinize bir e-posta gönderin ve sistem logunu (/var/log/syslog) takip edin. Syslog'da

spamd: mkdir /nonexistent: Permission denied at /usr/share/perl5/Mail/SpamAssassin.pm

şeklinde bir hata ile karşılaşıyorsanız, SpamAssassin ev dizini (home) olmayan nobody kullanıcısı olarak çalışıyordur. Bu yüzden nobody kullanıcısının /etc/passwd dosyasında yazılı ev dizinini yaratmaya çalışıyor ve “Erişim engellendi” hatası alıyorsunuz.

Sorunu çözmek için 1. yol, /etc/default/spamassassin dosyasında OPTIONS değişkenine
" -x –virtual-config-dir=/var/cache/spamassassin " ekleyin.

2.yol /etc/default/spamassassin dosyasında OPTIONS değişkenine “-u mail ” ekleyin (Biz burda mail kullanıcısı seçtik. Ev dizini var olan bir başka kullanıcı da seçebilir ya da sadece spamassassin için “spamd” isminde özel bir kullanıcı da yaratabilirsiniz).

 

9.4. E-Posta Listesi (Maillist) Kurulumu (courier-mlm)

courier-mlm paketi bize e-posta listesi yaratma, yönetme işleri için büyük kolaylık sağlar. İşe ilk olarak, tüm e-posta listelerinin bulunacağı dizini yaratarak başlayalım:

# mkdir /var/lists
# chown mail:mail /var/lists


Şimdi de magma-users isminde ilk e-posta listemizi yaratalım (ADDRESS parametresindeki adres, e-posta listesindeki kullanıcıların e-postalarını göndereceği adres):

# couriermlm create /var/lists/magma-users ADDRESS=magma-users@magmalinux.org

Bu komut /var/lists/magma-users adlı bir dizin oluşturup, bu dizin içinde e-posta listemiz için bazı dosyaları otomatik yaratacak. Bu dosyalardan bazıları:

help.tmpl dosyası adresine gönderilen herhangi bir e-postaya karşılık, dönecek cevabın şablonudur. E-posta listesine üyelik, üyelikten ayrılma ve e-posta listesi hakkında bilgiler vardır. Bu dosyayı kendimize uygun bir şekilde değiştirebiliriz.

sub.tmpl dosyası, e-posta listesine üyelik için isteğe karşılık gönderilen cevabın şablonudur.

sub2.tmpl dosyası, başarılı bir üyelikten sonra üyeye gönderilecek e-postanın içeriğinin şablonudur.

unsub.tmpl dosyası, e-posta listesine üyelikten çıkma isteğine karşılık gönderilen cevabın şablonudur.

 


Şimdi magma-users MySQL passwd tablomuzda magma-users kullanıcısı oluşturalım:

# mysql -u mail -p --default-character-set=utf8

mysql> use mail;
Database changed

mysql> INSERT INTO `passwd` (`id`, `name`, `home`)
              VALUES ( 'magma-users@magmalinux.org  ',
                       'Magma Users',
                       '/var/lists/magma-users'
              );

 

Kullanıcı hesabımızı MySQL'e ekledikten sonra, bu hesaba gelen e-postaları couriermlm ye iletmemiz gerekiyor. Bunun için magma-users kulllanıcısı home dizininde (/var/lists/magma-users/) .courier dosyası oluşturup (Dosya isminin başındaki noktaya dikkat), dosyanın içine şunları yazıyoruz:

| couriermlm msg /var/lists/magma-users

Satırın başındaki "|" karakterine dikkat. Bu karakter Courier'a harici bir komut çalıştıracağını söyler.

 

, gibi adreslere gelen e-postaları kabul etmek için, home dizini (/var/lists/magma-users/) altında .courier-default dosyası oluşturup, dosyanın içine şu satırı yazıyoruz:

| couriermlm ctlmsg /var/lists/magma-users

Son olarak adresine gönderilen e-postalar için, home dizininde .courier-owner oluşturup, dosyanın içine şu satırı yazıyoruz (Örneğin e-posta listesinin yöneticisi dogan ise):

senem@magmalinux.org

 

Yarattığımız bu dosyaların sahibini mail kullanıcısı yapmak için:

# chown mail:mail -R /var/lists/magma-users

komutunu çalıştırıyoruz

 


Bazı E-posta listesi yönetimi için otomatik yapılması gereken işleri (bekleyen üyelik doğrulamasına gelmeyen cevapların temizlenmesi gibi) cron servisine vereceğiz. Bunun için önce her saat yapılması gereken işler için /etc/cron.hourly/ dizininde couriermlm isminde bir dosya yaratalım ve içine şunları yazalım:

#!/bin/sh

couriermlm hourly /var/lists/magma-users

Günlük işler için /etc/cron.daily/ dizininde couriermlm isminde bir dosya yaratalım ve içine şunları yazalım:

#!/bin/sh

couriermlm daily /var/lists/magma-users

Cron için yarattığımız bu betiklere çalıştırılabilir hakkı verelim:

# chmod +x /etc/cron.hourly/couriermlm
# chmod +x /etc/cron.daily/couriermlm


9.4.1. couriermlm komutu yardımıyla liste yönetimi

couriermlm komutu söz dizimi

# couriermlm [komut] [dizin] [secenekler]

şeklindedir. Buradaki dizin e-posta listemizin dizini (Bizim örneğimizde /var/lists/magma-users) Couriermlm komutlarına göz atalım:

sub: kendisine parametre olarak verilen e-posta adresini posta listesine ekler. Örnek kullanım:

# couriermlm sub /var/lists/magma-users hakan@magmalinux.com

unsub: kendisine parametre olarak verilen e-posta adresini posta listesinden siler. Örnek kullanım:

# couriermlm unsub /var/lists/magma-users hakan@magmalinux.com

lsub: e-posta listesindeki e-posta adreslerini listeler. Örnek kullanım:

# couriermlm lsub /var/lists/magma-users

export: üye veritabanını standart çıktıya yazar. Örnek kullanım:

# couriermlm export /var/lists/magma-users >magma-users-uyelik.db

import: export komutu ile üretilmiş üye veritabandaki bilgileri kendi veritabanına kaydeder. Örnek:

# couriermlm import /var/lists/magma-users <magma-users-uyelik.db



9.4.2. Posta listesi seçeneklerini ayarlamak

couriermlm aracının set komutu ile birtakım posta listesi seçenekleri ayarlanabilir. Kullanım şekli:

# couriermlm set maillist_home secenek=deger secenek=deger ...

Bu seçeneklerin neler olduğuna bakalım:

ADDRESS: E-posta listesinin genel adresi (kullanıcıların e-posta gönderdiği adres).

CASESENSITIVE: 1 ise e-posta adresinin kullanıcı adı kısmı büyük/küçük harf duyarlı, 0 ise büyük/küçük harf duyarsız (alan adı kısmı her durumda büyük/küçük harf duyarsız). Dikkat! Bu seçeneği aktif bir liste üzerinde değiştirirken dikkatli olun. Seçeneği 1 olarak ayarladığınız taktirde e-posta adresinin kullanıcı adı kısmında büyük harf içeren kullanıcılar listeden e-posta alamayacaklar. Bu seçeneği değiştirmeden önce, listenizdeki her e-posta adresinin sadece küçük harflerden oluştuğuna emin olun.

KEYWORD: E-posta listesine gönderilen her e-postanın başlığına eklenecek metin ( [ ] karakterleri arasına eklenir).

POST: E-posta listesine kimlerin e-posta gönderip göndermeyeceğini belirler. Üç değerden biri olabilir. “subscribers”, sadece üyeler listeye e-posta gönderebilir, “all” herkes listeye e-posta gönderebilir, “mod”, sadece üyeler listeye e-posta gönderebilir ama gönderilen e-postaların posta listesine dağıtılması için yönetici onayı gerekir. Örnek:

POSTARCHIVE: E-posta listesini kimlerin okuyup okuyamayağacını belirler. “all” herkes okuyabilir, “subscribers” sadece üyeler okuyabilir anlamındadır. Varsayılan değer “all”.

# couriermlm set /var/lists/magma-users POST=subscribers POSTARCHIVE=all

PURGEARCHIVE: E-posta listesi arşivinin kaç günde bir temizleneceğini belirler. Varsayılan değer 0'dır. E-postalar hiç silinmeyecek anlamına gelir.

REPORTADDR: bu seçeneğe verilen e-posta adresine günlük e-posta listesi ile ilgili rapor gönderilir (üye olanlar, üyelikten çıkanlar gibi).

SIMPLECONFIRM: Normalde üyelik başvurusu için gönderilen e-posta doğrulamasına kullanıcının başlığa “Yes” yazıp cevaplaması gerekir. Eğer bu seçenek 1 e ayarlanmışsa, kullanıcının başlığa “Yes” yazmasına gerek kalmaz (Bu seçeneği değiştirdikten sonra kullanıcıya üye olması için ne yapması gerektiğini anlatan sub.tmpl, help.tmpl ve unsub.tmpl yi değiştirmeyi unutmayın).

SUBSCRIBE: Bu seçeneğin değeri “all” ya da “mod” olabilir. “all” herkesin üye olabileceği, “mod” ise üyelik için yönetici onayı gerektiği anlamına gelir.