Postfix Kurulumu
1- İlk olarak /etc/hosts dosyasına maillerde kullanılacak sunucu ve ip adresi eklenir.
# nano /etc/hosts
192.168.0.21 example.com
2- Postfix yüklenir
# yum -y install postfix
3- SMTP autherization paketleri yüklenir
# yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain
4- Postfix kurulumu tamamlandıktan sonra SSL sertifikası oluşturulur.
# mkdir /etc/postfix/ssl
# cd /etc/postfix/ssl/
# openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
# chmod 600 smtpd.key
# openssl req -new -key smtpd.key -out smtpd.csr
# openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
# openssl rsa -in smtpd.key -out smtpd.key.unencrypted
# mv -f smtpd.key.unencrypted smtpd.key
# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 365
5- /etc/postifx/main.cf dosyası açılır ve aşağıdaki satırlar commentlenir.
# nano /etc/postfix/main.cf
inet_interfaces = localhost (116. satır)
mydestination = $myhostname, localhost.$mydomain, localhost (164. satır)
6- /etc/postfix/main.cf dosyası tekrar açılır ve aşağıdaki satırlar eklenir.
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
home_mailbox = mail/
mynetworks = 127.0.0.0/8
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = cyrus
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
7- /etc/postfix/master.cf dosyası açılır ve aşağıdaki satırlar eklenir.
smtps inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_sender=yes
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
-o broken_sasl_auth_clients=yes
8- Postfix kurulumu tamalandı şimdi postfix ve saslauthd servisleri başlatılabilir.
# service postfix start
# service saslauthd start
9- Sunucu başlatıldığında otomatik olarak başlaması için
# chkconfig --level 235 postifx on
# chkconfig --level 235 saslauthd on
10- Şimdi SMTP bağlantısının başarılı bir şekilde kurulup kurulmadıgını kontrol edebiliiriz.
# telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix
ehlo localhost <---- bu komut girilir
250-mail.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
çıktısı alınıyor ise başarılı bir şekilde postfix kurulmuş demektir.
Dovecot Kurulumu
1- Öncelikle dovecot.org/download.html adresinden şu andaki son versiyonu olan 2.2.13 versiyonu indirilir ve daha önceden oluşturduğumuz dizine kopyalanır.
# mkdir -p /data/install/2014/
# cd /data/install/2014/
# mkdir dovecot
# wget http://www.dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz
# tar -xzpf dovecot-2.2.13.tar.gz
# cd dovecot-2.2.13
2- Compile edebilmemiz için c compiler (gcc) ve diğer buna bağlı paketler indirilir.
# yum install gcc openldap-devel mysql-devel
3- Konfigürasyon ve kurulum başlatılır
# ./configure --prefix=/usr
--sysconfdir=/etc
--localstatedir=/var
--docdir=/usr/share/doc/dovecot-2.2.13
--disable-static
# make
# make install
4- Softlink oluşturulur
# cd /usr/local
# ln -s dovecot-2.2.13 dovecot
5- İndirilen dovecot paketinin içerisinde yer alan örnek konfigürasyon dosyaları /etc/dovecot dizini altına kopyalanır
# cp -rv /usr/share/doc/dovecot-2.2.13/example-config/* /etc/dovecot
6- Local kullanıcılar için yetkilendirme, mailbox lokasyonu gibi konfigürasyonlar aşağıdaki şekilde /etc/dovecot/local.conf dosyasına yazılmıştır.
# nano /etc/dovecot/local.conf
protocols = imap
ssl = no
listen = *
mail_location = mbox:~/Mail:INBOX=/var/mail/%u
userdb {
driver = passwd
}
passdb {
driver = shadow
}
7- Dovecot servisini başlatabilmek için startup script i yazmak gerekmektedir.
/etc/rc.d/init.d dizinine gidilir ve dovecot isminde bir dosya oluşturulur ve aşağıdaki satırlar içerisini kopyalanır.
#!/bin/bash
#
# /etc/rc.d/init.d/dovecot
#
# Starts the dovecot daemon
#
# chkconfig: - 65 35
# description: Dovecot Imap Server
# processname: dovecot
# config: /etc/dovecot.conf
# config: /etc/sysconfig/dovecot
# pidfile: /var/run/dovecot/master.pid
### BEGIN INIT INFO
# Provides: dovecot
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start: $remote_fs
# Should-Stop: $remote_fs
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: start and stop Dovecot Imap server
# Description: Dovecot is an IMAP server for Linux/UNIX-like systems,
# written with security primarily in mind. It also contains
# a small POP3 server.
### END INIT INFO
ulimit -n 5000
# Source function library.
. /etc/init.d/functions
if [ -f /etc/sysconfig/dovecot -a $UID -eq 0 ]; then
. /etc/sysconfig/dovecot
fi
RETVAL=0
prog="Dovecot Imap"
exec="/usr/local/dovecot/sbin/dovecot"
config="/etc/dovecot/dovecot.conf"
pidfile="/var/run/dovecot/master.pid"
lockfile="/var/lock/subsys/dovecot"
start() {
[ $UID -eq 0 ] || exit 4
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "
daemon --pidfile $pidfile $exec $OPTIONS
RETVAL=$?
[ $RETVAL -eq 0 ] && touch $lockfile
echo
}
stop() {
[ $UID -eq 0 ] || exit 4
echo -n $"Stopping $prog: "
killproc -p $pidfile $exec
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f $lockfile
echo
}
reload() {
[ $UID -eq 0 ] || exit 4
echo -n $"Reloading $prog: "
killproc -p $pidfile $exec -HUP
RETVAL=$?
echo
}
#
# See how we were called.
#
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
force-reload|restart)
stop
sleep 1
start
RETVAL=$?
;;
condrestart|try-restart)
if [ -f $lockfile ]; then
stop
sleep 3
start
fi
;;
status)
status -p $pidfile $exec
RETVAL=$?
;;
*)
echo $"Usage: $0 {condrestart|try-restart|start|stop|restart|reload|force-reload|status}"
RETVAL=2
[ "$1" = 'usage' ] && RETVAL=0
esac
exit $RETVAL
8- Dovecot servis olarak eklenir ve çalıştırılabilir scripte dönüştürülür.
# chmod +x /etc/init.d/dovecot
# chkconfig --add dovecot
9- Sistem boot edildiğinde otomatik olarak Dovecot başlatılması için
# chkconfig dovecot on
10- Konfigürasyonu test etmek için kullanıcı eklenir
# useradd -m ibrahim -s /sbin/nologin
# useradd -m kiraz -s /sbin/nologin
Son olarak da squirrelMail ile kullanıcı girişi yapılarak local de mail gönderimi test edilir.
No comments:
Post a Comment