Dovecot, qmail ile birlikte kullanılan pop-imap sunucu Courier-Imap yerine tercih edebileceğiniz ve ssl desteği de bulunan imap-pop-imaps-pops sunucu olarak görev yapan ve son günlerde popüleritesi artmış bir uygulamadır. Eğer sunucunuz üzerinde secure pop ya da secure imap için hizmet vermek istiyorsanız Courier-Imap yerine kullanmanızı şiddetle tavsiye ediyorum. Aynı zamanda bir çok authentication metodu için hazırlanmış conf dosyaları ile (pqsql,mysql,ldap,local db vb.) çok az bir çabayla istediğiniz konfigurasyonda çalıştırabilmek mümkün. Dovecot’u tercih etmemin diğer bir nedeni de default olarak ./configure parametresi ile derlense bile unicode karakterler için full-text search özelliği ile derleniyor olması. Courier-Imap ile ne roundcube üzerinde ne de squirrelmail üzerinde bu özellik ile derleme yapmadıysanız body ya da heryerde ara seçeneği ile arama yaptığınızda sonuca ulaşmak mümkün olmuyor ve bu özelliği aktiflemek için Courier-Imap’i tekrardan derlemek zounda kalıyorsunuz. Ama Dovecot hem secure protokoller için hem de unicode search için kolayca entegre edilebiliyor.
Qmail ile birlikte Vpopmail kullanıyorsunuz kullanıcılarınız vpopmail veritabanında bulunan kullanıcı bilgileri ile sisteme login olarak pop/imap gibi protokoller ile maillerini bilgisayarlarına çekerler ya da webmail için kullandıgınız uygulama (roundcube,squirrelmail vs.) yine bu protokoller aracılığı ile mailleri çekerek web arabiriminde görüntülenmesinde yardımcı olur. Kullanıcı bilgilerini vpopmail’den alacağımız için (kullanıcı bilgileri mysql üzerinde saklanıyor olsa da vpopmail bizim için mysql’e soracak, dolayısıyla vpopmail destekli derlemek yeterli olacak.) Dovecot’u vpopmail desteği ile derleyeceğiz.
Öncelikle son sürümü indirelim (www.dovecot.org adresinden son sürümü kontrol edebilirsiniz)
[root@teknotronik ~]# cd [root@teknotronik ~]# wget http://www.dovecot.org/releases/2.0/dovecot-2.0.13.tar.gz
Sıkıştırılmış dosyayı açalım ve vpopmail desteği ile dovecotu derleyelim
[root@teknotronik ~]# tar xzvf dovecot-2.0.13.tar.gz [root@teknotronik ~]# cd dovecot-2.0.13 [root@teknotronik ~]# ./configure --with-vpopmail [root@teknotronik ~]# make && make install
Komutları sırayla vermeden önce son gelen ekran çıktılarını incelerseniz derleme aşamasında herhangi bir hata olup olmadığını anlayabilirsiniz.
Evet dovecot kuruldu ve oluşan binaryler sistemde ilgili yerlerine kopyalandı. Bazı durumlarda dovecotu hangi bileşenlerle kurduğunuzu öğrenmek isteyebilirsiniz. Aşağıdaki komut ile dovecotu hangi özellikleri ile kurduğunuzu görmek için kullanabilirsiniz.
[root@teknotronik ~]# dovecot --build-options Build options: ioloop=epoll notify=inotify ipv6 openssl io_block_size=8192 Mail storages: maildir raw shared SQL drivers: Passdb: checkpassword passwd passwd-file shadow vpopmail Userdb: checkpassword nss passwd prefetch passwd-file vpopmail
Evet komut çıktısında da görüldüğü gibi vpopmail desteği ile kurulum sorunsuz gerçekleşmiş. Şimdi conf dosyalarını optimize edebiliriz ve başlangıç scriptimizi oluşturabiliriz.
[root@teknotronik ~]# cd doc/example-config/ [root@teknotronik ~]# cp -p dovecot.conf /usr/local/etc/dovecot/ [root@teknotronik ~]# cp -rp conf.d/ /usr/local/etc/dovecot/ [root@teknotronik ~]# cd /usr/local/etc/dovecot/conf.d/
10-auth.conf dosyasının içerisinde vpopmail ile ilgili authentication parametrelerini aktifleyelim. Bu işlem için vi ile dosyayı açtıktan sonra dosyanın en alt satırlarının olduğu yere giderek ilgili satırları aşağıdaki gibi güncellemeniz yeterli olacaktır.
[root@teknotronik ~]# vi 10-auth.conf
#!include auth-system.conf.ext
#!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext
Dovecotu başlatmak ve kapatmak için aşağıdaki init scriptini /etc/init.d dizini altında oluşturalım ve gerekli izinleri verelim.
[root@teknotronik ~]# vi /etc/init.d/dovecot # License is public domain. DAEMON=/usr/local/sbin/dovecot test -x $DAEMON || exit 1 set -e base_dir=`$DAEMON -a|grep '^base_dir: '|sed 's/^base_dir: //'` pidfile=/usr/local/var/run/dovecot/master.pid if test -f $pidfile; then running=yes else running=no fi case "$1" in start) echo -n "Starting Dovecot" $DAEMON echo "." ;; stop) if test $running = yes; then echo "Stopping Dovecot" kill `cat $pidfile` echo "." else echo "Dovecot is already stopped." fi ;; reload) if test $running = yes; then echo -n "Reloading Dovecot configuration" kill -HUP `cat $pidfile` echo "." else echo "Dovecot isn't running." fi ;; restart|force-reload) echo -n "Restarting Dovecot" if test $running = yes; then kill `cat $pidfile` sleep 1 fi $DAEMON echo "." ;; *) echo "Usage: /etc/init.d/dovecot {start|stop|reload|restart|force-reload}" >&2 exit 1 ;; esac exit 0
Şimdi de scriptimize execute hakkı verelim
[root@teknotronik ~]# chmod +x /etc/init.d/dovecot
Ssl trafik için kullanacağımız sertifikaları oluşturalım ve ilgili yerlere kopyalayalım.
[root@teknotronik ~]# cd /root/dovecot-2.0.13/doc/ [root@teknotronik ~]# sh mkcert.sh
Eğer certifika içindeki değerleri değiştirmek isterseniz mkcert.sh scriptinin içeriğini kendinize göre güncelleyip tekrardan scripti çalıştırabilirsiniz.
Ve son olarak dovecot için kullanılacak sistem kullanıcılarını oluşturalım
[root@teknotronik ~]# useradd -s /bin/false -d /dev/null dovecot [root@teknotronik ~]# useradd -s /bin/false -d /dev/null dovenull
Artık çalıştıralım şu dovecot’u 🙂
[root@teknotronik ~]# /etc/init.d/dovecot start
Evet eğer herşey sorunsuz gittiyse dovecot artık çalışıyor olamlı ve authentication için vpopmail ile konuşabiliyor olmalı.
Dovecotun çalışıp çalıştığını anlamak için 143,993,110 nolu portları sunucunuzun dinleyip dinlemediğini kontrol etmeniz yeterli. Bunun için şu komutu kullanabilirsiniz.
[root@teknotronik ~]# netstat -nlpt | grep :993 ( ya da 110 ya da 443) tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 5375/dovecot tcp 0 0 :::993 :::* LISTEN 5375/dovecot
Evet gördüğünüz gibi ilgili portlar açık ve gelen bağlantılar için dinleniyorlar.
Vpopmailin çalıştığını test etmek için mail client ile mailleriniz çekmeyi deneyebilirsiniz ya da aşağıdaki komutlar yardımıyla telnet ile sisteme login olmayı deneyebilirsiniz.
[root@teknotronik ~]# telnet 127.0.0.1 143 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. * OK Dovecot ready. 1 login kullaniciadiniz sifreniz 1 OK Logged in.
Evet telnet ile imap için dovecotu kullanarak kullanıcıadımız ve şifremiz ile vpopmaile login de olmayı başardık.
Artık imap/pop/imaps/pops sunucumuz kullanılmaya hazır.
Umarım faydalı bir paylaşım olmuştur, yeni bir yazıda görüşmek dileğiyle…
Dovecot hakkında daha fazla bilgiye ihtiyacınız olursa şu linkten faydanalanabilirsiniz
http://wiki2.dovecot.org/CompilingSource
0 Comments.