3. Dovecot Kurulumu
Dovecot basit, hızlı ve gayet başarılı bir email sunucusu. Kimisi Courier’ı tercih ediyor, ancak ben uzun zamandır bir IMAP kullanıcısı olarak Dovecot’tan çok daha verim aldım diyebilirim, çünkü kendi indexleme sistemi var ve 60 bin kadar mail içerisinden aradığımı kolayca bulabiliyorum.
Şimdi gelelim Dovecot ayarlarına, burada kurcalayacağımız iki tane dosya var. İlki dovecot.conf;
[...]
protocols = imap imaps pop3 pop3s
[...]
disable_plaintext_auth = no
[...]
mail_location = maildir:/home/vmail/%d/%u:LAYOUT=fs
[...]
#passdb pam {
[...pam auth'u kapatmamız lazım, o yüzden
karşılığı olan } işaretini bulmak şart...]
#}
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
[...]
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
[...aşağıdaki ayarları açarak postfix'i SASL için dovecot'a
bağlıyoruz, eğer Cyrus konusunda ısrarlıysanız bu değişikliği
yapmayın...]
socket listen {
client {
path = /var/spool/postfix/private/auth-client
mode = 0660
user = postfix
group = postfix
}
}
Burada yaptığımız ayarlarla Dovecot’u aynı zamanda Postfix’in SASL ihtiyacı için de kullanacağız, böylece Cyrus SASL konfigürasyon işkencesinden de kurtulmuş oluyoruz. En önemli nokta ise -bence- Dovecot’u standart gizli klasörlerle değil değil, FS layout denilen gerçek klasörler isimleriyle çalıştırmak olacak. Böylece .INBOX.Giden gibi abuk klasör isimlerinden ziyade, mail klasörünün altında Giden diye bir klasör bulunacak. Hali hazırda kurulu bir sistemde bu değişikliği yapmak zor olabilir, ancak kesinlikle rahat edeceğinizi düşünüyorum.
Gelelim dovecot-sql.conf ayarlarımıza. Burada dosyanın tamamını aşağıdaki içerikle değiştirerek hızlı bir ayar yapabiliriz;
driver = mysql connect = host=127.0.0.1 dbname=mailAdmin user=root password=zagorTenay password_query = SELECT Username AS user, Password AS password FROM User WHERE Username = '%u' user_query = SELECT '/home/vmail/%d/%n' as home, 'maildir:/home/vmail/%d/%n:LAYOUT=fs:INBOX=/home/vmail/%d/%n' as mail, 5000 as uid, 5000 as gid FROM User WHERE Username = '%u'
MySQL sorgusunda statik ayarlar da yapıyoruz, bunlardan bir tanesi grup ID’si olarak 5000, user ID’si olarak ta 5000 gelmesi, böylece dovecot’un mail klasörlerine yazarken saçmalamaması için çok önemli. Asıl mail klasörümüzü de burada belirtiyoruz; maildir:/home/vmail/%d/%n. %d domain, %n ise domain’den önceki kullanıcı adı oluyor. Yalnız dovecot’a email programımızı kullanarak bağlanmak istediğimizde kullanıcı adımızı mutlaka tam email adresimiz olarak girmeliyiz, yoksa çalışmayacaktır. Diğer bir ayar ise INBOX klasörü ile ilgili, POP3 kullanıcılarını çok enterese etmese de IMAP kullanıcıları için belki değişiklik yapmak gerekebilir, böylece daha okunabilir klasörlere sahip olabilirsiniz. Benim ayarlarımda INBOX= şu şekilde; /home/vmail/%d/%n/INBOX , yalnız aynı şekilde postfix’in mysql-virtual_mailboxes.cf içerisindeki sorgudaki CONCAT kısmının sonundaki ‘/’ içeriğini de ‘/INBOX/’ olarak değiştirmeyi de unutmayın.
Merhaba Öncelikle elinize sağlık çok güzel bi çalışma fakat bütün işlemleri takip ettiğimde outlook da gerekli tanımlamaları yaptım pop3 ve smtp serverı buluyor fakat authentication yapamıyor ve ne mail alıp nede gönderiyor acaba bu konuda bana yardımcı olabilirmisiniz ve webmail konusundada bi yazınız olursa sevinirim.
Kolay gelsin
Merhaba, öncelikle paylaşımınız için teşekkürler, gerçekten çok detaylı anlatmışsınız.
Ben ayarları yaparken mysql erişimimi kaybettim, bu sebepten dolayı mysql i kaldırıp yeniden kurmaya çalıştım ama bir türlü olmadı :( Linuxta yeniyim, konuyla ilgili yardımcı olabilirseniz çok sevinirim.
ps ax | grep -i mysql dediğimde
5095 pts/1 S+ 0:00 grep –color=auto -i mysql diyor
giriş yapmaya çalışınca
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
hatasını veriyor
telnet localhost 3306 dediğimde
Trying ::1…
Trying 127.0.0.1…
telnet: Unable to connect to remote host: Connection refused diyor
/etc/mysql$ cd /etc/init.d/mysql start dediğimde de
bash: cd: /etc/init.d/mysql: No such file or directory hatasını veriyor….
sadece bu bilgilerle bir arıza tespiti yapmak mümkün değil, ancak anladığım kadarı ile mysql paketini yok etmişsiniz. kullandığınız dağıtıma bağlı olarak yeniden kurarsanız tahmin ediyorum bir sıkıntı kalmayacaktır.
Mysql sorunumu halletim ama bu sefer de main.cf ile ilgili sıkıntım var. main.cf ye gerekli eklemeleri yaptığımda 25. port kilitleniyor. ayarları geri kaldırınca düzeliyor. Şimdi onunla uğraşıyorum. Ama benim asıl anlamadığım ben nasıl dışarıya(diğer kullanıcılara ya da başka domainlere) mail yollayacağım, ya da dışarıdan mail alacağım. Bunun için ayrı bir program kullanmam ya da sayfa tasarımı falan mı yapmam lazım.Bu konuyla ilgili de açıklama yapabilir misiniz :)