You are here: Home » Linux » Vpopmail Destekli Dovecot Kurulumu

Vpopmail Destekli Dovecot Kurulumu

13 Mayıs 2011 | Leave a comment(0) Go to comments

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

Filed under

Linux

| Tags:

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.