This Blog
Linked From Here
Interesting Site
This Blog
 
 
 
 
Linked From Here
 
 
 
Interesting Site
 
 
 

Monday, November 19, 2007

How To Install Postfix Mail Server with Mailman and Squirrel Mail

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

  1. MySQL – Database Server
  2. Postfix – Mail Server
  3. Courier IMAP – IMAP dan POP3 Server
  4. Postfix Admin – Administrasi Postfix
  5. Mailman – Mailing List Manager
  6. SquirrelMail – Web based Mail Software
  7. Apache with PHP supported – Web Server
  8. PHP – Server Side Scripting

Urutan Instalasi

  1. Install MySQL
  2. Install Apache
  3. Install PHP
  4. Install PostfixAdmin
  5. Install Postfix
  6. Install Courier IMAP
  7. Install Mailman
  8. Install SquirrelMail

Install MySQL

  1. Menggunakan RPM package yang ada dalam CD Fedora
  2. Atau menggunakan Add/Remove Software di dalam System Menu GUI.
  3. Atau menggunakan Syntax Instalasi untuk shell install :
  4. 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

    1. Menggunakan RPM package yang ada dalam CD Fedora
    2. Atau menggunakan Add/Remove Software di dalam System Menu GUI.
    3. Syntax Instalasi untuk shell install :
    4. 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


    Installasi Postfix - Disable Sendmail

    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 =
    pass123

    hosts =
    localhost

    dbname =
    postfix

    query =
    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

    Courier IMAP – Jalankan Daemon

    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



    -From Last Project 2006-

    0 comments:

    National Geographic POD