QmailToaster Kurulumu
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYhIYVTG' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Belki henüz qmail ile ilgili olarak bu tarz tecrübeleri edinmemiş fakat gerekli olan tüm modüllerle birlikte bir qmail sunucusu kurmak ve de bunu bir sürü derleme işlemi ile uğraşmadan hızlıca yapabilmek istiyorsunuzdur, işte qmail toaster tam bu noktada yardımımıza koşuyor.
Aslında, bu zamana kadar hiç qmail toaster kurmamıştım, ancak uzun zamandır duyduğum bir şey olduğundan dolayı bir qmail sunucusuna ilk ihtiyacım olduğu an bir qmail toaster kurulumu yaptım. İşte bu yazıda, centos 5.2 üzerinde yapılan bir qmail toaster kurulumuna ait notları bulabilirsiniz.
Qmail Toaster, derleme işleri ile uğraşmaya gerek kalmaksızın tam teşekküllü bir qmail e-posta sunucusu kurabilmeyi amaçlayan bir oluşum. Gerçekten de gerekli tüm paketlerin indirilmesi, indirilen kaynak kodlarını rpm'e dönüştürülmesi ve sisteme kurulmasını sağlayan scriptler vasıtası ile qmail kurulumunu ciddi anlamda kolaylaştırıyor. Hal böyle olunca sunucunun yönetimi ve update vs. gibi işlemleri de epey kolaylaşıyor.
Bu dökümanda, kurulum ve konfigurasyon ile ilgili ayarların neler olduğunu bulabilirsiniz. Anlatılacak işlemlere ait index aşağıdaki gibidir.
Gereksinimler bölümünde geçmeden önce, qmail toster ile sisteme yüklenecek olan önemli rpm paketlerine ve ne iş yaptıklarına bir bakmak iyi olur;
qmail | Qmail'in ana paketi. |
ucspi-tcp | unix Client-Server program arayüzü. |
daemontools | Servis yönetim araçları. Loglamalar ve servis kontrolu için kullanılır. |
vpopmail | Birden fazla domain için sanal domain desteği sağlar. |
vqadmin | Web tabanlı vpopmail yönetim konsolu. |
qmailadmin | Web tabanlı domain yönetim konsolu. (Tek bir domainin yönetimi) |
spamassassin | Perl tabanlı Spam Filtresi |
clamav | Anti Virüs yazılımı |
simscan | Clamav, Spamassasin ile birlikte çalışabilen içerik filtreleyici. |
maildrop | Maillerin içeriğini tarayarak içerik filtrelemesi yapar. |
qmailmrtg | E-Posta trafiğinin grafiksel verilerini sunar. |
isoqlog | E-posta trafiğinin istatistiksel verilerini sunar. |
ezmlm | Mail list yöneticisi |
courier-imap | Imap Sunucusu |
courier-authlib | Couriter otorizasyon kütüphanesi. |
autorespond | Otomatik cevaplama fasilitesi. (Out of office) |
squirrelmail | Php tabanlı Webmail uygulaması |
control-panel-toaster | Qmail Toaster yönetim paketi. |
Sisteme nelerin yükleneceğine göz attıktan sonra, kurulum adımlarına başlayabiliriz.
Qmail Toster'ı yükleyebilmek için öncesinde gerekli paketlerin sisteminizde kurulu olduğuna emin olmanız ve eksik olan paketleri sisteminize kurmanız gerekiyor. Gereksinim bölümünde nelerin kurulu olması gerektiği ve kurulumları anlatılmaktadır.
GEREKSİNİMLER
Eğer yeni bir centos kurulumu yaparak işe başlayacaksanız, kurulum adımlarından biri olan yazılım paketlerinin seçilmesi kısmında aşağıdaki grupları seçin. Eğer hali hazırda bir centos üzerinde qmail kurulumu yapacaksanız yüklü paketlerin kontrolu ve eksiklerin yum ile kurulumlarını anlatan bir sonraki başlığa geçebilirsiniz.
Yeni CentOS kurulumunda
Software Packages adımında aşağıdaki paket gruplarını seçin.
"Server Configuration Tools" "Web Server"(Optional Packages kısmından "php-mysql" paketini de seçin.) "DNS Name Server"(Networkünüzde bir dns server bulunuyorsa kurmanıza gerek yok.) "FTP Server" "MySQL Database" (Optional Packages kısmından "mysql-bench" paketini de seçin.) "Development Tools" (Optional Packages kısmından "expect" paketini de seçin.) "Administration Tools" "System Tools" (Optional Packages butonuna tıklayıp "mrtg" paketini de seçin.)
CentOS daha önceden kurulmuş ise
Daha önceden kurmuş olduğunuz bir CentOS üzerinde yukarıda bahsi geçen paketlerin kurulu olup olmadığını kontrol edin:
[root@cntvm ~]# yum grouplist
Yukarıdaki komutun çıktısında Installed Groups bölümünde gerekli olan grupların kurulu olduğuna emin olun. Bendeki çıktı aşağıdaki gibi.
Not1: Benim zaten bir DNS sunucum olduğundan dolayı DNS Server grubunu bu makine üzerine kurmadım. Dolayısı ile listede DNS Server grubu görünmüyor.
Not2: Gerekli grupların dışında görünen diper gruplar ise default kurulumda gelmektedir.
Installed Groups: MySQL Database System Tools Legacy Network Server Dialup Networking Support FTP Server Network Servers Legacy Software Development Legacy Software Support Web Server Windows File Server Mail Server Server Configuration Tools Administration Tools
Paket gruplarından eksik olanlar varsa aşağıdaki örnek komutta görüldüğü gibi kurun.
# yum -y groupinstall "MySQL Database"
Eksik grupları kurduktan sonra, gruba dahil olan ama grubun kurulumu sırasında opsiyonel olduklarından dolayı default olarak kurulmayan diğer paketleri kurun.
# yum install php-mysql mysql-bench expect mrtg
Paket kurulumları bittikten sonraki adım, CentOS'un Security Level ve SELinux özelliklerini devre dışı bırakmaktır. Bunun için sisteme setup komutunu verin ve açılan ekranda Firewall Configuration‘ı seçin. Bu kısımda, Security Level ve SELinux'u disabled konumunu getirin.
Gereksinimler ile ilgili bölüm bu kadar.
HAZIRLIK
Şimdiki aşama, paketlerin download edilmesi ve sistemin kuruluma hazır hale getirilmesi için gerekli scriptlerin çalıştırılmasından ibaret.
Sisteme root olarak bağlanın ve paketlerin download edileceği dizini oluşturun.
[root@cntvm ~]# mkdir -p /usr/src/qtms-install
Şimdi bu dizine geçelim ve ilgili scriptleri download edip kurmaya başlayalım.
[root@cntvm ~]# cd /usr/src/qtms-install
cnt50-deps.sh
İlk olarak cnt50-deps.sh isimli scriptin çalıştırılması gerekiyor.
Bu script öncelikli olarak sistem kurulumunda default olarak yüklenen sendmail'i uninstall ediyor. Daha sonrasında ise kurulum için gerekli diğer paketlerin kurulumunu yapıyor.
Aşağıdaki gibi download edebilir ve çalıştırabilirsiniz.
Not: Kurulumu yaptığım CentOS 32bit olarak çalıştığı için ilgili scriptler 32bit CentOS için yazılmışlardır. Eğer siz 64bit kullanıyorsanız, ilgili dosyaların 64bit versiyonlarını http://www.qmailtoaster.com/centos/cnt5064/ adresinden indirmeniz gerekiyor.
[root@cntvm]# wget http://www.qmailtoaster.com/centos/cnt50/cnt50-deps.sh
# sh cnt50-deps.sh
cnt50-perl.sh
İkinci olarak cnt50-perl.sh isimli scripti indirip çalıştırmak gerekiyor. Spamassassin için gerekli olan perl modüllerinin sisteme yüklenmesini sağlıyor.
Not: Scripti çalıştırdığınız zaman manuel kurulum yapıp yapmak istemediğinizi soran bir promt ile karşılaşacaksınız. Buna NO diyin. Ayrıca, sistem kurulum ile ilgili olarak bir kaç soru daha soracak, kısaca enter'a basarak, default kurulumu seçin.
# wget http://www.qmailtoaster.com/centos/cnt50/cnt50-perl.sh
[root@cntvm]# sh cnt50-perl.sh
cnt50-svcs.sh & firewall.sh
Şimdiki aşama, iki farklı script indirip çalıştırarak hazırlığı tamamlamaktan ibaret. Ancak iki scriptte de gerekli değişiklikleri yapmak gerekiyor. Önce download edin.
[root@cntvm]# wget http://www.qmailtoaster.com/centos/cnt50/cnt50-svcs.sh # wget http://www.qmailtoaster.com/centos/cnt50/firewall.sh
İlk script olan cnt50-svcs.sh, temel olarak gereksiz servisleri durdurup gereklileri start ediyor, inittab ve php.ini dosyasını düzenliyor, mysql'in root şifresini set ediyor, (ki ilk kurulumda root şifresi boş olarak gelir) sonrasında qmail'in sanal domain uygulamasını gerçekleştiren vpopmail add-on'u için vpopmail isimli bir database oluşturup gerekli düzenlemeleri yapıyor; firewall.sh ise iptables'a gerekli kuralları giriyor.
Dosyaları download ettiğinize göre editlemeye başlayabilirsiniz.
Öncelikle, cnt50-svcs.sh dosyasını açın burada yapılması gereken iki değişiklik bulunuyor.
Birincisi dosyanın # Set mysql password kısmında bulunan, Mysql Serverın root passwordunun belirleneceği alanı düzenlemek.
Dosya içerisinde aşağıdaki bölümü bulun ve MYSQL_ROOT_PASSWORD ibaresini silerek yerine mysql'iniz için belirleyeceğiniz root şifresini girin.
MYSQLPW=YOUR_MYSQL_ROOT_PASSWORD
İkinici aşama ise, vpopmail için oluşturulacak database'e erişecek olan kullanıcıya ait passwordu belirlemek.
Dosya içerisinde aşağıdaki satırı bulun.
echo “GRANT ALL PRIVILEGES ON vpopmail.* TO vpopmail@localhost IDENTIFIED BY ‘SsEeCcRrEeTt'” | mysql -uroot -p$MYSQLPW
Normalde, bir sonraki adım olan firewall kurallarında mysql'e dışarıdan erişim kapatılacak ancak siz gene de vpopmail db'sine erişecek kullanıcıya ait şifreyi öntanımlı olarak bırakmak istemeyebilirsiniz. Bu nedenle yukarıdaki satırda geçen SsEeCcRrEeTt ibaresini belirlediğiniz şifre ile değiştirin.
Not: Eğer, default passwordu değiştirirseniz, kurulum bittikten sonra, /home/vpopmail/etc/ altında bulunan vpopmail.mysql isimli dosyaya da belirlediğiniz passwordü girmeniz gerekir. Aksi taktirde vpopmail database'e login olamaz.
cnt50-svcs.sh dosyasındaki düzenlemeler bundan ibaret.
Şimdi firewall.sh dosyasını editleyip #Set your IP addres bölümünü bulun ve YOUR_IP_ADDRESS kısmına kendi ip adresinizi yazın. Burda, firewall kurallarının sisteme uygulanması ile ilgili olarak dikkat edilmesi gereken bir konu var. Eğer bulunduğunuz ip networkü 192.168.0.0 ya da 10.0.0.0 gibi iç networkler için ayrılmış olan ip networklerinden biriyse firewall.sh scriptinin çalıştırılmasından sonra sunucu ile bağlantınız kesilebilir. Bu nedenle, firewall.sh dosyasının içerisindeki “## Drop outside packets with local addresses – anti-spoofing measure” satırının altında bulunan kurallardan, kendi ip networkünüzü işaret eden satırı silmeniz gerekiyor.
Örnek olması açısından 192.168.0.0/16 networkü için ilgili satır şu şekilde:
iptables -A INPUT -s 192.168.0.0/16 -i ! lo -j DROP
Not: Halihazırda bir firewall'unuz varsa, o durumda Qmail Sunucusunun üzerinde iptables çalıştırmanıza gerek olmayabilir. Bu durumda cnt50-svcs.sh dosyasının son satırındaki sh firewall.sh satırını silere firewall kurallarının sisteme eklenmesini engelleyebilirsiniz.
cnt50-svcs.sh scritpini aşağıdaki gibi çalıştırdığınız zaman bahsettiğim işlemler gerçekleşecektir. Bu script son işlem adımı olarak firewall ile ilgili scripti de çalıştırdığı için sizin ayrıca firewall.sh dosyasını çalıştırmanıza gerek yoktur.
[root@cntvm]# sh cnt50-svcs.sh
Tüm scriptleri download edip çalıştırdıktan sonra sistemde yüklü tüm paketleri update edin.
[root@cntvm]# yum -y update
Update işlemi bittikten sonra sistemi restart etmek gerekiyor.
[root@cntvm]# reboot
Sistem yeniden başlatıldıktan sonra qmail toaster'in kurulumuna geçebilirsiniz.
KURULUM
Kurulum işlemi de yine scriptler vasıtası ile gerekli paketlerin download edilmesi ve rpm'e dönüştürülerek sisteme kurulmasından ibarettir.
Hazırlık sırasında oluşturduğumuz kurulum dizinine geçin ve gerekli olan paketleri indirecek olan current-download-script.sh dosyasını download ederek çalıştırın.
# cd /usr/src/qtms-install/ # wget http://www.qmailtoaster.com/info/current-download-script.sh # sh current-download-script.sh
Yukarıdaki işlem adımlarını yaptığınız zaman gerekli olan tüm paketler sisteminize download edilmiş olacaktır. Şimdi kuruluma geçebiliriz.
Sistem indirilen paketlereden rpm dosyaları oluşturarak yükleyecek olan scriptin adı, cnt50-install.script.sh dır. Bu scripti indirin.
# wget http://www.qmailtoaster.com/centos/cnt50/cnt50-install-script.sh
Daha sonra çalıştırın. Scripti çalıştırdığınızda adım adım kurulacak paketler görüntülenecek ve sistem sizen onay isteyecektir. Enter'a basıp ilerleyin. Bu şekilde default yanıt olan evet'i seçmiş olursunuz. Bunun dışında eğer kurulacağı söylenen paketi yüklemek istemiyorsanız s tuşuna basarak skip edebilir ve ilgili paketi atlayarak kuruluma devam edebilirsiniz. No demeniz durumunda ise kurulum sonlandırılacaktır.
[root@cntvm]# sh cnt50-install-script.sh
Yukarıdaki komutu vererek işlem adımlarını gerçekleştirdiğiniz zaman qmail toaster ile ilgili tüm rpm paketleri sisteminize yüklenmiş olacaktır.Bu şekilde kurulumu gerçekleştirmiş olacaksınız.
Bilgi olması açısından bu scriptin ne yaptığına biraz değinmek istiyorum. Script aslen, bir önceki script vasıtası ile download edilmiş olan source rpm paketlerini sisteme yüklüyor ve bu kaynak kodları kullanarak her bir qmail bileşeni için rpm paketleri üretip sistem yüklüyor. Bu şekilde qmail sunucunuz tamamen rpm tabanlı bir kuruluma sahip oluyor. Kurulumların rpm olmasından dolayı, update, uninstall vs. gibi işlemler de çok basitleşmiş oluyor. Herhangi bir bileşene ait update paketi çıktığı zaman yapmanız gereken tek şey ilgili paketi download ederek rpm -Uvh paket-adı komutu ile update etmek oluyor. Bu anlamda oldukça zaman kazandırıcı bir durum.
Neyse, kurulumlar bittikten sonra yapılandırma ve yönetimsel konular bölümüne geçelim.
KURULUMUN TAMAMLANMASI
Kurulumların ardından sistemin restart edilmesinden sonra otomatik olarak çalıştırılması gereken servislerin durumunu kontrol edelim.
Sisteme setup komutunu vererek Text Mode Setup Utility aracını çalıştırın. Açılan grafiksel ekran da işletim sistemi ile ilgili temel işlemlerin yapılabildiği bu grafiksel ekrandan System services bölümüne geçin ve aşağıdaki servislerin seçili olduğuna emin olun.
acpid anacron atd autofs cpuspeed crond freshclam haldaemon httpd iptables kudzu messagebus mysqld network ntpd qmail smartd sshd syslog xinet irqbalance (eğer dual işlemciniz varsa) xfs (eğer x windows kullanıyorsanız)
Not: xinetd sisteminizde yüklü olmayabilir. Xinet, courier tarafından gereksinim duyulan bir servis olduğundan dolayı ayrıca yüklemenizi tavsiye ederim. yum -y install xinetd komutu ile kurabilirsiniz.
Açılışta başlatılması gereken servislerin kontrolünü yaptıktan sonra, herşeyin yolunda gittiğinden emin olmak için sisteminizi bir kez daha restart edin.
# reboot
Sistem açıldıktan sonra qmail servislerinin durumunu kontrol edelim. Normal şartlarda sorunsuz bir kurulumun ve restart'ın ardından qmailctl stat komutunu verdiğiniz zaman aşağıdakine benzer bir çıktı almanız gerekir.
# qmailctl stat authlib: up (pid 1945) 124 seconds clamd: up (pid 1926) 125 seconds imap4: up (pid 1941) 125 seconds imap4-ssl: up (pid 1938) 125 seconds pop3: up (pid 1939) 125 seconds pop3-ssl: up (pid 1942) 124 seconds send: up (pid 1937) 125 seconds smtp: up (pid 1940) 125 seconds spamd: up (pid 1920) 125 seconds submission: up (pid 1943) 124 seconds authlib/log: up (pid 1925) 125 seconds clamd/log: up (pid 1923) 125 seconds imap4/log: up (pid 1919) 125 seconds imap4-ssl/log: up (pid 1917) 125 seconds pop3/log: up (pid 1924) 125 seconds pop3-ssl/log: up (pid 1916) 125 seconds send/log: up (pid 1915) 125 seconds smtp/log: up (pid 1918) 125 seconds spamd/log: up (pid 1921) 125 seconds submission/log: up (pid 1922) 125 seconds
Görüldüğü üzere qmail'e ait tüm servisler (up) görünüyor.
Şimdi sisteme yeni bir domain ve kullanıcı ekleyelim. Aşağıdaki adımları uygulayarak bu işlemi gerçekleştirebilirsiniz.
# cd ~vpopmail/bin/ # ./vadddomain domain-ismi.com sifre # ./vadduser [email protected] sifre
Qmail Toaster'in sunucu yönetimi ile ilgili güzel bir web tabanlı paneli bulunuyor. Bu panele erişebilmek için öncelikle php ayarlarında bir defaya mahsus küçük bir değişiklik yapmak gerekiyor. Sonra bu ayarı geri alacağız.
/etc dizini altındaki php.ini dosyasını editleyin ve register_globals değerini On yapın ve service httpd restart komutu ile apache'yi restart edin. (Bu ayar default olarak Off durumdadır.) Daha sonra bir web browser kullanarak aşağıdaki şekilde panele erişim sağlayabilirsiniz.
http://server-ip-adresi/admin-toaster/ Kullanıcı: admin Şifre: toaster
Yönetim konsoluna bağlandıktan sonra şifrenizi değiştirin.
Bu konsolda kısaca, domain ve kullanıcı yönetimi için kullanılan vqadmin ve (tek bir domain için yönetim sağlayan) qmailadmin, log analizi yaparak e-posta trafiğinin istatistiğini tutan isoqlog ve gene log analizi yaparak e-posta trafiğini grafiksel olarak gösteren qmailmrtg sayfalarını görüntüleyebilirsiniz.
Not: Eğer isoqlog sayfasına girdiğiniz zaman hata alıyorsanız aşağıdaki komutu çalıştırarak tekrar giriş yapmanız gerekir.
[root@cntvm bin]# sh /usr/share/toaster/isoqlog/bin/cron.sh
Bu komut /etc/isoqlog dizini altında bulunan isoqlog.domains dosyasına sisteme eklenmiş olan domainlerin adının eklenmesini sağlar ve ilgili domainler için isoqlog'un analiz yaparak aktivitenin raporlanacağı html sayfalarını oluşturur. Isoqlog'a ilk erişmeye çalıştığınız zaman almanızın muhtemel olduğu hata da bu html dosyalarının oluşturulmamış olmasından kaynaklanır.
Yeni bir domain açtığınız zaman, bu domain isminin ilgili dosyaya eklenmesi ve html dosyalarının periyodik olarak oluşturulması için aşağıdaki cron satırını sisteme ekleyebilirsiniz.
59 * * * * /usr/share/toaster/isoqlog/bin/cron.sh
Böylece saat başı script çalıştırılacak ve domain update işlemi yapılacaktır.
Yönetim konsoluna göz attıktan ve isoqlog ile ilgili ayarları yaptıktan sonra, son olarak php.ini içerisinde On durumuna getirdiğimiz register_globals değerini Off duruma getirin ve service httpd restart komutu ile apacheyi yeniden başlatın.
Kurulum ve yapılandırma ile ilgili adımlar bu kadar.
YAPILANDIRMA
Artık, qmail ve bileşenleri ile ilgili temel ayar dosyalarına göz atabiliriz.
Qmail, bir çok yapılandırma dosyası ile gelir ve bu ayarlara ait hemen her yapılandırma dosyası /var/qmail/control dizininde bulunur. Asağıdaki tabloda Qmail'in ve qmail toaster ile kurulan bileşenlere ait yapılandırma dosyaları görülmektedir. Bu dosyaların detayları aşağıda ayrıca verilmiştir.
badloadertypes | İstenmeyen loader type'ların burada belirlenir. |
badmailfrom | İstenmeyen gönderici adreslerininbu dosyada belirlenir. |
badmailto | İstenmeyen alıcı adresleri tanımlanır. |
badmimetypes | İstenmeyen MIME Type'lar belirlenir. |
blacklists | RBL kontrolunun yapılacağı BlackList adresleri burada tanımlanır. |
clientcert.pem | servercert.pem dosyasına linklidir. (bkz: servercert.pem) |
servercert.pem | TLS bağlantıları için sertifika ve private key'in bulunduğu dosya. |
concurrencyincoming | Eş zamanlı gelen smtp bağlantı sayısının belirlendiği dosya. |
concurrencyremote | Eş zamanlı gönderilebilecek posta adedinin belirlendiği dosya. |
databytes | Bir e-postanın olabileceği maksimum boyut değeri. |
defaultdelivery | Mailbox yapısının belirlendiği dosya. |
defaultdomain | Sunucunun ön tanımlı alan adının belirlendiği dosya. |
defaulthost | Ön tanımlı sunucu host adı. |
dh1024.pem | TLS bağlantıları için 1024 bit'lik key |
dh512.pem | TSL için 512 bit'lik key. |
domainkeys/ | Domain anahtarlarının konumlandığı dizin. (Domainkey'e değinmeyeceğim.) |
locals | Sunucuya ait local host isimlerinin tanımlandığı dosya. |
logcount | Multilog için log rotate değeri. |
logsize | Current isimli log dosyasının ulaşabileceği maksimum değer. |
me | Sunucunun tam etki alan adı (FQDN) |
queuelifetime | Maillerin kuyrukra bekleme süresi. |
rcpthosts | Sunucunun kabul edeceği maillere ait domainlerin listelendiği dosya. |
rsa512.pem | TLS bağlantısı için 512 bit RSA key |
simcontrol | ClamAv, Spamassasin ve Attachment block için simscan conf dosyası. |
simcontrol.cdb | Simscan db'si. |
simversions.cdb | Simscan versiyon db'si |
smtpgreeting | Sunucunun smtp bağlantıları için selamlama mesajı |
smtproutes | Maillerin başka posta sunucusuna yönlendirilmesi için kullanılan dosya. |
spfbehavior | Spf check level'ının belirtildiği dosya. |
tlsclientciphers | OpenSSL client cipher stringleri |
tlsserverciphers | OpenSSL server cipher stringleri |
virtualdomains | Sisteme eklenen sanal domainler. |
Sunucunun özelleştirilmesi ile ilgili yapılabilecek bu control dosyalarını detayları şöyledir.
badloadertypes
Engellenmesi istenen base64 encoded Loader tipleri bu dosya içerisinde belirtebilirsiniz. Böylece, qmail-smtpd gelen maillerde istenmeyen bir loader type belirlemesi durumunda ilgili postayı reject edecektir. Ayrıca, dizinde badloadertypes.cdb isimli bir database dosyası bulunur. badloadretypes dosyasında belirtilmiş satırların bu db dosyasına işlenmiş olması gerekiyor. Dosyaya herhangi bir loader type ismi girdiğiniz zamam qmailctl cdb komutu ile bu işlemi gerçekleştirmeniz gerekir.
badmailfrom
İsminden de anlaşılacağı üzere, sunucunuza e-posta göndermesine isim vermediğiniz domainleri ya da e-posta adreslerini bu dosyaya ekleyebilirsiniz. Bu dosyaya ekli satırlar qmail-smtpd tarafından kontrol edilir ve uyan bir mail varsa reject edilir. Örneğin dosyaya @domain.com yazdığınız da, domain.com uzantılı e-mail adreslerinden sunucunuza mail atılamaz. domain adları ya da e-posta adresleri satır satır yazılmalıdır.
badmailto
Format ve çalışma mantığı bakımından badmailfrom ile aynıdır. Ancak alıcı e-posta ya da domainlerine yasaklama yapmak için kullanılır.
badmimetypes
e-posta'ların mime type'larına göre filtrelenebilmesini sağlar. İstenmeyen mime type'lar bu dosya da belirlenerek, içeriğinde bu mime tiplerinin bulunduğu maillerin qmail-smtpd tarafından reject edilmesi sağlanır. Bu şekilde attachment filtrelemesi de yapabilirsiniz. Aynı dizinde, bu dosyanın bilgilerinin tutulduğu badmimetypes.cdb isimli bir db dosyası bulunur. Dosya içerisinde yapılan ekleme çıkarmalardan sonra gene qmailctl cdb komutu ile değişikliklerin db'ye işlenmesi sağlanmalıdır.
blacklists
Smtp bağlantılarının kurulduğu ip'lerin taranacağı black listleri bu dosyada belirleyebilirsiniz. Ön tanımlı olarak dosyanın içeriği şu şekildedir; -r zen.spamhaus.org ve zen.spamhaus.org black list'i kullanılmaktadır; Birden fazla black list adresi girmek için ard arda -r blacklist1-domain -r blacklist2-domain şeklinde bir giriş yapılabilir. Dosyanın tek bir satırdan ibaret olması gerekmektedir. Doğru bir örnek aşağıdaki gibidir.
-r zen.spamhaus.org -r list.dsbl.org -r combined.njabl.org
Belli ip adreslerinden yapılan bağlantılar için RBL check işlemi yapmak istememniz durumunda, /etc/tcprules.d/tcp.smtp dosyasını editleyerek aşağıdakine benzer bir satır girebilirsiniz.
192.168.1.:allow,RELAYCLIENT="",DKSIGN="/var/qmail/control/domainkeys/%/private",RBLSMTPD=""
Yukardaki satır 192.168.1.0/24 ip networkünden kurulacak smtp bağlantıları için rblcheck işleminin yapılmamasını söylemektedir.
tcp.smtp dosyanızı editledikten sonra, değişikliklerin aktif olması için qmailctl cdb komutunu çalıştırmanız ve /etc/tcprules.d/ dizini altında bulunan tcp.smtp.cdb isimli db dosyasının güncellenmesini sağlamanız gerekmektedir.
clientcert.pem
Bu dosya, TLS bağlantılarında kullanılan SSL sertifikasını içermektedir ve aslında servercert.pem isimli dosyayı gösteren sembolik bir linktir. Kurulum sırasında otomatik olarak oluşturulmuştur.
servercert.pem
Encrypted TLS bağlantılarında client'a gönderilen SSL certifikasını içermektedir. İçerisinde hem sertifika hem de private key bulunur. Eğer bu dosya sunucuda bulunmazsa, TLS özelliği devre dışı bırakılır. Herhangi bir SSL sertifikası almanız durumunda, ilgili sertifikayı bu dosyaya ekleyebilirsiniz.
concurrencyincoming
Eş zamanlı olarak gelen maksimım smtp bağlantı adedinin belirlendiği dosyadır. Ön tanımlı olarak 100'dür. Yani sunucunuz aynı anda 100 adet smtp bağlantısına izin verir.
concurrencyremote
Eş zamanlı olarak giden maksimum smtp bağlantıları da bu dosya içerisinde belirlenmektedir. Qmail Toaster kurulumunda ön tanımlı değer 60'dır. Ancak paketin derlenmesi sırasında bu sayının maksimum 509 adede kadar çıkarılması için gerekli patch uygulanmıştır.
databytes
Bir e-postanın en fazla ne kadar büyük olabileceği bu dosyada tanımlanır. Ön tanımlı olarak 20Mbyte'tır.
defaultdelivery
Sunucunun mailbox tipini belirlemek üzere kullanılır. Genel geçer formak uzun zamandır maildir yapısı olduğundan dolayı qmail toaster da bu yapıyı kullanmaktadır. Kullanıcıların posta kutuları /home/vpopmail/domains///Maildir/ şeklinde tutulur. Kullanıcıya gelen mailler bu dizin altındaki new klasörüne konulur.
dh1024.pem
TLS bağlantıları için 1024 bitlik DH parametresi sunar.
dh512.pem
512'lik DH parametreleri
logcount
Qmail log dosyalarının maksimum kaç adet olabileceğinin belirlendiği dosyadır. Multilog bu değerden hareketle eski log dosyalarını siler. Qmail toaster bu değeri 100 olarak set etmektedir.
logsize
Bu dosyada ise log dosyalarının büyüklüklerinin maksimum değerleri belirlenmektedir. Ön tanımlı olarak yaklaşık 1Mb olarak set edilir.
queuelifetime
Qmail'in, gönderimi başarısız olan mailleri tekrar göndermeyi ne kadar süreyle deneyeceğini bu dosya içerisinden belirtebilirsiniz. Normalde bu değer 604800 saniye (bir hafta) olarak girilmiştir. Qmail Toaster bu değeri 86400 saniye (1 gün) olarak set ediyor. Eğer sunucunuz bir e-posta iletimi için uzaktaki ilgili smtp sunucusuna bağlanamazsa, maili bu değer süresince kuyruğunda tutar ve gönderimi periyodik aralıklarla tekrarlar. Süre sonunda mail gönderilememişse mailin göndericisine hata döndürerek durumu iletir.
rcpthosts
Bu dosya, sisteme eklenmiş olan tüm domainlerin bilgisini tutmaktadır. Sisteme herhangi bir domain eklendiğinde, domain ismi otomatik olarak bu dosyaya da eklenmektedir. Böylece qmail bu dosya içerisindeki domainlere gelen e-postaları kabul eder. Eğer dosyada adı geçmeyen bir domain'e ait bir adrese mail atılırsa qmail-smtpd ilgili maili reject eder. Sisteminizde açılmamış bir domaini bu dosyaya ekler ve bir mail atarsanız, qmail bu dosyadan hareketle gelen maili kabul edecek ancak üzerinde bu domaine ait herhangi bir kayıt bulunmadığından dolayı (domainin ilk MX kaydına bakarak) maili ana mail sunucuya iletecektir. Eğer ana mail sunucuya erişelemiyorsa queuelifetime süresince, 5'er dakikalik aralıklarla maili tekrar göndermeyi deneyecektir. Başarısız olursa maili gönderene bir hata mesaji yollayarak durumu bildirecektir.
rsa512.pem
TLS bağlantılar için kurulum sırasında oluşturulan 512 bit'lik bir RSA key.
simscan (simcontrol, simcontrol.cdb, simversion.cdv)
Simscan, vpopmail'i de geliştiren Inter7'nin yazdığı bir mail tarayıcı programıdır. Sunucuya bir mail geldiği zaman qmail-smtpd tarafından çalıştırılan simscan gelen dosyayı geçici bir alanda (qmail toaster ile kurulan paketlerden biri olan) ripemime isimli yazılımı kullanarak başlık, veri bölümü ve dosya eki olarak parçalara ayırarak içerik kontrolü yapar. Eğer mailin içerisinde engellenmesi belirtilen bir eklenti dosyası varsa oluşturduğu geçici dosyayı siler ve qmail-smtpd'ye maili reject edilmesini söyler. Ayrıca clamav süreci simscan'ın bir parçası olarak çalışmaktadır. Dolayısı ile simscan dizinindaki dosyalar clamav tarafından taranır ve sonuç bilgisi simscan tarafından alınır eğer mail virüs içeriyorsa qmail-smtpd'ye mailin reddedilmesini söyler. Bunun dışında, qmail toaster kurulumunda simscan spamassassin ile de birlikte çalışacak şekilde derlenmiştir. Bu nedenle gelen maillerin spamassassin tarafından yapılan analiz sonuçlarını da alarak spam olarak işaretlenmiş maillerin reddeilmesini sağlar.
Simscan ile ilgili tüm ayarlar simcontrol dosyası üzerinde yapılmaktadır. Dosyayı editlediğiniz zaman içeriğinin aşağıdaki gibi olduğunu görürsünüz.
:clam=yes,spam=yes,spam_hits=12,attach=.mp3:.src:.bat:.pif
Öntanımlı olarak oluşturulan bu dosya içeriğinde, maillerin clam ve spamassassin ile taranması, spam score'u 12 ve üstünde olan maillerin reddedilmesi belirtilmektedir. Ayrıca, engellenecek attachmentlar da burada belirtilmektedir.
Bu dosya içerisinde simscan'in farklı domain ya da kullanıcılar için nasıl davranacağını ayrı ayrı belirtebilirsiniz. Aşağıdaki örnek daha iyi kavramak için epey güzel.
[email protected]:clam=yes,spam=no,attach=.txt:.com example.com:clam=no,spam=yes,attach=.mp3 :clam=yes,spam=yes,spam_hits=5
Yukarıdaki satırların mealleri şöyle;
[email protected] adresine atılacak mailler için virüs taraması yapılsım, spam kontrolu yapılmasın. Ayrıca, txt ve .com uzantılı dosyaların gönderimi yasaklansın.
example.com domaini altında bulunan kullanıcılar için (postmaster hariç) virüs kontrolü yapılmasın, spam kontrolü yapılsun, .mp3 uzantılı dosyalar kabul edilmesin.
Yukarıdaki iki satırda belirtilen user ve kullanıcıya atılmamış olan diğer tüm e-mailler için virus ve spam kontrolü yapılsın, spam score'u 5 olan mailler silinsin. attachment kontrolü yapılmasın.
simcontrol dosyasını özelleştirmek için yukarıdaki örnek takip edilebilir.
Simscan'in control dosyasından hariç olarak aynı dizinde, simcontrol.cdb ve simversion.cdb isimli iki dosya daha bulunmaktadır. Bunlardan birincisi kuralları ikincisi de simscan, clamav ve spamassassin'in versiyon bilgilerini tutan cdb dosyalarıdır. Kuralları ya da spamassassin ve ya clamav'ı update ederseniz gene qmailctl cdb komutunu çalıştırarak değişikliklerin db dosyalarına kaydedilmesini sağlamanız gerekir.
smtpgreeting
Bu dosyada, sunucuta smtp bağlantısı sağlandığı zaman gönderilen karşılama mesajı bulunmaktadır. Farklı bir karşılama mesajı döndürmek istiyorsanız içeriğini değiştirebilirsiniz.
smtproutes
smtp routes dosyası gelen e-postaların farklı mail sunuculara yönlendirilmesini sağlayan bir dosyadır. Örneğin, bir domaininize gelen mailer için qmail toaster'i sadece spam ve virus taramasından geçirilmek üzere kullanmak isteyebilirsiniz. Bu durumda, smtproutes dosyasına domain_adı:ip_adresi şeklinde bir satır girebilirsiniz. Gelen mailler tarandıktan sonra ilgili ip adresine yönlendirilirler. (domaini rcpthosts dosyasına yazmanız da gerekir.) Bunun dışında birden fazla MX kaydı olan domainlere gidecek maillerin hangi sunucuya gideceğini de aynı şekilde ayarlayabilirsiniz.
Ayrıca, qmail-remote-auth patch'i toaster kurulumunda yüklenmiş olduğundan dolayı yönlendireceğiniz mailler için aşağıdaki gibi bir satır ile auth işlemi de yapabilirsiniz:
domain.com:yönlenecek_ip_adresi kullanıcıadı şifre
virtualdomains
Bu dosyaya eklemeler vpopmail tarafından otomatik olarak yapılır ve qmail-send'in bu domainleri gelen maillere local domain olarak davranması sağlanır. (Konu biraz havada kaldı ama bu dosyayı editlemenize pek gerek yok.)
Qmail'in toaster ile birlikte kurulan önemli yapılandırma dosyaları bunlardan ibaret. Sunucunuzda özelleştirme yapmak istemeniz durumunda işinize yarayacak dosyalar hemen hemen bunlardır.
Yapılandırma ile ilgili olarak detaylı bilgiye http://wiki.qmailtoaster.com/index.php/Configuration adresinden ulaşabilirsiniz.
Son olarak, qmail toaster için güzel bir eklenti olan qmailtoaster-plus isimli paketten bahsetmek istiyorum.
Bu paket, görsel bir menü sunarak, qmail-toaster'in yönetimini epey kolaylaştıran özellikler sunuyor ve ayrıca alternatif webmail arayüzü, filtreleme yazılımı vs. gibi ek paketleri kolayca sisteme entegre edebilmenizi sağlıyor.
Mesela, içerisinde qtp-newmodel denilen bir update scripti bulunuyor ki bu çok işinize yarayacaktır. Bu aracı komut satırında qtp-newmodel diyerek çalıştırdığınız zaman sistemde kurulu paketlerin güncel versiyonlarını kontrol ediyor ve yeni versiyonlar olması durumunda update işlemi yapıyor. Özellikle clamav sürekli engine güncellemesi yaptığı için çok qtp-newmodel epey işinize yarayacaktır.
qtp'yi kurmak için aşağıdaki adımları takip edebilirsiniz.
Öncelikle, qtp'nin rpm'lerine ulaşabileceğiniz yum deposunu kurun.
[root@cntvm updates]# rpm -Uvh http://qtp.qmailtoaster.com/trac/downloads/1
Daha sonra bu depoda bulunan qtp'yi yükleyin.
[root@cntvm updates]# yum install qmailtoaster-plus
Kurulum tamamlandıktan sonra qtp-menu komutu ile işlem menüsünü çalıştırabilirsiniz. qtp-menu kullanılarak sisteme spamdyke gibi gelişmiş ek spam filteleri kolayca eklenebiliyor. Bu nedenle kesinlikle tavsiye ettiğim güzel bir uygulamadır.
Detaylı bilgi için http://qtp.qmailtoaster.com/trac adresine bakabilirsiniz.
Kurulum ve yapılandırma ile ilgili hemen herşey bu kadar. Siz de bir kurulum yaparak biraz mıncıklayabilir ve detaylara inebilirsiniz. Gerçekten toaster ile herşey epey kolaylaşıyor.
CentOS harici bir dağıtım kullanıyorsanız http://wiki.qmailtoaster.com/index.php adresinde bir çok dağıtıma ait kurulum dökümanı bulunuyor. Bakmanızı tavsite ederim.
Bu yazılar da ilginizi çekebilir:
- Spamdyke – Spam filter for qmail
- qmail Kurulum Scripti
- Qmail Log Dosyalarının Ebatını Arttırmak
- qmail Kurulum Scripti v0.2 – CentOS 5.4
- Qmail/Vpopmail Clustering
Yorumlar
Trackbacks
Yorumda bulunun.
Harika anlatım için teşekkürler
[Cevapla]
Merhaba,
oncelikle emeginize saglik.
Ben de CentOS ile yeni tanisanlardanim ve QMail i mail server olarak kullanmak uzere kurulum yapmaya karar verdim. Onerdiginiz kurulum sırasını harfiyen uygulamaya basladim. Ama cnt50-install scriptini calistiridigimda bazi RPM lerin kurulmasına sorun oldugunu fark ettim ve tek tek hataları not aldim. Bu hatalar asagida. dosyalara baktigimda bu RPM ler ilgili yerlerde paket olarak duruyor. Manual kurmayi deniyorum ama yinede basarili olamadim.
[Cevapla]
Ahmet bey,
Zannedersem kurulum sirasinda atladiginiz adimlar olmus. Tekrar goz atarsaniz hata yaptiginiz yerleri saptayabilirsiniz.
[Cevapla]
Merhaba,
Öncelikle açıklayıcı makale için teşekkürler. Bir kaç açıklamam ve sorum olacak. Kurulum tamamlandıkta sonra mail hesaplarını outlok ta kullanmak isterseniz 995 ve 587 (pop3-smtp) portlarnı kullanarak mail gönderebiliyorusnuz (Av. taraması ve güvenlik sertifakasını doğrulayarak mail gönderiyor) Bu nottan sonra soruma geleyim.
Qmaitoaster standart kurulum gayet iyi ve stabil olarak çalıştı sorun yok. Ancak qmailtoaster-plus paketindeki spamdyke kurduktan sonra işler çığrından çıktı. Webmail sunucunsan mail gönderememe ve outlooktan mail gönderme ve alma bayağı bir yavaşladı. Bir mail (özellikle almakiçin) 30 sn bekleniyor. Bu spamdyke ‘ı sistemden kaldırmayı başaramadım. Sistemi ilk kurduğum hale getirebilirmiyim? saygılar…
[Cevapla]
Tekrar merhaba,
Problemi çözdüm ve sizinle paylaşmak istedim.
1)/etc/tcprules.d/tcp.smtp dosyasını;
2)/var/qmail/supervise/smtp/run dosyasını ;
oalrak değiştiriyoruz , sonra qmailctl restart ve qmailctl cdb . Kolay gelsin.
[Cevapla]
Geçmiş olsun :)
[Cevapla]
Merhaba,
Domainkey in ne gibi avantajları var, yani olsada olur olmasada olurmu yoksa olması gereken bir eklentimi ?
[Cevapla]
Olmasa olur elbet.
Domainkeys, kabaca soylemek gerekirse DNS sorguları üzerinden saglanan bir kimlik doğrulama sistemi. Yani size gelen bir mailin, gercekten o kisiden gelip gelmedigini tespit edebilmenizi sağlıyor. Sanırım bu özelliği yahoo aktif olarak kullanıyor ama gmail kontrol etmesine rağmen blocklama işlemi yapmıyor.
Biraz uzun bir konu; detay için aşağıdaki linkten yararlanabilirsiniz:
http://en.wikipedia.org/wiki/DomainKeys
Selamlar.
[Cevapla]
Selam Arkadaşım. Kurulumu başarılı bir şekilde gerçekleştidim. dışarıya mail gondermede problemim yok. Yalnız Mail hiç bir şekilde alamıyorum. Olası neden ne olabilir. Yardımların için şimdiden tşk ederim
[Cevapla]
Bir çok nedeni olabilir, log dosyalarinizi kontrol edin ve dns ayarlarinizin duzgun oldugundan emin olun!
[Cevapla]
Merhaba
# ./vadddomain domain-ismi.com sifre sekmesinde “Error – no authentication database connection. Initial open” hatası alıyorum Aşağıdaki işlemleri yaptığım halde çözüm bulamadım yardımınızı bekliyorum
mysql> create database vpopmail;
mysql>grant all on vpopmail.* to vpopmail_user@localhost identified by
“vpopmail_password”;
* nano ~vpopmail/etc/vpopmail.mysql
ocalhost|0|vpopmail_user|vpopmail_password|vpopmail
[Cevapla]
Selamlar,
vpopmail/etc/vpopmail.mysql dosyasinin icerisinde localhost yerine ocalhost yaziyor.
Kopyala yapistir sirasinda hata yapmadiysaniz dosyada localhost yazmasi gerekir.
[Cevapla]
Özür dilerim ama buraya kopyalarken yaptığım bir hatadır satır aynen aşağıdaki gibidir
localhost|0|vpopmail_user|vpopmail_password|vpopmail
iyi günler
[Cevapla]
Tahmin ettiginiz gibi sorun mysql’e baglanti kurmak ile alakali bir sey. Muhtemelen gozunuzden kucuk bir ayrinti kacti.
Ayni kullanici adi ve sifre ile mysql’e baglanip baglanamadiginizi kontrol eder misiniz?
Tam olarak asagidaki komutu kullanabilirsiniz.
Bu arada, mysql user ve password’unu yazida yayinlandigi gibi kullanmissiniz, onu da guvenlik acisindan duzeltmenizi oneririm.
[Cevapla]
merhaba yazıda kullanmadım sadece örnek olarak verdim.
Kurulumu terar ettim ama bu sefer “cnt50-svcs.sh” “# Set mysql password ” kısmını editlemeden default olarak bıraktım hiçbir sorun çıkmadı bu sefer seklemeri rahatça tamamladım.
Bu işlemi kurulum bittikten sonra yapmamız mümkünmü ve nasıl yardımcı olabilirmisin
[Cevapla]
Merhaba,
Herhangi bir sekilde editleme yapmazsaniz mysql root sifresi bos ve vpopmail db’sine ait user SsEeCcRREeTt olarak kaliyor bu sekilde sorun yasamiyorsunuz.
Ozellikle SsEeCcRREeTt ibaresini degistirirseniz kurulumdan sonra home/vpopmail/etc/ altında bulunan vpopmail.mysql dosyasi icinden de sifre alaninda bu degisikligi yapmaniz gerekiyor.
[Cevapla]
merhabalar.böyle değerli bir bilgiyi bedava sundugunuz için sağ olun.
benim bir kaç noktada sorularım olucak size müsadenizle.birincisi http://server-ip-adresi/admin-toaster/ yazıp arayüz ekranına baglandıgım zaman qmail admin bölümüne tıkladıgımda port 80 uyarısı alıyorum.daha ben dns imi ve dış dunyaya tanıtmadım ki bu uyarıyı aliym.bunun nedeni nedir.
birde centos makinanın dns i bende microsoft server 2003 de.2003 dns üzerinde daha önceden centosun adını değiştirip qmail koymuştum.ve bu isimde bir host a kaydı açıp ipsinide centos un ipsi verdim.
localhost.localadmin diye bir pc ismi var centosda buna dokunmamamızmı gerekiyor yoksa ben
im gibi değiştirsek problem olurmu.birde dns makinam nete çıkarıyor centosu ve kendisini ama nslookup yazdıgımda kendi dns alanına ait bilgiyi bana vermiyor bu neden olabilir.
ikinci probleme gelirsek
# cd ~vpopmail/bin/
# ./vadddomain domain-ismi.com sifre
# ./vadduser [email protected] sifre
bu konu yazdıgımda domain ismi alanına microsoft dns ismimi yazıyorum aynı burdaki gibi ama comman not found uyarısı alıyorum.
bu komutu sisteme kabul ettirmeden qmailadmin bölümüne arayüzden tıkladıgımızda giremiyor muyuz.
son bir soru daha soriym zira ben böyle bir blog görmedim harbiden teşekkürler.
bende red hat enterprise 5 var.bu sürüm bedava ve x86 tabanlı.
aynı scriptler redhat da işe yarar mı ?
iyi günler
[Cevapla]
Aldğınız hataları daha detaylı paylaşabilirseniz yardımcı olmaya çalışırım. Sorunuzu tam olarak anlayamadım zira. Port 80 hatası tam olarak nedir ?
Bu arada x86 için olan scriptler mevcut. Bunlari indirerek RHEL üzerine de kurulum yapabilirsiniz. Yazıda download linkleri mevcut.
[Cevapla]
Cagri bey bende bir yildan beridir sizin bu yazinizin klavuzlugu ile kurdugum mail sunucumu kullaniyordum, ancak dunden bu yana clamd servisinde olusna bir sorun nedeniyle kullanmaz oldum, yardimci olursaniz sevinirim.mail gondermek istedigimde
“An error occurred while sending mail. The mail server responded: mail server temporarily rejected message (#4.3.0). Please check the message and try again.”
seklinde bir hata aliyorum bunu irdeledigimde ise, clamd servisinin durdugunu goruyorum.
[Cevapla]
Merhaba,
Bugun posta listelerinde bir kaç arkadal aynı konuyla ilgili problem bildirdiler, zannedersem qmailtoaster’in güncel clamav rpm paketinde bir sorun var. Muhtemelen bir bug.
Siz clamav güncellemesi yaptiniz mi ?
[Cevapla]
Belki sunu da bir incelemek istersiniz:
http://www.mail-archive.com/[email protected]/msg04323.html
Alakası var mıdır bilmem ama bir göz atın.
[Cevapla]
Hocam Merhaba,
Makalenizdeki kurulum ile mail sunucumuzu kullanmaktayiz. Bazi domainler bize, bazen biz başka domainlere mail gonderememe-alamama gibi problemler ile karsilasabiliyoruz. Mail gonderemeyen siteleri; “/etc/tcprules.d/tcp.smtp” dosyasindan “ipadresi:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″” satiri ile erisim veriyoruz. Ancak bazi domainler varki, bunlara ne yapsak ta maiiler 1 gun sonra ulasiyor. Ozellikle koc.net sistemindeki hesaplara. Biraz incelemem sonucu; koc.net mail sunucularinin birden fazla oldugu , ve o an (yada o gun) hangisi musaitse sistemin “random” olarak osunucudan mail alip-gonderdigini tespit ettim. Haliyle bizim mail sistemdeki korumalar da bundan dolayi ariza cikartiyor. “/etc/tcprules.d/tcp.smtp” dosyamiza firmanin kullandigi tum ip gruplarina izin verdim, hatta spf kontrolunu bile devre disi biraktim bir gelisme olmadi. Mailler 1 gun sureyle gidiyor. He, bazen aninda gittigide oluyor ama cok nadir. Sorunu koc.net teki arkadasla da gorusunce birde su olayi yakaldik; koc.net teki serverler random degisince haliyle mx kayitlrida degisiyor. Benim kullandigim ns eger o anda xxx.com un dns ini guncellemdiyse, haliyle mx sorgusu donmuyor. Kisacasi siz bu olaylara sahit olmus, tecrube etmissinizdir. Onerebileceginiz cozumlerinizi bekliyorum.
Saygilar,
[Cevapla]
Merhaba,
Biraz geç olabilir ama sorununu çözümünü yazayım diğer arkadaşlarada yardımcı olacaktır. Bu tarz problemler kesinlikle, kullanılan dns serverdan kaynaklanıyor. Eğer mail aldığınız yada gönderdiğiniz sunucu, mail sunucunun dns serverında kayıtlı değilse, yada kullanılan dns sunucusunda problem çıkıyorsa, bundan dolayı oluyor. Testler ile sabittir!Mesela şöyle bir test yapın; ” host -t mx xxx.com.tr” Size mx kayıtlarını vermezse, kullandığınız dns , karşı sunucunu mx kayıtlarına ulaşamıyordur. Eğer dns sunucunuzu değiştirmek gibi bir olasılığınız yoksa, “/var/qmail/control/smtproutes” altına,”xxx.com.tr:1.1.1.1″ ile ip adreslerini manuel olarak girin. Saygılar Cağrı Hocam :)
[Cevapla]
İyi Günler,
/var/qmail/control dizini altında bulunan “me Sunucunun tam etki alan adı (FQDN)” da bir yanlışlık olmuş. dolayısı ile nazı yerlere mail gönderemiyoruz. mxtoolbox tan alanadını sorgulayıp smtp test ettiğimiz zaman “Warning – Reverse DNS does not match SMTP Banner” uyarısı veriyor. Bunu düzeltmek için sunucunun tam etki alan adını yazmamız yada düzeltmemiz gerekiyormuş.
Şimdi bu düzelmeyi veya eklemeyi buraya nasıl yapacağım konusunda çok acil yardımlarınızı rica edeiyorum.
Saygılarımla,
Hikmet YILMAZ
[Cevapla]
Merhaba,
Alan adinizi asagida listelenen dosyalar icerisinde duzeltir ve qmail’i restart ederseniz sorun duzelecektir.
/var/qmail/control/me
/var/qmail/control/locals
/var/qmail/control/rcpthosts
Ayrica su dosyalara da bakin
/var/qmail/control/defaultdomain
/var/qmail/control/plusdomain
Kolay gelsin.
[Cevapla]
Hocam merhaba,
Qmail serverda, her kullanıcı için tanımlanabilecek otomatik imza varmıdır.?
[Cevapla]
Selamlar,
Disclaimer olayından bahsediyoruz değil mi ?
Eğer öyle ise, her kullanıcıya ayrı imza set edilmesi gibi bir durum benim bildiğim yok. Ama gene de bir araştırın derim.
[Cevapla]
Teşşekürler.
[Cevapla]
merhabalar
üstat kurulum bitti süper herşey ama makinaya local networkten ulaşılamıyor veya local network ü pingleyemiyor ama getaway olan makina üzerinden internete çıkıyor
[Cevapla]
Problemin bir cok nedeni olabilir, ancak oncelikle SeLinux’u devre disi biraktiginizdan emin olun. Ayrica, networkteki makinalarin 25. porta ulasip ulasamadiklarini da test edebilirsiniz.
[Cevapla]
hocam sorun SeLinux dan mış ama bu seferde giden gelen mailler kuyrukta bekliyor ama bir türlü gitmiyor yada gelmiyor
[Cevapla]
Kurulum bilgileri için çok teşekkürler,
hiçbir sorunla karşılaşmadan kurulumu gerçekleştirdim tüm uygulamalar çalışıyor, panele ulaşabiliyorum vs vs.
sunucuya cpanel, plesk gibi bir panel kurdurmadım, Qmail’in bu panellerle birlikte çalışıp çalışmayacağından emin olamadığım için,
fakat tüm kurulumlar vs herşey tamam ancak, domaini nasıl yönlendireceğim sunucuya onu yapamadım birtürlü :)
sunucuda 2 ip var,
domain panelinden m1.domain.com – 123.456.789 – m2.domain.com – 123.456.780 (herhangi bir ns kaydı atamak gibi) iplere nsleri tanımladım, ilgili domainin ns lerini atadığım ns ler şeklinde değiştirdim fakat bu domaine sunucuda host açmadığım için birtürlü yönlenmiyor domain sunucuya, bunu paneller yardımı ile yapıyordum fakat panelde olmadığı için şimdi bunu nasıl yapacağım ssh den bilmiyorum.
Şimdi merak ettiklerim:
1- Cpanel yada Plesk panelli bir sunucuda Qmail kurulabilirmi, ve kullanılabilirmi?
2- Cpanel, Plesk gibi bir kontrol paneli ile Qmail birlikte kullanılamazsa serverin dns ayarlarını nasıl gerçekleştirebilirim.
Bu konuda yardımcı olursanız sevinirim.
Teşekkürler.
[Cevapla]
Selamlar,
Plesk linux sunucularda MTA olarak qmail kullanıyor. Bu nedenle plesk kurarsanız (posta sunucusu kurma demedikçe) bir çakışma olabilir.
Cpanel posta sunucusu olarak ne kullanıyor bilmiyorum, eğer o da qmail kullanıyorsa gene çakışma olabilir.
Ancak, dediğim gibi panel kurulumu sırasında posta sunucusu kurma diyebiliyorsanız sorun olmaz.
Ayrı bir çözüm olarak ise, DNS servisini hizmet aldığınız ISP’den de alabilirsiniz, domainlerinizin name server kayıtlarını ISP’nizin name serverları olarak set eder ve ISP’den DNS sunucularında domainleriniz için MX kaydı vs. açmalarını isterseniz sorun kalmaz.
[Cevapla]
Kurulum Gayet Başarılı bir şekilde çalışıyor. spamassian Gelen maillerde Tarama yapmıyor. Qcontrol den baktığımda tüm değerler sıfır görünüyor.smtp Softlimit arttırmamada bir şeyi değiştirmedi. Konu hakkında yardımlarını bekliyorum.
[Cevapla]
Sorununuzun bir cok nedeni olabilir, ancak yeterli bilgi olmadan bir sey soylemek zor.
Log dosyalarinizda konuyla ilgili herhangi bir ibareye rastladiniz mi ?
[Cevapla]
Loglarda bir proble gözükmüyor.
tail -f /var/log/qmail/spamd/current
olarakda gözlemliyorum. bir hareket olmuyor.
Olası Nedenler nelerdir acaba? Nereye Yoğunlaşmalıyım?
[Cevapla]
http://i1101.hizliresim.com/2011/1/18/1740.png
Görüntüyü Yükledim.
[Cevapla]
Öncelikle sunucunun ana log dosyalarinda (örn: /var/log/messages ve /var/log/mail.log ) dosyalarinda herhangi bir sey olup olmadigini ayrica, spamd’nin duzgun calisip calismadigini da kontrol edin.
Bunun yani sira starce araci ile spamd sürecini trace edebilir, arka plandaki islemlerde hata olup olmadigina bakabilirsiniz.
Normal sartlarda herhangi bir problem cikarmamasi gerekir. Kurulum sirasinda bir sorun yasamis olabilirsiniz, bu durumda qmailtoaster kurulum scriptini yeniden caslitirarak, üzerine bir kez daha kurmayi deneyebilirsiniz. (Tabii yeni bir kurulumunuz oldugunu ve benim yazimdan hareketle kurdugunuzu varsayiyorum.)
[Cevapla]
Strace spamd Çıktısı:
Hepsini yazmıyorum..
write(4, “Jan 19 10:17:24 spamd[27908]”…, 149) = 149
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], 0}, {0x528830, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {SIG_DFL, [], 0}, {SIG_IGN, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
time(NULL) = 1295425044
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, 0xbfe2cbf4) = 0
time(NULL) = 1295425045
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 5
ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfe2ca48) = -1 EINVAL (Invalid argumen t)
_llseek(5, 0, 0xbfe2ca70, SEEK_CUR) = -1 ESPIPE (Illegal seek)
ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfe2ca48) = -1 EINVAL (Invalid argumen t)
_llseek(5, 0, 0xbfe2ca70, SEEK_CUR) = -1 ESPIPE (Illegal seek)
fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(5, {sa_family=AF_INET, sin_port=htons(783), sin_addr=inet_addr(“127.0.0.1”) }, 16) = -1 EADDRINUSE (Address already in use)
close(5) = 0
write(2, “[27908] error: spamd: could not “…, 92[27908] error: spamd: could no t create INET socket on 127.0.0.1:783: Address already in use
) = 92
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {SIG_DFL, [], 0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {0x528830, [], 0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
time(NULL) = 1295425045
stat64(“/etc/localtime”, {st_mode=S_IFREG|0644, st_size=2721, …}) = 0
time(NULL) = 1295425045
stat64(“/etc/localtime”, {st_mode=S_IFREG|0644, st_size=2721, …}) = 0
stat64(“/etc/localtime”, {st_mode=S_IFREG|0644, st_size=2721, …}) = 0
stat64(“/etc/localtime”, {st_mode=S_IFREG|0644, st_size=2721, …}) = 0
stat64(“/etc/localtime”, {st_mode=S_IFREG|0644, st_size=2721, …}) = 0
stat64(“/etc/localtime”, {st_mode=S_IFREG|0644, st_size=2721, …}) = 0
select(8, [4], NULL, [4], {0, 0}) = 0 (Timeout)
write(4, “Jan 19 10:17:25 spamd[27908]”…, 112) = 112
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], 0}, {0x528830, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {SIG_DFL, [], 0}, {SIG_IGN, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
write(2, “spamd: could not create INET soc”…, 77spamd: could not create INET s ocket on 127.0.0.1:783: Address already in use
) = 77
close(4) = 0
close(3) = 0
exit_group(255) = ?
[Cevapla]
783 Portla ilgili bir problem gibi görünüyor.
warn: server socket setup failed, retry 1: spamd: could not create INET socket on 127.0.0.1:783: Address already in use
[Cevapla]
ps aux |grep spamd
ciktisi nasil ?
[Cevapla]
root 2579 0.0 0.0 1616 236 ? S Jan19 0:00 supervise spamd
root 4597 0.0 1.8 43852 39044 ? S 04:08 0:04 /usr/bin/perl – T -w /usr/bin/spamd -x -u vpopmail -s stderr
qmaill 4598 0.0 0.0 1632 232 ? S 04:08 0:00 /usr/bin/multil og t s1000000 n100 /var/log/qmail/spamd
vpopmail 4647 0.0 1.7 43852 36924 ? S 04:08 0:00 spamd child
vpopmail 4648 0.0 1.7 43852 36848 ? S 04:08 0:00 spamd child
root 11233 0.0 0.0 4008 700 pts/1 S+ 10:37 0:00 grep spamd
[Cevapla]
Merhabaalr bana acil yardım lütfen,qmai,l toaster kurdum.Basit güzel bir kurulum ama bir süre sonra outlook üzerinden mail atamıyorum anlamadım neden böyle bir sorun verir.Yardımalrınızı bekliyoruz.
[Cevapla]
Selamlar,
Sorununuzun bir cok nedeni olabilir.
Konu ile ilgili olarak detay verebilirseniz yardimci olmaya calisirim.
Ornegin, qmail servisleri duzgun calisiyor mu ? DNS tanimlamalariniz sorunsuz mu ? Log dosyalarinizda herhangi bir hata mesaji bulunuyor mu ? Tam olarak outlook’un verdigi hata mesaji nedir gib bilgileri saglarsaniz iyi olur.
[Cevapla]
Merhabalar ;
Qailtoaster ile kurulan qmail’de local domain kullanıcıları birbirlerine, sunucuya smtp-auth olmadan mail gönderebiliyor. Yine mail sunucuda olmayan kullanıcılardan diğer kullanıcılara mail gönderilebiliyor. Bunları engellemenin bir yolu var mı ?
[Cevapla]
merhabalar.
çok değerli bir belge oluşmuş hazırlayan arkadaşımıza çok teşekkür ederim
mail sunucuyu sanırım sorunsuz kurdum fakat webmail aracılığıya veya Evolution kullanarak mail yollayamıyorum. webmail de bu hatayı alıyorum…
Unknown response
511 sorry, recipient address has invalid format (#5.1.1 – chkuser)
[Cevapla]
Selamlar,
Asagidaki linkte sizinle benzer durum icin bir yazisma var.
http://www.mail-archive.com/[email protected]/msg23394.html
Suraya da bakabilirsiniz:
http://wiki.qmailtoaster.com/index.php/FAQs#I_keep_getting_.225.1.0_-_Unknown_address_error_571-.27sorry.2C_sender_address_has_invalid_format_.28.235.7.1_-_chkuser.29.27.22_errors.2C_especially_from_people_with_Blackberry_devices._What_can_I_do.3F
tcp.smtp dosyanizdaki her satira SENDER_NOCHECK=”1″ ibaresini eklerseniz sorun duzelecek gibi gorunuyor.
[Cevapla]
Çağrı Bey;
Aşağıdaki gibi yaptım yine hata alıyorum.
127.:allow,RELAYCLIENT=””,DKSIGN=”/var/qmail/control/domainkeys/%/private”,RBLSMTPD=””,NOP0FCHECK=”1″
:allow,BADMIMETYPE=””,BADLOADERTYPE=”M”,CHKUSER_RCPTLIMIT=”500″,CHKUSER_WRONGRCPTLIMIT=”100″,QMAILQUEUE=”/var/qmail/bin/simscan”,DKSIGN=”/var/qmail/control/domainkeys/%/private”,NOP0FCHECK=”1″
204.187.87.61:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
204.187.87.62:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
204.187.87.63:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
206.51.26.4:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
206.51.26.5:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
206.51.26.50:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
206.51.26.238:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
206.51.26.239:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
204.187.87.60:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
206.51.26.10:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
193.109.81.21:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
216.9.248.51:allow,RELAYCLIENT=””,RBLSMTPD=””,SENDER_NOCHECK=”1″
[Cevapla]
Aldığınız hata nedir tam olarak ?
[Cevapla]
Mail gönderdiğimde türkçe karakter problemi yaşıyorum.
ama mail aldığımda herhan bir karakter problemi yok. olası sebebler nelerdir?
[Cevapla]
Probleminiz sunucu değil istemci tarafında görünüyor; kullandığınız mail client ile alakalı olabilir. Zira sunucu email’i hangi charset ile gönderdiğinize bakmaz.
[Cevapla]
Merhabalar,
Öncelikle paylaşımınız için cok tesekkür ederim. Ben yeni bir linux kullanıcısıyım. İşe centos ile başladım. Yaklaşık 1 yıldır. Sürekli çalışmalar yapıyorum. Bir çok yazılımı kurmayı ve configure etmeyi basardım. Şimdide mail sunucumu kendi bunyeme almak istiyorum. Yayınlamış olduğunuz paylaşım ile cok rahat bir şekilde qmail i kurdum. Sistem localde gayet güzel çalışıyor tüm servisler sorunsuz çalışıyor. Fakat dışardan içeriye yada içerden dışarıya mail alışverişi yapamıyoruz. Dış ipnin tüm portlarını mail sunucuma yönlendirmeme ragmen genede olmadı bu konu ile ilgili bana yardımcı olurmusunuz. Ben nerde takılıyorum ve nerelere dikkat etmem gerekiyor. Şimdiden yardımlarınız için çok teşekkür ederim.
[Cevapla]
Selamlar,
Sorununuzun bir çok nedeni olabilir; öncelikle qmail log dosyalarını incelemenizi öneririm, sorunun nedeni orada yazıyor olabilir.
Diğer yandan probleme neden olabilecek tahmini durumlar şunlar olabilir:
1 – Dışarıdan mail alamıyorsanız, domaininze ait dns (mx) kayıtları düzgün olmayabilir.
2 – İçeriden dışarı mail gönderemiyorsanız ve adsl arkasındaysanız, TTNet’in ADSL networkünde 25. portu dışarı kapatmasından dolayı gönderim yapamıyor olabilirsiniz. Bu durumda TTnet ile konuşup 25. portu açtırmanız gerekir.
Tahminleri çoğaltmak mümkün ancak spesifik olarak aldığınız hataları söylerseniz daha iyi yardımcı olabilirim.
Kolay gelsin.
[Cevapla]
Selamlar Çağrı bey,
dns (mx) kayıtlarını kontrol ettim ve tekrardan düzenledim. çalıştı. yani dışarıdan içeriye mail alabiliyorum. TTneti arayıp 25 nolu portuda açtırdım. fakat dışarıya mail atmak istediğimde bana MAILER-DAEMON başlıklı şöyle bir hata mesajı geliyor ;
CNAME lookup failed temporarily. (#4.4.3)
I’m not going to try again; this message has been in the queue too long.
Bana bu konu ile ilgili yardımcı olurmusun…
[Cevapla]
Selamlar,
CNAME lookup failed temporarily. hatası, mail sunucunuzun gönderim yapılan domaine ait dns kayıtlarını çözememesinden kaynaklanıyor. Muhtemelen mail sunucunuza tanımladığınız dns server adreslerinde sorgu yapamıyorsunuz. Google’in public dns’lerini kullanmanızı öneririm. (8.8.8.8 ve 8.8.4.4)
[Cevapla]
Selamlar Çağrı bey,
Yönlendirmeleriniz için ne kadar teşekkür etsem azdır. söylediğiniz üzere dnsleri değiştirdim oldu. şimdi hem dışardan içeri hem içerdem dışarı mail alış verişi sağlayabiliyoruz. Fakat ben qmailctl stat komutu verdiğimde spam filitresinin çalışmadığını görmekteyim. ama kurulum esnasında kurulduğunu biliyorum. Bununla ilgili ne yapmam gerekir.
Çalışan Servisler Aşşağıdaki gibidir;
authlib: up (pid 3624) 252231 seconds
clamd: up (pid 3628) 252231 seconds
imap4: up (pid 3632) 252231 seconds
imap4-ssl: up (pid 3619) 252231 seconds
pop3: up (pid 3618) 252231 seconds
pop3-ssl: up (pid 3623) 252231 seconds
send: up (pid 20058) 195339 seconds
smtp: up (pid 20059) 195338 seconds
submission: up (pid 3631) 252231 seconds
authlib/log: up (pid 3630) 252231 seconds
clamd/log: up (pid 3626) 252231 seconds
imap4/log: up (pid 3633) 252231 seconds
imap4-ssl/log: up (pid 3620) 252231 seconds
pop3/log: up (pid 3627) 252231 seconds
pop3-ssl/log: up (pid 3621) 252231 seconds
send/log: up (pid 3622) 252231 seconds
smtp/log: up (pid 3629) 252231 seconds
submission/log: up (pid 3625) 252231 seconds
[Cevapla]
Merhabalar,
Aşşagıdaki gibi bir sorun meydana geldi. Hatada spf kaydı ile ilgili bir durumun olduğundan bahsediyor fakat spf kaydını inceledim herhangi bir eksik yok mesaj içeriği şöyledir.
:
User and password not set, continuing without authentication.
xxxxxipxxxxx failed after I sent the message.
Remote host said: 550 The sender did not meet Sender Policy Framework rules.
Please see http://spf.pobox.com
[Cevapla]
Harika anlatım için teşekkürler
[Cevapla]
selamlar cagri bey
qmail kurulumunu tamamladım. mail serverdaki kullanıcılar kendi aralarında sorunsuz mailleşebiliyor. ancak dışarıdan bir mail geldiğinde 503 auth hatası veriyor? neden olabilir?
Yardımınız için teşekkür ederim iyi çalışmalar…
[Cevapla]
SMTP Auth ile iligli bir sorununuz var gibi; client tarafındaki tanımlamalarda smtp auth yapılıyor mu ?
[Cevapla]
cnt5064-install.sh scriptinin download linki yanlış bir siteyi gösteriyor.
[Cevapla]
Bilgilendirme için teşekkürler; linki düzelttim.
[Cevapla]
Hocam,
qmailadmin (Mail Administrator) kısmında postmaster hesabım ile giriş yaptığım zaman yönetimi sağlayabiliyorum ama farklı domaindeki bir hesap ile giriş yaptığımda menü boş geliyor sanki admin yetkisi yokmuş gibi. Farklı domainlerde Mail Administration paneline giriş ve işlem yapabilmesi için kullanıcılara nasıl yetki tanımlarım ?
[Cevapla]