QMAIL KURULUMU

                                                                    EnderUnix Software Development Team

13- 1. Tur Kurulumun Tamamlanmasi:

1. Tur  kurulumda sistemdeki tum kullanicilarin sistem kullanicisi olacagini soylemistik. sistem kullanicilarinin mail alabilmeleri icin kullanicilarin
home dizininde Maildir dizinin olusturulmasi lazim. Bunun icin   /var/qmail/bin/ dizinindeki maildirmake komutunu kullanacagiz.
tek bir kullanici icin Maildir dizini olusturmak icin
 

# su - kullanici
#/var/qmail/bin/maildirmake  ~kullanici/Maildir

komutu ile kullanicinin home dizininde kullanicinin   haklarina sahip  bir Maildir dizini  olusur.
Tek tek tum kullanicilarin home dizininde elle  Maildir olusturmak yerine ,basit bir kac shell script ile bu isi de halledelim..

# echo "./Maildir/" >.qmail  komutu ile .qmail dosyasi olusturun.
# cp /etc/passwd /var/tmp/tmppass
# cp .qmail  /var/tmp/


komutu ile /etc/passwd dosyasindaki tum kullanicilarin home dizinlerini pathlerini qmailusers dosyasia ekleyelim. bu /var/tmp/tmppass dosyasini bir text editor ile acin ve bu dosyadaki root,ftp,bin daemon wheel lpr tty, games,qmail* gibi sistemin kendisi ile alakali kullanicilarin bilgilerini silin.. daha sonra asagidaki scripti

createmaildir.pl olarak kaydedin (bu dosyayi  http://www.enderunix.org/docs/createmaildir.pl.gz   adresinden elde edebilirsiniz.)

###############################################
# İsmail YENIGUL 27 Temmuz  createmaildir.pl
#!/usr/bin/perl -w
open(FILE,"</var/tmp/tmppass") or die ("Dosya acilamadi");
while($line=<FILE>) {
chomp($line);
 @USER=split(/:/,$line);
$mdir="$USER[5]/Maildir";
$home=$USER[5];
$id=$USER[2];
$gid=$USER[3];
system("/var/qmail/bin/maildirmake $mdir") ;
system("cp /var/tmp/.qmail $home");
system("chown -R $id $mdir $home/.qmail");
system("chgrp -R $gid $mdir $home/.qmail");

}
###############################################

qmailusers dosyasindan yukarida bahsettigim kullanicilarin home dizini adreslerini qmailusers dosyasindan sildikten sonra
# perl createmaildir.pl

Komutunu calistirarak sistemdeki kullanicilar icin otomatik olarak Maildir ve .qmail dosyasini olusturun.(qmailuser ve createmaildir.pl dosyasinin ayni dizine olmasi lazim) .qmail dosyasi daki ./Maildir/ bilgisi gelen mailin Maildir dizinine iletecegini belirtir. ./Maildir/ ifadesinin en sonundaki / bu Maildir in bir Dizin oldugunu belirtir. eger maildir degilde

Mailbox kullansa idiniz bu .qmail dosyasinin icerigi ./Mailbox olacakti. (Mailbox kullanilmasini tavsiye etmem..)
var olan kullanicilarin Maildir larini olusturduktan sonra yeni kullanicilar isin elle Maildir Olusturmak yerine /etc/skel dizininde Maildir olusturarak bu dertten kurtulalim.

FreeBSD:

# /var/qmail/bin/maildirmake /etc/share/skel/Maildir
# echo "./Maildir/" >/usr/share/skel/.qmail

 Linux ve Solaris

# /var/qmail/bin/maildirmake /etc/skel/Maildir
# echo "./Maildir/" >/etc/skel/.qmail

eger dot-forward paketini kurduysaniz.ve /var/qmail/rc de dot-forward icin  gerekli degisikligi yaptiysaniz. kullanicilarin .forward u kullanabilmesi icin  .qmail dosyasini silmeleri gerektir.   dot-forward kurmadiysaniz .qmail dosyasini .forward yerine kullanabilirsiniz.
son olarak 1. Kurulum icin bu dokumandaki POP3 Ayarlari kismina bakiniz.. Sqwebmail kurulumu icin Sqwebmail kismina bakiniz..
Courier-IMAP kurmak icin Courier-IMAP kismina bakiniz..

15-  2. ve 3. Kurulum için  Ezmlm Kurulumu:

Ezmlm qmail icin olan bir listecidir. http://www.ezmlm.org/ veya http://ezmlm.enderunix.org/ adreslerinden ezmlm-0.53 ve ezmlm-idx-0.40 paketlerini indiriniz.

# tar -zxvf ezmlm-0.53.tar.gz
# tar -zxvf ezmlm-idx-0.40.tar.gz

# mv ezmlm-idx-0.40/* ezmlm-0.53/
# cd ezmlm-0.53
# patch < idx.patch (Solaris kullaniyorsaniz www.sunfreeware.com daki patch paketini kullaniniz)

 

Asagidaki dosyalari Mysql destekli ezmlm kurmak istiyorsaniz degistiriniz.
# cd sub_mysql
conf-sqlcc dosyasindaki  -I/usr/include/mysql   ifadesini sizin MySQL   include pathi ile degistirin (FreeBSD de -I/usr/local/include/mysql)

conf-sqlld dosyasindaki  -L/usr/lib/mysql -lmysqlclient -lnsl -lm : ifadesini sizin MySQL   include pathi ile degistirin  (FreeBSD de -L/usr/local/lib/mysql -lmysqlclient -lm )
# cd ..
# make clean
# make
# make man
# make setup

 

16- autoresponder  Kurulumu:

Autoresponder mailere otomatik cevap yazmaya yarayan programdir. http://www.inter7.com/devel adresinden indirebilirsiniz

# tar -zxvf autorespond-2.0.2.tar.gz
# cd autorespond-2.0.2

# gcc  -o autorespond autorespond.c
# cp autorespond /usr/local/bin

kullanimi ile ilgili genis bilgiyi README dosyasinda bulabilirsiniz.

17-  Courier-IMAP Kurulumu:

  Courier-IMAP qmail ile calisan bir IMAP programidir.
http://www.courier-mta.org/download.php#imap adresinden en son versiyonunu indiriniz. biz courier-imap-1.5.3 versiyonunu kullanacagiz.

buraya kadar tum isleri ROOT olarak yapmistik. ama bu courier-IMAP belasini compile etmek ve make yapmak icin ben size artik root olarak yapin diyene kadar compile ve make islemlerini (make install demedim :) ) root olmayan bir kullanici ile yapin..

# su - ismail         Courier-IMAP i make install yapana kadar tum isleri bu root hakki olmayan kullanici ile yapacaz..

yenigul@apache$ tar -zxvf courier-imap-1.5.3.tar.gz
$ cd courier-imap-1.5.3 (hala root degilim!)

bazi parametrelerin ne manaya geldigini aciklayim

--enable-workarounds-for-imap-client-bugs = Netscape IMAP ile baglandiktan sonra yeni bir mail geldigi zaman sapitmakta ve hata vermektedir . bu hatayi gidermek icin bu parametreyi kullanmak sarttir.
--with--authpwd=/etc/password dosyasindan authentication destegi icin
--with-authpam =pam den authentication destegi icin
--with-authshadow = /etc/shadow dosyasindan authentication destegi icin
--with-authmysql =mysql tabledan authentication destegi icin
--with-authvchkpw = vpopmail den authentication destegi icin birde bu tum --with ler icin --without ifadesi vardir ki bu da anlasilacagi gibi yukaridaki modul destegi vermemek icin
--without-authldap = ldap destegi vermemek icin eger hantal Solaris belasi  Uzerindeki courier-IMAP kurmaya calisiyorsaniz.
--with-waitfunc=wait3 parametresinide tum kurulumlara mutlaka ekleyiniz.. veya Solarisi patchleyin (daha fazla bilgi icin Courier-IMAP FAQ)

Eger 1. tur kurulumu sectiyseniz..

$ ./configure --enable-workarounds-for-imap-client-bugs \
--with-authpwd --with-authpam --with-authshadow --without-authmysql \
--without-authldap --without-authvchkpw --enable-unicode

$ make (root degilsiniz !)
$ make check (hata verirse sorun degil)
$ su root (simdi root olma zamani ! )
# make install (veya make install-strip)

Eger FreeBSD kullaniyorsaniz ve pam den authentication yapmak istiyorsaniz
/etc/pam.conf dosyasinda imap ile ilgili kisim asagidaki sekilde olacak sekilde degistirin

imap auth required pam_unix.so try_first_pass
imap account required pam_unix.so
imap session required pam_permit.so

default olarak courier-imap /usr/lib/courier-imap dizinie kurulur.Hangi modulle desteginin bulundugunu anlamak icin
/usr/lib/courier-imap/etc/imapd.conf dosyasindan AUTHMODULES satirina bakmaniz yeterlidir. ornek bir AUTHMODULES soyledir.

AUTHMODULES="authcustom authuserdb authpwd authvchkpw"

courier-IMAP i calistirmak icin

# /usr/lib/courier-imap/libexec/imapd.rc start komutunu vermeniz yeterlidir..

courier-IMAP i her acilista calistirmak icin kullandiginiz isletim sistemine gore acilista programlarin calistirildigi dosyaya /usr/lib/courier-imap/libexec/imapd.rc start ifadesini ekleyiniz.

18- Sqwebmail Kurulumu:

        Sqwebmail C CGI da qmail icin yazilmis web uzerinden mail gonderip almaya yarayan bir webmail programidir ve sadece Maildir formatinda calisir..
CGI olmasina ragmen html ler ayri bir dizinde tutulur bu sayede sadece html leri degistirmekle istediginiz formatta bir webmail hazirlayabilirsiniz

http://www.inter7.com/sqwebmailadresinden sqwebmailin en son versiyonunu indiriniz.
root olarak

#tar -zxvf sqwebmail-3.3.7.tar.gz
# cd  sqwebmail-3.3.7

Bazi sqwebmail parametreleri
--with-module ile authentication module destegi vermek istedikleriniz  belirtilir.
--without-module ile authentication module destegi vermek istemediginiz module  belirtilir.
--with-cachedir parametresi ile sqwebmail cachelerinin tutulacagi dizin adresi belirtilir..
--with-htmllibdir parametresi ile sqwebmailin html dosyalarinin hangi dizinde tutulacagini belirtir..
--enable-imagedir= parametresi ile image lerin saklanacagi dizin belirtilir..
--enable-mimetypes= ile apache web serverin mime.types dosyasinin nerede oldugu belirtilir..
--enable-cgibindir=parametresi ile apache web serverin cgi-bin dizini belirtilir. ve compile sonucu olusan sqwebmail isimli cgi bu dizin altina kopyalanir.. daha fazla bilgi icin sqwebmail.tar.gz ile gelen INSTALL dosyasini okuyunuz..

 

# mkdir /usr/local/sqwebmail
# ./configure --with-authpam --with-authshadow   --with-authpwd --without-authldap \
--without-authmysql --without-authvchkpw   --enable-imagedir=/usr/local/sqwebmail/sqimage \
--enable-mimetypes=/usr/local/etc/apache/mime.types   --enable-cgibindir=/usr/local/www/cgi-bin/  --enable-unicode
#make
#make install
sqwebmail in her acilista calismasi icin asagidaki komutu acilis dosyalarini ekleyin.
/usr/local/share/sqwebmail/libexec/authlib/authdaemond start

sorunsuz bir sekilde yukaridaki islemler biterse devam edelim pam destegi verdigimizden eger Redhat Kullaniyorsaniz
/etc/pam.d/webmail dosyasinin olup olmadigini kontrol edin yoksa olusturun ve icine asagidaki bilgileri yaziniz.

#%PAM-1.0

auth required /lib/security/pam_pwdb.so shadow nullok
account required /lib/security/pam_pwdb.so

eger FreeBSD kullaniyorsaniz
/etc/pam.conf dosyasina

#%PAM-1.0

webmail auth required pam_pwdb.so shadow nullok
webmail account required pam_pwdb.so shadow nullok

seklinde bir ekleme yapin.
Bazi konfigurasyon dosyalari(default dizin /usr/local/share/sqwebmail dir):

kullanicilar webmail ile girdiklerinde email adresleri user@mail.domain.com olarak gozukur. @ ten sonra sadece domain in gozukmesi icin /usr/local/share/sqwebmail/hostname dosyasina
domaininizin adini yaziniz. Bu dosya default yoktur. sizin olusturmaniz lazim.
/usr/local/share/sqwebmail/nochangingfrom: bu dosyayi olusturursaniz kullanicilar mail gonderirken From kismini degistiremez.
/usr/local/share/sqwebmail/noimages : webmailde resim ve ikonlarin gozukmemesi icin bu dosyasi olusturun
/usr/local/share/sqwebmail/html/LANG/footer bu dosya var ise webmailden gonderilen her mailin altina bu dosyaya yazan mesaj eklenir. LANG degiskeni sizin kurarken sectiginiz dildir (genelde LANG degeri en dir)

http://mail.domain.com/cgi-bin/sqwebmail   adresinden serverdaki  kullanici adi ve sifrenizi yazarak maillerinize erisebilirsiniz.

IMAP destekli Webmail kullanmak isterseniz size PHP de yazilan BasiliX i tavsiye ederim. daha fazla bilgi icin http://www.BasiliX.org

 

19-POP3 Sunucu Kurulumu:

Burada /etc/passwd den authentication yapmaya yarayan yukarida kurdugumuz checkpassword programini kullanacagiz.
qmail-pop3.sh diye bir dosya olusturun ve icine
* Burada TCPSERVER dan pop3 u calistirmayi anlatacagiz. INETD den calistirmak icin biraz asagidaki satirlari okuyun

 #!/bin/sh
tcpserver -H -R  -l 0 0 pop3 /var/qmail/bin/qmail-popup HOST  /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &

ifadelerini yazin HOST kismini sizim mail serverin tum adi ile degistirin. daha sonra

# chmod 755   qmail-pop3.sh
#./qmail-pop3.sh 

komutu ile pop3 u calistirabilirsiniz. Acilista calistirmak icin

FreeBSD :

# cp    qmail-pop3.sh /usr/local/etc/rc.d
# chmod 755   /usr/local/etc/rc.d/qmail-pop3.sh

RedHat ve Mandrake :

qmail-pop3.sh dosyasini /etc/rc.d/init.d altina kopyalayin /etc/rc.d/rc.local dosyasina
/etc/rc.d/init.d/qmail-pop3.sh  ifadesini yazin.
 

Solaris :

# cp qmail-pop3.sh /etc/init.d
#chmod 700  /usr/local/etc/rc.d/qmail-pop3.sh
#ln -s /etc/init.d/qmail-pop3.sh /etc/rc2.d/S91qmail-pop3
#ln -s /etc/init.d/qmail-pop3.sh /etc/rc2.d/K91qmail-pop3

INETD den pop3 u calistirmak isterseniz.
/etc/inetd.conf a

1. kurulum icin:

pop3 stream tcp nowait root /var/qmail/bin/qmail-popup MAILHOST /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir

#kill -HUP inetd_pid

1. Tur kurulumu bitirdik Ana sayfaya (qmail.html) donerek qmail ozellestirilmesi ile ilgili kisimi mutlaka okuyunuz.

www.enderunix.org Hosting Sponsor