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 gelistiriciler@magmalinux.org
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, senem@magmalinux.org
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ı magma-users-help@magmalinux.org
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.
magma-users-help@magmalinux.org
, magma-users-subscribe@magmalinux.org
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 magma-users-owner@magmalinux.org
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.