Ana Sayfa » Qmail » qmail Kurulum Scripti v0.2 – CentOS 5.4

qmail Kurulum Scripti v0.2 – CentOS 5.4


BerbatKötüİdare EderGüzelHarika (Toplam 3 oy. 5 puan üzerinden ortalama 3,67 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading...

UPDATE: Scriptin CentOS 6.x sürümünü yayınladım. Bkz: http://www.syslogs.org/qmail-kurulum-scripti-centos6x/

Bundan iki sene önce, temel bileşenleri ile hızlıca kurulumu yapabilmek için küçük bir shell scripti hazırlamış ve burada yayınlamıştım.  Şimdi de  o scriptin eli yüzü biraz daha düzgün ikinci versiyonunu hazırladım.

Eğer, CentOS5 üzerinde gateway, smarthost ya da mailer olarak çalışacak LWQ önergelerine göre yapılandırılmış bir ’e ihtiyacınız bulunuyorsa scripti aşağıdaki linkten indirip kurulumu kolayca yapabilirsiniz.

Download

CentOS 5.4 :

http://www.syslogs.org/qmail/scripts/qinstaller.cnt55.v2.1.0.tar.gz

Kullanım Şekli

Paketin içinde qinstaller.sh ve quninstaller.sh olmak üzere iki adet ve bir README dosyası bulunuyor.  Başlamadan önce mutlaka README dosyasını okuyun.

Kurulumu normal olarak ./qinstaller.sh şeklinde başlatabilirsiniz. Yönergeleri takip ederek 3 dakika içerisinde kurulumunuzu tamamlayabilirsiniz. Herhangi bir terstlik olması durumda, uninstall.sh scriptini çalıştırarak kurulumu geri alabilirsiniz. uninstall scripti sadece install.sh vasıtası ile yapılan kurulumlarını kaldırmak için hazırlanmıştır. Aksi durumlar için bu scripti kullanmayınız.

Kategoriler: Qmail |

Bu yazılar da ilginizi çekebilir:


- qmail Kurulum Scripti
- qmail Kurulum Scripti – CentOS 6.x
- Mtrack Shell Scripti ile Anlamlı qmail Logları
- qmail – Giden Maillerin DKIM ve DomainKeys ile İmzalanması
- Qmail Log Dosyalarının Ebatını Arttırmak

Yorumlar


  1. Mustafa Bilge | (Mart 22nd, 2011 4:37 pm)

    Merhaba, kurulumu sorunsuz şekilde tamamladım ancak test yapmak için telnet atmak istediğimde aşağıdaki gibi bir hata veriyor.

    [[email protected] ~]# telnet localhost 25
    Trying 127.0.0.1…
    telnet: connect to address 127.0.0.1: Connection refused
    telnet: Unable to connect to remote host: Connection refused

    [[email protected] ~]# rpm -qa | grep telnet
    telnet-0.17-39.el5
    telnet-server-0.17-39.el5

    [[email protected] ~]# chkconfig –list telnet
    telnet on

    [[email protected] ~]# qmailctl stat
    /service/qmail-send: up (pid 3554) 483 seconds
    /service/qmail-send/log: up (pid 3555) 483 seconds
    /service/qmail-smtpd: up (pid 6248) 1 seconds
    /service/qmail-smtpd/log: up (pid 3553) 483 seconds
    messages in queue: 0
    messages in queue but not yet preprocessed: 0

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    smtp portu dinlenmiyor gorunmekte. Asagidaki iki komutun ciktisini gonderirseniz yardimci olmaya calisirim.

    tail -n 50 /var/log/qmail/smtpd/current
    ve
    netstat -ant

    [Cevapla]

    Mustafa Bilge tarafından yanıtlandı.

    Merhaba Çağrı Bey,

    İlk başta tail -f /var/log/qmail/smtpd/current komutuyla sürekli aşağıdaki hatayı aldığımı farkettim.

    [[email protected] ~]# tail -f /var/log/qmail/smtpd/current
    @400000004d88fbe6085dda74 tcpserver: fatal: unable to figure out port number for smtp
    @400000004d88fbe70ab51c9c tcpserver: fatal: unable to figure out port number for smtp

    Biraz araştırdım bazı kişilerde bu hata olduğunda /var/qmail/supervise/qmail-smtpd/run dosyasındaki aşağıdaki “0 smtp” arasına 25 ekleyince düzelmiş.

    #!/bin/sh

    QMAILDUID=`id -u qmaild`
    NOFILESGID=`id -g qmaild`
    MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
    LOCAL=`head -1 /var/qmail/control/me`

    if [ -z “$QMAILDUID” -o -z “$NOFILESGID” -o -z “$MAXSMTPD” -o -z “$LOCAL” ]; then
    echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
    echo /var/qmail/supervise/qmail-smtpd/run
    exit 1
    fi

    if [ ! -f /var/qmail/control/rcpthosts ]; then
    echo “No /var/qmail/control/rcpthosts!”
    echo “Refusing to start SMTP listener because it’ll create an open relay”
    exit 1
    fi

    exec /usr/local/bin/softlimit -m 4000000 \
    /usr/local/bin/tcpserver -v -R -l “$LOCAL” -x /etc/tcp.smtp.cdb -c “$MAXSMTPD” \
    -u “$QMAILDUID” -g “$NOFILESGID” 0 25 smtp /var/qmail/bin/qmail-smtpd 2>&1

    Bende düzelmedi ama tail -f /var/log/qmail/smtpd/current komutuyla tekrar baktığımda hata iletisi değişti.Ancak yine telnet atamadım.

    @400000004d88fcd63aaff2dc tcpserver: status: 1/20
    @400000004d88fcd63aaffaac tcpserver: pid 14495 from 127.0.0.1
    @400000004d88fcd63ab4c53c tcpserver: ok 14495 xxx.com:127.0.0.1:25 localhost:127.0.0.1::57971
    @400000004d88fcd63ab8c0c4 tcpserver: warning: dropping connection, unable to run smtp: file does not exist
    @400000004d88fcd63ad393f4 tcpserver: end 14495 status 28416
    @400000004d88fcd63ad397dc tcpserver: status: 0/20

    netstat -ant çıktısı;

    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN
    tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
    tcp 0 0 0.0.0.0:638 0.0.0.0:* LISTEN
    tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN
    tcp 0 0 127.0.0.1:25 127.0.0.1:57971 TIME_WAIT
    tcp 0 0 :::22 :::* LISTEN
    tcp 0 0 ::ffff:10.30.30.20:22 ::ffff:10.20.0.101:24838 ESTABLISHED
    tcp 0 660 ::ffff:10.30.30.20:22 ::ffff:10.20.0.101:30693 ESTABLISHED
    tcp 0 0 ::ffff:10.30.30.20:22 ::ffff:10.20.0.101:30679 ESTABLISHED

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    Evet sorununuz /var/qmail/supervise/qmail-smtpd/run dosyasının ilgili kisminda smtp yerine 25 yazmaniz yeterli, siz hem 25 hem smtp yazdiginiz icin su anki hatayi aliyorsunuz:

    İlgili alan su sekilde olsun:

    “$NOFILESGID” 0 25 /var/qmail/bin/qmail-smtpd 2>&1

    Sonra qmail’inizi yeniden baslatin, sorun duzelecektir.

    Oradaki smtp ibaresi, port bilgisinin /etc/services dosyasından ogrenilmesini soyluyor.
    Simdi yaptiginiz degisiklikle direk olarak 25. portu kullan demis oluyorsunuz.

    [Cevapla]

  2. Mustafa Bilge | (Mart 23rd, 2011 10:06 am)

    Şimdi de dışarı mail atarken aşağıdaki hatayı alıyorum, neden kaynaklanıyor olabilir?

    deferral: Sorry,_I_wasn’t_able_to_establish_an_SMTP_connection._(#4.4.1)

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    Disaridaki sunucuya erisemedini soyluyor.
    Baglanti problemi olabilir. Mail gondermeye calistiginiz domainin mx recordunda yer alan ip adresine 25. porttan telnet cekmeyi deneyebilirsiniz…

    [Cevapla]

  3. Mustafa Bilge | (Mart 26th, 2011 1:18 pm)

    Sistemi defalarca restore edip tekrar denememe rağmen aşağıdaki gibi bir hata alıyorum.

    qmail-smtpd/run dosyasi check ediliyor…
    Dosya yerinde mi ?
    /var/qmail/supervise/qmail-smtpd/run ? [ Tamam ]

    Ebati dogru mu ?

    Ooopss…

    qmail-smtpd/run dosyasinin size’i dogrulanamadi! Download sirasinda
    bir sorun olusmus olabilir. Bu durumda kuruluma devam edemiyoruz.

    Lutfen asagidaki adimlari izledikten sonra install-qmail.sh
    scriptini yeniden calistirin.

    1 – http://www.syslogs.org/qmail/qmail-smtpd/run adresine erisiminiz
    oldugundan emin olun.

    2- /qmail-install-scripts dizinindeki uninstall.sh scriptini
    calistirarak su ana kadar yapilan islemleri geri alin.

    3 – Son olarak, install-qmail.sh scriptini yeniden calistirarak
    qmail kurulumunu yeniden baslatin.

    Kurulum sonlandiriliyor!

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    Evet sorunun nedeni, gecen gun yaptiginiz hata bildiriminden sonra ilgili dosyayı yeniden duzenlemis olmam. Dosya degistigi icin dogrulama yapilamamis. Simdi yeniden duzenledim.
    Sorun olmamali.

    [Cevapla]

    Mustafa Bilge tarafından yanıtlandı.

    Çağrı Bey, test ettim sorunsuz olarak çalışıyor, teşekkürler.

    [Cevapla]

  4. Mustafa Bilge | (Mart 27th, 2011 1:52 pm)

    Çağrı Bey daha önce qmail+ad authentication yaptınızmı? Araştırmalarıma göre burada ( http://fo2k.com/qmail-activedir/ ) bir döküman var fakat lber.h ve ldap.h adlı dosyaları bulamıyor ve kurulum tamamlanmıyor.Yapmak istediğim backup için kullandığımız yazılımının kimlik doğrulayarak mail atmasını sağlamak.Yukarıdaki kuruluma ek olarak kullanıcı doğrulatmayı nasıl yapabilirim?

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    LDAP kutuphanelerine ihtiyaciniz var sanırım. Nitekim gereksinimler basliginda bundan bahsediliyor:

    REQUIREMENTS:
    the LDAP libraries and header files must be present to
    compile, as well as most of the standard C header files and libs.
    You can get LDAP here:
    http://www.openldap.org

    Sanırım sorununuz bununla alakalı.

    [Cevapla]

    Mustafa Bilge tarafından yanıtlandı.

    Merhaba,
    Aslında ilk başta openldap yüklü değildi, sonradan yüklediğim halde aynı hatayı veriyor.Bu arada varolan windows ad ortamından kimlik doğrulatabilirmiyim?Sanırım bu sunucu üzerine kurarak kimlik doğrulama işlemi yaptırmak istiyor..

    [[email protected] qmail-activedir-0.17]# rpm -qa | grep ldap
    openldap-2.3.43-12.el5_5.3
    python-ldap-2.2.0-2.1
    nss_ldap-253-25.el5
    nss_ldap-253-25.el5
    openldap-2.3.43-12.el5_5.3

    [[email protected] qmail-activedir-0.17]# ll
    total 72
    -rw-r–r– 1 alias nofiles 11642 Aug 5 2010 ad_func.c
    -rw-r–r– 1 alias nofiles 3334 Aug 5 2010 ad_func.h
    -rw-r–r– 1 alias nofiles 1571 Aug 5 2010 checkadpassword.c
    -rw-r–r– 1 alias nofiles 19127 Aug 5 2010 create_alias_files.c
    -rw-r–r– 1 alias nofiles 1603 Aug 5 2010 create_alias_files.h
    -rw-r–r– 1 alias nofiles 4779 Aug 5 2010 INSTALL
    -rw-r–r– 1 alias nofiles 377 Aug 5 2010 Makefile
    -rw-r–r– 1 alias nofiles 757 Aug 5 2010 qmail-adgetpw.c
    -rw-r–r– 1 alias nofiles 4417 Aug 5 2010 README
    -rw-r–r– 1 alias nofiles 528 Aug 5 2010 VERSION

    [[email protected] qmail-activedir-0.17]# make
    gcc -Wall -O2 -lldap checkadpassword.c ad_func.c -o checkadpassword
    In file included from checkadpassword.c:15:
    ad_func.h:64:18: error: lber.h: No such file or directory
    ad_func.h:65:18: error: ldap.h: No such file or directory
    In file included from checkadpassword.c:15:
    ad_func.h:104: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    ad_func.h:105: error: expected ‘)’ before ‘*’ token
    ad_func.h:106: error: expected ‘)’ before ‘*’ token
    ad_func.c:18:18: error: ldap.h: No such file or directory
    In file included from ad_func.c:23:
    ad_func.h:64:18: error: lber.h: No such file or directory
    In file included from ad_func.c:23:
    ad_func.h:104: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    ad_func.h:105: error: expected ‘)’ before ‘*’ token
    ad_func.h:106: error: expected ‘)’ before ‘*’ token
    ad_func.c:199: error: expected ‘)’ before ‘*’ token
    ad_func.c:213: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    ad_func.c:240: error: expected ‘)’ before ‘*’ token
    ad_func.c:246: error: expected ‘)’ before ‘*’ token
    ad_func.c:269: error: expected ‘)’ before ‘*’ token
    ad_func.c: In function ‘ad_verify_user’:
    ad_func.c:326: error: ‘LDAP’ undeclared (first use in this function)
    ad_func.c:326: error: (Each undeclared identifier is reported only once
    ad_func.c:326: error: for each function it appears in.)
    ad_func.c:326: error: ‘ld’ undeclared (first use in this function)
    ad_func.c:330: warning: implicit declaration of function ‘ad_init’
    ad_func.c:331: warning: implicit declaration of function ‘ad_bind’
    ad_func.c:333: warning: implicit declaration of function ‘ad_getsam_fulldn’
    ad_func.c:335: warning: implicit declaration of function ‘ad_close’
    ad_func.c: In function ‘ad_getpw’:
    ad_func.c:354: error: ‘LDAP’ undeclared (first use in this function)
    ad_func.c:354: error: ‘ld’ undeclared (first use in this function)
    make: *** [all] Error 1
    [[email protected] qmail-activedir-0.17]#

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Sanırım openldap-devel paketini de kurmaniz lazim. Gerekli olan headerlar o paket ile geliyor sanırım.

    [Cevapla]

    Mustafa Bilge tarafından yanıtlandı.

    Çağrı Bey, evet openldap-devel paketini yükleyince oldu.Yalnız diğer işlemleri linux üzerindeki ldap mantığını bilmediğim için beceremedim.Mesela başta oluşturmamı istediği ad_uig,ad_gid gibi dosyalarda compile sonrasında herhangibir değişiklik vs olmadı.Yapmamı istediği testlerde ne istediği gibi bir sonuç ne de hata mesajı verdi.Neleri eksik yapıyorum acaba?Benim kullanıcı database’im nerede? vs vs.. gibi sorularım var :) yardımlarınızı rica ediyorum.

    [[email protected] bin]# ./qmail-popup blah checkadpassword id
    +OK

    [[email protected] bin]# ./qmail-popup mustafa checkadpassword 500
    +OK

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Valla konu ile ilgili direk bilgim olmadigi icin sizi yanlis yonlendirmek istemem.

    Ama sanirim kendi active directory ortamınız ile ilgili dogru container, organization unit vs. degerlerini girmeniz gerekiyor. Biraz google’larsanız sonuca ulasabileceginizi dusunuyorum

    [Cevapla]

    Mustafa Bilge tarafından yanıtlandı.

    Teşekkür ederim yardımlarınız için, eğer doğru bilgiye ulaşırsam burada da paylaşacağım.

    [Cevapla]

  5. Murat | (Haziran 14th, 2011 3:16 pm)

    Merhaba,

    bu kurulum ile boş bir sunucuda mail server kurabılırmıyız?

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Temel bileşenleri ile bir mail sunucu kurmak mümkün. Temel bileşimden kastım, sadece smtp servisi çalıştırabilirsiniz. Kurulum scripti pop3 servisini kurmuyor.

    [Cevapla]

  6. kaan | (Şubat 11th, 2012 7:42 pm)

    merhaba. linux konusunda fazla bir bilgim yok. fakat qmail kurulumunu tamamladım. smtp server olarak kullanmak istiyorum. nasıl kullanabilirim. sadece mail gönderme amaçlı olacak. php sayfam üzerinden phpmailler kullanarak sunucya bağlanacak ve kullanıcı adı şifreyle gönderecek. nasıl yapabilirim acaba. teşekkürler.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Merhaba,

    Script’i kullanarak yaptığınız kurulumlarda, mail göndermek için kullanıcı adı şifre girmenize gerek yok. phpmailer, qmail ile aynı sunucuda calisiyorsa localhost’un relay izni olduğu için php üzerinden smtp sunucunuzdan gönderim yapabilirsiniz.

    Php uygulamaniz herhangi baska bir sunucu uzerinde ise, qmail’e ilgili php uygulamasinin calistigi sunucu icin relay tanimlamasi yapmaniz gerekir ki bu ayar /etc/tcp.smtp dosyasında yapılmaktadır. Örnek olarak ilgili dosyaya,

     1.2.3.4:allow,RELAYCLIENT=""

    gibi bir satır ekler ve komut satırında

    qmailctl cdb

    komutunu calistirisaniz, 1.2.3.4 ip adresi icin gönderim izni vermis olursunuz.

    [Cevapla]

  7. Hasan | (Mart 6th, 2012 5:03 pm)

    Betikte herhangi bir hata almadan kurulumu yaptım fakat
    qmailctl stat komutuyla kontrol ettiğimde aşağıdaki hatayı alıyorum.

    [[email protected] syslog]# qmailctl stat
    /service/qmail-send: unable to open supervise/ok: file does not exist
    /service/qmail-send/log: unable to open supervise/ok: file does not exist
    /service/qmail-smtpd: unable to open supervise/ok: file does not exist
    /service/qmail-smtpd/log: unable to open supervise/ok: file does not exist
    messages in queue: 0
    messages in queue but not yet preprocessed: 0

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Kurulumu hangi Linux dağıtımı üzerinde yaptınız ve uname – a çıktınızı gönderebilir misiniz ?

    Scripti yeniden kontrol edebilirim bu şekilde.

    [Cevapla]

  8. Hasan | (Mart 7th, 2012 3:37 pm)

    Linux localhost 2.6.32-220.4.2.el6.x86_64 #1 SMP Tue Feb 14 04:00:16 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux

    CENTOS 6

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    CentOS 6 üzerinde hic denemedim.
    Bir kontrol edip geri donecegim.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Evet script CentOS 6 üzerinde calismiyor, cunku inittab kullanimi bu versiyonda biraz degismis. Bu düzeltmeyi iceren yeni bir versiyonu yayinlayacagim.

    [Cevapla]

  9. Mehmet | (Nisan 30th, 2012 2:29 pm)

    Merhaba, bu scriptin içerisine mak ve patch paketlerinin kurulumlarının yum ile yapılmasınıde eklemeniz güzel olur.Bende o paketler yoktu, kapatıp tekrar açmak vs durumunda kaldım.Eklenirse güzel olur.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    Script gcc kontrolü yapıyor ve yoksa yum kullanarak kuruyor. Aynı şeyi make ve patch için de yapabiliriz.

    Bu arada make ve patch minimal kurulumlarda dahi default olarak geliyor; sizin sisteminizde olmayışının özel bir nedeni var mıydı ?

    [Cevapla]

  10. Mehmet | (Mayıs 2nd, 2012 10:21 am)

    Cağrı Bey, diğer distro’larda çalışmamasının nedeni ne? Paketin içerisini kontrol ediyorum, centos ile alakalı bir durum göremedim..Yani download ediyor make yapıyor vs.Centos ya da diğer distroları etkileyen nedir anlamadım açıkcası.

    [Cevapla]

Trackbacks

Yorumda bulunun.