FreeBSD 6.1 Release Sunucu üzerinde mailman-sendmail kurulum, konfigurasyonu
Mailman'in en basit haliyle sendmail ile beraber çalıştırılması anlatılmıştır. Detaylar için mailman source 'undeki contrib dizinine göz atmanızı öneriyorum. İlk olarak ilgili dizinleri yaratıp, yetkileri düzenleyip, http://www.gnu.org/software/mailman/download.html adresinden edindiğimiz kaynağı derliyoruz.:

# mkdir /usr/local/mailman
# cd /usr/local/mailman
# chgrp mailman .
# chmod a+rx,g+ws .
# cd /usr/src/mailman-2.1.6
# ./configure --with-mail-gid=nogroup
# make && make install




Konfigurasyon ile ilgili bilinmesi gerekenler

I. /usr/local/mailman/Mailman/mm_cfg.py --> konfigurasyon ile ilgili öncelikle Defaults.py dosyası okunuyor ardından mm_cfg.py dosyasında yaptığınız değişiklikler dikkate alınarak bu dosya okunuyor. Virtualhost'unuz ve delivery_module için mm_cfg.py dosyasını düzenliyoruz. Defaults.py dosyası için herhangi bir değişiklik yapmıyoruz.

II. httpd.conf dosyanıza mm_cfg.py dosyasına eklemiş olduğunuz alan adı bilgileriniz için virtualhost kaydı eklemelisiniz.

III. /usr/local/mailman/bin/newlist yeni liste oluşturmak için kullanılıyor
/usr/local/mailman/bin/rmlist liste kaldırmak için kullanılıyor.
/usr/local/mailman/bin/mmsitepass admin parolası belirlemek için kullanılıyor
/usr/local/mailman/bin/check_perms izinleri kontrol etmek ve düzenlemek için kullanılıyor.

IV. /etc/mail/aliases --> sendmail aliases dosyası /usr/local/mailman/bin/newlist scripti ile oluşturduğunuz mail grupları için aldığınız output'u aliases dosyasına eklemeniz gerekiyor. (ekleme işleminden sonra newaliases çalışmalı)




Örnek konfigurasyon dosyalarım

/usr/local/mailman/Mailman/mm_cfg.py dosyasına eklediğim satırlar, burada sendmail için SMTPDirect modülü sorunsuz çalışıyor

DELIVERY_MODULE = 'SMTPDirect'
DEFAULT_URL_HOST = 'ova.deu.edu.tr'
DEFAULT_EMAIL_HOST = 'ova.deu.edu.tr'

/wwwroot/conf/httpd.conf dosyasına eklediğim satırlar, burada sendmail için SMTPDirect modülü sorunsuz çalışıyor

<VirtualHost 193.140.151.185:80>
ServerAdmin okan@deu.edu.tr
DocumentRoot /usr/local/mailman/cgi-bin
ServerName ova.adm.deu.edu.tr
ServerAlias ova.adm.deu.edu.tr
ScriptAlias /mailman "/usr/local/mailman/cgi-bin"
Alias /freebsd "/usr/local/mailman/archives/public/freebsd"
ErrorLog logs/mailman1-error_log
CustomLog logs/mailman1-access_log common
</VirtualHost>

/etc/aliases mailman ve freebsd adında oluşturduğum listeler için aliases dosyasına eklediğim satırlar,

## mailman mailing list
mailman: "|/usr/local/mailman/mail/mailman post mailman"
mailman-admin: "|/usr/local/mailman/mail/mailman admin mailman"
mailman-bounces: "|/usr/local/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/usr/local/mailman/mail/mailman confirm mailman"
mailman-join: "|/usr/local/mailman/mail/mailman join mailman"
mailman-leave: "|/usr/local/mailman/mail/mailman leave mailman"
mailman-owner: "|/usr/local/mailman/mail/mailman owner mailman"
mailman-request: "|/usr/local/mailman/mail/mailman request mailman"
mailman-subscribe: "|/usr/local/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe mailman"

## freebsd mailing list
freebsd: "|/usr/local/mailman/mail/mailman post freebsd"
freebsd-admin: "|/usr/local/mailman/mail/mailman admin freebsd"
freebsd-bounces: "|/usr/local/mailman/mail/mailman bounces freebsd"
freebsd-confirm: "|/usr/local/mailman/mail/mailman confirm freebsd"
freebsd-join: "|/usr/local/mailman/mail/mailman join freebsd"
freebsd-leave: "|/usr/local/mailman/mail/mailman leave freebsd"
freebsd-owner: "|/usr/local/mailman/mail/mailman owner freebsd"
freebsd-request: "|/usr/local/mailman/mail/mailman request freebsd"
freebsd-subscribe: "|/usr/local/mailman/mail/mailman subscribe freebsd"
freebsd-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe freebsd"

Konfigurasyon işleminden sonra eklemiş olduğunuz listeler için permision kontrolü yapmanız gerekiyor bunun için /usr/local/mailman/bin/check_perms scriptini kullanmalısınız. yine aynı script ile izin hatalarını düzeltebiliyorsunuz check_perms -f parametresiyle. admin paneli için /usr/local/mailman/bin/mmsitepass script i ile parola belirleyebilrsiniz. örnek olarak mailman ve freebsd adında iki adet liste oluşturalım: (mailman adlı listeyi oluşturmanız zorunlu)

# /usr/local/mailman/bin/newlist // liste adı, eposta, bilgilerini belirliyoruz. sonrasında aldığımız output 'u /etc/mail/aliases dosyasına ekleyip "newaliases" komutunu çalıştırmalıyız.
# /usr/local/mailman/bin/check_perms -f // oluşturduğumuz liste için izinleri yeniden düzenleyelim.
# /usr/local/etc/rc.d/mailman stop
# /usr/local/etc/rc.d/mailman start

Not: Sendmail ile mail gönderemiyorsanız, sendmail'in smtp portunuzu dinlediğinden emin olmalısınız. "telnet ip 25" şeklinde kontrol bu kontrolü gerçekleştirebilirsiniz. Eğer ip dinlenmiyorsa rc.conf dosyasını üzenleyerek sendmail_enable="yes" satırını eklemelisiniz. mail gönderebilmek için ip adresinizin smtp izninin verildiğinden emin olmalısınız. Eposta alabilmeniz için ip adresiniz için reverse dns kaydı olması gerektiğini unutmayınız.



Yararlanılabilecek bağlantılar


GNU Mailman - Installation Manual
Linux: GNU Mailman email list installation and configuration



Ali Okan YÜKSEL
16 Kasım, 2006
İZMİR
Son güncellenme, 16 Kasım 2006