Postfix-postfixadmin-dovecot di trustix 3.05

By admin

Pada panduan ini, tidak dijelaskan memakai fasilitas qouta dan SALS.

Pilih paket-paket instalasi seperti contoh dibawah. Agar Trustix tetap ramping.

paketan di trustix

Setelah TSL terinstall sempurna, ikuti petunjuk di bawah selanjutnya.

  1. Buat user virtual untuk menampung virtual domain dan maildir-nya
    root@go ~# useradd vmail
    root@go ~# id vmail
    uid=501(vmail) gid=100(users) groups=100(users)

    catat userid dan gid untuk memberikan akses postfix pada saat penulisan email baru.

  2. Siapkan aplikasi postfix agar support mysql dan config untuk interface postfix-mysql.
    # swup --install postfix-mysql

    Buat file-file berikut di /etc/postfix

    # cd /etc/postfix
    # vi mysql_virtual_alias_maps.cf
    # vi mysql_virtual_domains_maps.cf
    # vi mysql_virtual_mailbox_maps.cf
    # vi mysql_virtual_mailbox_limit_maps.cf
    # vi mysql_relay_domains_maps.cf
    • mysql_virtual_alias_maps.cf
      user = postfix
      password = postfix
      hosts = localhost
      dbname = postfix
      query = SELECT goto FROM alias WHERE address='%s' AND active = 1
    • mysql_virtual_domains_maps.cf
      user = postfix
      password = postfix
      hosts = localhost
      dbname = postfix
      query = SELECT domain FROM domain WHERE domain='%s'
      #optional query to use when relaying for backup MX
      #query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '0' and active = '1'
    • mysql_virtual_mailbox_maps.cf
      user = postfix
      password = postfix
      hosts = localhost
      dbname = postfix
      query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1
    • mysql_virtual_mailbox_limit_maps.cf
      user = postfix
      password = postfix
      hosts = localhost
      dbname = postfix
      query = SELECT quota FROM mailbox WHERE username='%s'
    • mysql_relay_domains_maps.cf
      user = postfix
      password = postfix
      hosts = localhost
      dbname = postfix
      query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1'

    Ubah ijin akses file config postfix-mysql

    # chmod 644 mysql_*
  3. Untuk konfig di postfix, edit file main.cf dan tambahkan baris berikut.
    virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
    virtual_gid_maps = static:100
    virtual_mailbox_base = /home/users/vmail
    virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
    virtual_mailbox_limit = 51200000
    virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
    virtual_minimum_uid = 501
    virtual_transport = virtual
    virtual_uid_maps = static:501
    virtual_create_maildirsize = yes
    # Additional for quota support
    #virtual_mailbox_extended = yes
    virtual_maildir_extended = yes
    #memaksa postfix overide nilai virtual_mailbox_limit ??
    virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
    virtual_mailbox_limit_override = yes
    virtual_maildir_limit_message = "The user you are trying to reach is over quota."
    virtual_overquota_bounce = yes

    Perhatian untuk UID dan GID, nilainya diambil dari hasil id vmail di atas.

  4. Untuk di mysql server, konfig sesuai baris berikut.
    CREATE DATABASE postfix;
    CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'postfix';
    GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';
    Flush privileges;
  5. Postfixadmin
    Pastikan paket php dan mysql sudah di aktifkan di apache.

    # vi /etc/httpd/php.ini
    # vi /etc/httpd/conf.d/httpd-php.conf
    # swup --install php-cli

    Donwlot dan extract postfixadmin-2.2.0

    # cd /home/httpd/html/
    # wget http://surfnet.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin_2.2.0.tar.gz
    # umask 022
    # tar xzf postfixadmin_2.2.0.tar.gz
    # mv postfixadmin-2.2.0 admin
    # chown httpd.httpd -R admin

    Edit file config.inc.php

    # cd /home/httpd/html/admin
    # replace "$CONF['configured'] = false;" "$CONF['configured'] = true;" -- config.inc.php
    # replace "change-this-to-your.domain.tld" "network.web.id" -- config.inc.php
    # replace "$CONF['domain_path'] = 'NO';" "$CONF['domain_path'] = 'YES';" -- config.inc.php
    # replace "$CONF['domain_in_mailbox'] = 'YES';" "$CONF['domain_in_mailbox'] = 'NO';" -- config.inc.php

    Pastikan password koneksi database sudah disesuikan.

    Test koneksi dan kesiapan-nya

    http://ip-server-mu/admin/setup.php

    Pastikan tidak ada pesan error, dan sampai dibagian bawah-nya muncul form untuk membuat superadmin.

    # mv setup.php setup.php.old

    Restart aplikasi postfix.

    # /etc/init.d/postfix restart

    Sesudah merename file setup.php, silaken kembali dicoba masuk ke menu admin dengan login/passwd yang sudah dibuat tadi dan silakan tambah virtual domain dan user-nya.

    http://ip-server-mu/admin/

    Pada waktu penambahan user virtual di virtual domain, secara otomatis, postfixadmin akan mengirimi user tersebut email selamat datang.
    Silakan periksa di home vmail, apakah domain dan usernya sudah terbentuk secara otomatis ?

    Bila semua berjalan normal, saatnya untuk mengkonfigure postfix agar bisa menerima email dari internet.

    postconf -e 'inet_interfaces = all'
    /etc/init.d/postfix restart
  6. Dovecot
    Buat user dovecot untuk alasan security.

    # useradd dovecot -M -s /sbin/nologin

    Untuk mengakses dan mengambil email dari mailbox, saya memilih untuk memakai dovecot.
    Pada saat tulisan ini ditulis, versi terbaru dovecot adalah 1.0.13

    Downlot dan extract dovecot.

    # wget http://www.dovecot.org/releases/1.0/dovecot-1.0.13.tar.gz
    # tar xzf dovecot-1.0.13.tar.gz

    Agar dovecot dapat membaca database mysql. Maka librari mysql perlu di install.

    # swup --install mysql-devel

    Konfigure untuk instalasi dovecot.

    ./configure --prefix=/usr --sysconfdir=/etc/dovecot --with-mysql
    make
    umask 022
    make install

    File configure dovecot nantinya akan di simpan di /etc/dovecot
    Buat file dovecot.conf dan edit isinya seperti contoh dibawah.

    # cd /etc/dovecot
    # vi dovecont.conf
    protocols = pop3 imap imaps
    listen = *
    login_process_size = 64
    default_mail_env = maildir:/home/users/vmail/%d/%n
    
    mail_access_groups = postfix
    verbose_proctitle = yes
    mbox_read_locks = fcntl
    mbox_write_locks = fcntl
    
    ssl_disable = yes
    
    protocol imap {
    imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
    }
    
    protocol pop3 {
    pop3_uidl_format = %08Xu%08Xv
    pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
    }
    
    auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
    
    auth_debug = yes
    auth_verbose = yes
    auth default {
    
    passdb sql {
    args = /etc/dovecot/dovecot-mysql.conf
    }
    
    userdb sql {
    args = /etc/dovecot/dovecot-mysql.conf
    }
    }

    Dan file dovecot-mysql.conf

    driver = mysql
    default_pass_scheme = CRYPT
    connect = host=localhost dbname=postfix user=postfix password=postfix
    password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
    user_query = SELECT maildir, 501 AS uid, 100 AS gid FROM mailbox WHERE username = '%u' AND active = '1'

    Angka 501 dan 100 didapat dari $id vmail
    Ubah ijin akses kedua file tersebut.

    # chmod 644 *

    Jalankan dovecot dan pastikan tidak ada pesan error.

    # /usr/sbin/dovecot
  7. Webmail
    Untuk aplikasi webmail dapat memakai sembarang aplikasi, saya memilih squirrel karena sudah umum dan mudah dalam instalasinya.

    Downlot dan extrat squirrelmail.

    # wget http://mesh.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.15.tar.bz2
    # tar xjf squirrelmail-1.4.15.tar.bz2
    # mv squirrelmail-1.4.15 webmail
    # chown httpd.httpd -R webmail

    Jalankan file config untuk membuat konfigurasi, dan sesuaikan dengan kebutuhan server anda.

     # cd webmail
    # config/conf.pl

Acuan

  1. http://www.howtoforge.org/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.04
  2. http://bliki.rimuhosting.com/space/knowledgebase/linux/mail/postfixadmin+on+debian+sarge
  3. http://gentoo-wiki.com/HOWTO_Setup_a_Virtual_Postfix/Courier_Mail_System_with_PostfixAdmin

3 Comments

  • At 2009.01.30 17:24, hamdi said:

    gimana cara mengistall joomla di trustix mas?? saya dah coba taruh file joomla di /home/httpd/html tapi g’ keluar dalam browsernya? mohon pencerahannya.

    • At 2010.07.01 13:34, Yoga said:

      Pak,
      sya mau tanya
      kalo postfix adminnya sudah terinstall, dan cara menggunakannya gimana ?
      kalau tidak mempunyai domain

      • At 2012.10.19 08:48, piet said:

        pak
        gimana cara mengkonfigurasi cpplus yg ada di trustix 3.0.5. saya dah coba waktu login saya gunakan root user & pass nya (kayak webmin) tapi gak bisa. saya coba buat group dan user cpplus nya ttep gak bisa jg buat login.

        (Required)
        (Required, will not be published)