Postfix Mail Server Installation
Teknik Instalasi
RPM (Redhat Package Manager)
menggunakan rpm command:
- rpm –I untuk install
- rpm –U untuk upgrade
- rpm-e untuk erase
- gunakan command "man rpm" untuk melihat manual rpm packet
- menggunakan syntax,configure, make, make install,makecheck,make clean
Paket yang dibutuhkan
- MySQL – Database Server
- Postfix – Mail Server
- Courier IMAP – IMAP dan POP3 Server
- Postfix Admin – Administrasi Postfix
- Mailman – Mailing List Manager
- SquirrelMail – Web based Mail Software
- Apache with PHP supported – Web Server
- PHP – Server Side Scripting
Urutan Instalasi
- Install MySQL
- Install Apache
- Install PHP
- Install PostfixAdmin
- Install Postfix
- Install Courier IMAP
- Install Mailman
- Install SquirrelMail
Install MySQL
- Menggunakan RPM package yang ada dalam CD Fedora
- Atau menggunakan Add/Remove Software di dalam System Menu GUI.
- Atau menggunakan Syntax Instalasi untuk shell install :
- Rpm –ivh
.rpm:
Parameter “i” adalah “Install” Parameter “v” adalah “verbose” – menampilkan seluruh output dari
porses instalasi tersebut Parameter “h” adalah “hash” –Check integrity dari paket rpm
tersebut
Install Apache/HTTPD
- Menggunakan RPM package yang ada dalam CD Fedora
- Atau menggunakan Add/Remove Software di dalam System Menu GUI.
- Syntax Instalasi untuk shell install :
- Rpm –ivh
.rpm:
- Parameter “i” adalah “Install”
- Parameter “v” adalah “verbose” – menampilkan seluruh output dari porses instalasi tersebut
- Parameter “h” adalah “hash” –Check integrity dari paket rpm tersebut
Install PHP
- Menggunakan RPM package yang ada dalam CD Fedora
- Atau menggunakan Add/Remove Software di dalam System Menu GUI.
Atau Syntax Instalasi untuk shell install :
Rpm –ivh .rpm:
Parameter “i” adalah “Install”
Parameter “v” adalah “verbose” – menampilkan seluruh output dari porses instalasi tersebut
Parameter “h” adalah “hash” –Check integrity dari paket rpm tersebut
Instalasi Postfix Admin
- Extract paket Postfix Admin
- tar –xvf postfixadmin-2.1.0.tgz
- Memindahkan folder hasil extract ke Http Root folder (dalam hal ini /var/www/html)
- mv postfixadmin-2.1.0/* /var/www/html/mailadmin
- Mempersiapkan database untuk postfix,postfix admin dan mysql
- cd /var/www/html/mailadmin
- mysql -u root -p <>
- Password: *******
Memastikan layout sudah terbuat
- Masuk ke MYSQL
- mysql -u root –p
- Masukkan password admin mysql
- Prompt mysql>
- Pada prompt, ketik show databases
mysql> show databases;
+-----------+
Database
+-----------+
cjs_db
dbmailarc
horde
mambo
mysql
postfix
test
+-----------+
7 rows in set (0.00 sec)
Instalasi Postfix
Buat User dan Group postfix sebagai credential untuk menjalankan service postfix
- groupadd -g 12345 postfix
- useradd -g 12345 -u 12345 -s /bin/bash/ postfix
- useradd postdrop
Extract paket Postfix
- Tar zxvf postfix-2.2.10.tar.gz
- Akan terbentuk direktori postfix-2.2.10
Matikan dan disable service sendmail menghindari bentrok service
- service sendmail stop
- chkconfig --level 12345 sendmail off
- mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF
- mv /usr/bin/newaliases /usr/bin/newaliases.OFF
- mv /usr/bin/mailq /usr/bin/mailq.OFF
- chmod 755 /usr/sbin/sendmail.OFF /usr/bin/newaliases.OFF /usr/bin/mailq.OFF
Instalasi Postfix – Apply Quota Patch
- Install postfix-2.2.10-vda.patch.gz
- zcat postfix-2.2.10-vda.patch.gz patch -p0
- Proses patching akan terlihat sebagai berikut:
patching file postfix-2.2.10/README_FILES/VDA_README
patching file postfix-2.2.10/src/global/mail_params.h
patching file postfix-2.2.10/src/util/file_limit.c
patching file postfix-2.2.10/src/virtual/mailbox.c
patching file postfix-2.2.10/src/virtual/maildir.c
patching file postfix-2.2.10/src/virtual/virtual.c
patching file postfix-2.2.10/src/virtual/virtual.h
Instalasi Postfix - Instalasi
- Install postfix dengan malkukan kompilasi paket tersebut dengan syntax sebagai berikut
- cd postfix-2.2.10
- make makefiles 'CCARGS=-DHAS_MYSQL -DFD_SETSIZE=2048 -I/usr/include/mysql' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm'
- make
- make install (interactive)
Instalasi Postfix – Persiapan drektori mailbox
Buat direktori virtual untuk mailbox
- mkdir /usr/local/virtual
- chown -R postfix:postfix /usr/local/virtual
- chmod -R 771 /usr/local/virtual
Instalasi Postfix - Konfigurasi
Masukkan konfigurasi ke file /etc/postfix/main.cf
Instalasi Postfix - Aliases
Buat file mysql_virtual_alias_maps.cf di /etc/postfix
- touch mysql_virtual_alias_maps.cf
- vim mysql_virtual_alias_maps.cf
- lalu isi file dengan setting di bawah ini:
user = root
password = *******
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = 1
Instalasi Postfix - Aliases
Buat file mysql_virtual_domains_maps.cf di /etc/postfix
- touch mysql_virtual_domains_maps.cf
- vim mysql_virtual_domains_maps.cf
- lalu isi file dengan setting di bawah ini:
user = root
password = *******
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s'
Instalasi Postfix - Aliases
Buat file mysql_virtual_mailbox_maps.cf di /etc/postfix
- touch mysql_virtual_mailbox_maps.cf
- vim mysql_virtual_mailbox_maps.cf
- lalu isi file dengan setting di bawah ini:
user = root
password = *******
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1
Instalasi Postfix - Aliases
Buat file mysql_virtual_mailbox_limit_maps.cf di /etc/postfix
- touch mysql_virtual_mailbox_limit_maps.cf
- vim mysql_virtual_mailbox_limit_maps.cf
- lalu isi file dengan setting di bawah ini:
user = root
password = *******
hosts = localhost
dbname = postfix
query = SELECT quota FROM mailbox WHERE username='%s'
Instalasi Postfix - Aliases
Buat file mysql_relay_domains_maps.cf di /etc/postfix
- touch mysql_relay_domains_maps.cf
- vim mysql_relay_domains_maps.cf
- lalu isi file dengan setting di bawah ini:
user = root
password =
pass123hosts =
localhostdbname =
postfixquery =
SELECT domain FROM domain WHERE domain='%s' and backupmx =
'1'
Instalasi Postfix - Finishing
Untuk alasan keamanan kita rubah permission dan groupnya
- chmod 640 mysql_*
- chgrp postfix mysql_*
Instalasi Courier IMAP
Extract dan compile paket sebagai user biasa (tidak sebagai root)
- su
(beralih user sebagai non root user) - tar –zxvf courier-authlib-0.58.tar.bz2
- ./configure –with-redhat, make, make install, make install-migrate, make install-configure
- tar –xvf courier-imap-4.1.0.tar.bz2 (Extract paket)
- cd courier-imap-4.1.0 (masuk dalam direktori hasil extract)
- ./configure --with-redhat (Konfigurasi pra kompilasi)
- make (kompilasi)
- make check (checking kompilasi)
- su atau exit(kembali sebagai root)
- make install (install dalam system)
- make install-configure (konfigurasi)
Instalasi Courier IMAP - Authdaemonrc
- Edit file authdaemonrc yang berhubungan dengan bagaimana cara Courier melakukan autentikasi user
- vim /usr/local/etc/authlib/authdaemonrc :
DEFAULT_DOMAIN tarra.com
MYSQL_CRYPT_PWFIELD password
MYSQL_DATABASE postfix
MYSQL_GID_FIELD '12345‘
MYSQL_HOME_FIELD '/usr/local/virtual‘
MYSQL_LOGIN_FIELD username
MYSQL_MAILDIR_FIELD maildir
MYSQL_NAME_FIELD name
MYSQL_OPT 0
MYSQL_PASSWORD *******
# Uncomment below
if you want quota support.MYSQL_SERVER localhost
MYSQL_UID_FIELD '12345‘
MYSQL_USERNAME postfix
MYSQL_USER_TABLE mailbox
MySQL:
- service mysqld start/restart
HTTP:
- service httpd start/restart
Postfix:
- postfix start
Courier IMAP:
- /usr/local/libexec/courier-authlib/authdaemond &
- cd /usr/lib/courier-imap/libexec/
- ./imapd.rc start
- pop3d.rc start
Startup Script
Agar dapat mengaktifkan service saat startup system, masukkan beberapa baris berikut ini dalam script /etc/rc.local:
postfix start
touch /var/lock/subsys/local
/usr/local/libexec/courier-authlib/authdaemond &
/usr/lib/courier-imap/libexec/imapd.rc start
/usr/lib/courier-imap/libexec/pop3d.rc start
Instalasi Mailman
- Instalasi menggunakan RPM
- Hasil instalasi mailman akan dalam direktori /usr/lib/mailman
- Konfigurasi mailman dalam /etc/mailman
Konfigurasi Mailman
- Edit file /etc/postfix/main.cf, dan masukkan beberapa baris berikut:
recipient_delimiter = +
unknown_local_recipient_reject_code = 550
transport_maps = hash:/etc/postfix-config/transport mailman_destination_recipient_limit =1
relay_domains = tarra.com, mail.tarra.com, odiva.com, disctarra.com
- Edit file /etc/postfix/transport, dan masukkan baris berikut ini:
mail.tarra.com mailman:
- Lakukan postmap untukmengkonvert file transport menjadi file db yang dapat terbaca oleh postfix
- postmap /etc/postfix-config/transport
Konfigurasi Mailman
- Edit file /etc/postfix/master.cf, dan masukkan beberapa baris berikut:
mailman unix - n n - - pipe
flags=FR user=mailman
argv=/var/lib/mailman/postfix-to-mailman.py ${nexthop} ${user}
- Edit file var/lib/mailman/postfix-to-mailman.py, dan masukkan baris berikut ini:
MailmanHome = "/usr/lib/mailman"; # Mailman home directory.
MailmanOwner = “vikki.vindirama@tarra.com";
Konfigurasi Mailman
- Edit file //usr/lib/mailman/Mailman/mm_cfg.py, dan masukkan atau edit beberapa baris berikut:
MTA = 'Postfix'
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['mail.tarra.com']
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
add_virtualhost('mail.tarra.com', 'mail.tarra.com')
- Generate alias untuk virtual users dan mailboxes
cd /usr/lib/mailman
cd /usr/local/mailman bin/genaliases
0 comments:
Post a Comment