Copyright © Ari Kuswanto
Design by Dzignine
Rabu, 12 Januari 2011

Contoh cara Instalasi qmail paada Freebsd

  • Download source dari http://pobox.com/~djb/qmail

    Source ini masih berupa file compress yang berekstension tgz. Versi terbaru sampai saat ini adalah versi 1.03 .

  • Extrack file qmail1.03.tar.gz dengan command :

# tar -xvf qmail1.03.tar.gz

Setelah itu file akan di ekstrak dan disimpan dalam direktori

/tempat_file_qmail.tgz/qmail-1.03

  • Buatlah direktori /var/qmail dengan command :

    #mkdir /var/qmail

  • buat user dan group :
    • group : nofiles dan qmail
    • user : qmaill, qmails, qmaild, qmailr

    Untuk membuatnya sudah ada perintahnya seperti yang ada pada dokumentasi yaitu dengan command pw yaitu :

# pw groupadd nofiles

# pw useradd alias -g nofiles -d /var/qmail/alias -s

/nonexistent

# pw useradd qmaild -g nofiles -d /var/qmail -s /nonexistent

# pw useradd qmaill -g nofiles -d /var/qmail -s /nonexistent

# pw useradd qmailp -g nofiles -d /var/qmail -s /nonexistent

# pw groupadd qmail

# pw useradd qmailq -g qmail -d /var/qmail -s /nonexistent

# pw useradd qmailr -g qmail -d /var/qmail -s /nonexistent

# pw useradd qmails -g qmail -d /var/qmail -s /nonexistent

  • Kembali ke direktori dimana source qmail diletakkan. Lalu compile source dengan command :

# make setup check

  • cd /var/qmail/configure
  • Lakukan perintah untuk mensetup file konfigurasi qmail dengan command : #./config

    Atau dengan command minimal yang menyatakan nama internet host:

    # ./ config-fast nama-host.domain.anda

    Setelah perintah di atas, file configurasi yang tercipta diletakkan pada direktori /var/qmail/control. Dapat dilihat terdapat beberapa file konfigurasi : me, rcpthosts, locals dan yang lainnya, sedangkan yang minimal harus ada adalah file me yang menyatakan nama internet host tersebut.

  • Alias yaitu file yang berisikan nama-nama alias yang mengacu kepada nama sesungguhnya. Pada sendmail file ini terdapat pada /etc/aliases. Qmail mempunyai mekanisasi sendiri untuk alias yaitu dengan meletakkan alias-alias pada home direktori alias yaitu /var/qmail/alias. Bentuk alias qmail berbeda dengan sendmail. Sewaktu instalasi minimal harus dibuat 3 buah alias untuk :
    • Mailer-daemon
    • Root
    • Postmaster

    Ketiga alias dibuat dengan membuat sebuah file kosong yang bernama :

    .qmail-mailer-daemon

    .qmail-root

    .qmail-postmaster

    Hal ini dapat dilakukan dengan command :

    # cd ~alias

    # touch .qmail-mailer-daemon .qmail-root .qmail-mailer-daemon

    Lalu untuk keperluan sistem , dibuat hak untuk ketiga file tersebut dengan mode 644 dengan command :

    # chmod 644 ~alias/.qmail*

  • Instalasi yang dilakukan pada sistem yang sedang berjalan dan menyalakan sendmail pada port 25 perlu mengecek terlebih dahulu apakah ada antrian mail. Akan lebih baik apabila sewaktu memulai instalasi, port 25 ditutup terlebih dahulu apabila yakin instalasi qmail ini akan memakan waktu kurang dari 1 jam. Dan akan jauh lebih mudah untuk menginstall pada sistem yang masih baru dan belum banyak mempunyai user.

    Apabila kondisi terburuk harus dihadapi yaitu sistem yang sudah stabil dan mempunyai banyak user, bisa dilakukan dengan cara (sebaiknya dilakukan pada mode single, yaitu sistem hanya dapat dipakai oleh 1 orang yaitu root) :

    • Memindahkan /var/mail/nama_user ke /home/nama_user/Mailbox, dengan command :

      # mv /var/mail/udin ~udin/Mailbox

      • Membuat link dari masing-masing /var/mail/nama_user ke

    ~nama _user/Mailbox

dengan command :

# ln -s ~udin/Mailbox /var/mail/udin

  • Lalu mengubah mode file supaya tidak bisa terhapus :

# chmod 1777 /var/mail/udin

    Semuanya harus dilakukan untuk setiap user. Hal ini merupakan sebuah hal

yang sangat melelahkan, kecuali ada script yang dapat melakukannya.

  • Untuk memulai qmail bekerja di bawah inetd maka edit /etc/inetd.conf dengan menambahkan line :

smtp stream tcp nowait qmaild /var/qmail/bin/tcp-en tcp-env

/var/qmail/bin/qmail-smtpd

Semua line diletakkan dalam satu baris, maksudnya walaupun baris sudah tidak

cukup, teruskan saja tanpa menekan tombol enter. Pada freebsd versi 2.2.7 ke atas, line tersebut sudah ada, hanya tinggal membuka tanda #.

  • File yang menjalankan qmail berupa script sederhana yang dapat dilihat pada /var/qmail/boot. Untuk sistem ini dipilih file home yang akan meletakkan mail baru pada file Mailbox di tiap home direktori user. Untuk melakukan hal itu :

    # cp /var/qmail/boot/home /var/qmail/.

    Maka file home akan terletak pada /var/qmail

  • Qmail perlu dijalankan setiap kali sistem hidup, oleh karena itu perlu dibuat script yang akan menjalankan qmail. Pada waktu booting, freebsd akan membaca direktori /usr/local/etc/rc.d/ . Maka perlu dibuat link dari direktori ini ke file script yang menjalankan qmail yang terletak pada /var/qmail/home.

# ln -s /var/qmail/home qmail.sh

  • Instalasi telah selesai, tinggal mereboot ulang sistem atau dengan merestart inetd dan menjalankan script yang memulai qmail.

# kill -HUP [pid inetd]

# /var/qmail/home &

Lalu perlu di check apakah proses qmail sudah berjalan. Hal ini dilakukan dengan command :

# ps ax |grep qmail

Bila proses qmail sudah berjalan, maka akan keluar out put berupa 4 proses qmail yang sedang idle, yaitu :

qmail-send, qmail-lspawn, qmail-rspawn and qmail-clean.


 

  • Untuk melakukan testing, ada dua jenis yang perlu dilakukan yaitu delivery dan receive. Dalam test ini, proses sendmail masih bisa berjalan dan test tidak akan mengganggunya. Untuk test yang pertama dapat dilakukan dengan mengrimkan mail kepada user yang bernama udin :

# echo to: udin | /var/qmail/bin/qmail-inject

Lalu lihat apa yang telah dicatat syslogd (syslogd adalah sebuah daemon yang melakukan logging terhadap sistem) dengan cara :

# tail -f /var/log/maillog

Maka akan terlihat output berupa proses kerja qmail untuk menyampaikan message.

Untuk test selanjutnya dilakukan pengiriman ke remote host

# echo to : dodi@students.itb.ac.id | /var/qmail/bin/qmail-inject

Lalu kembali lakukan checking pada syslogd seperti di atas. Untuk melakukan testing receive dapat dilakukan dari host lain dengan mengirimkan mail ke host yang sedang di test. Pada level ini, apabila semua test berhasil maka sendmail boleh dimatikan prosesnya dengan

# kill -9 [pid sendmail]

Untuk melihat apakah qmail sudah bekerja pada port 25, maka dilakukan :

# telnet 127.0.0.1 25

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

220 domain ESMTP

helo udin

250 domain

mail <udin@nama-host.domain.anda>

250 ok

rcpt <udin@nama-host.domain.anda>

250 ok

data

354 go ahead

Subject: test

Ini cuma test.

.

250 ok 812345679 qp 12345

quit

221 domain

Connection closed by foreign host.

  • Setelah semua test dilakukan dan berhasil, maka perlu dilakukan pembuangan sendmail. Hal ini harus dilakukan agar user tidak dapat menggunakan sendmail untuk mengirimkan mail. Untuk itu dilakukan :

    # chmod 0 /usr/sbin/sendmail

    Dan edit file /etc/rc.conf untuk tidak memulai sendmail pada waktu booting, yaitu pada line :

    sendmail=YES diubah menjadi sendmail=NO

  • Selanjutnya adalah merubah sedikit konfigurasi dari MUA agar dapat bekerja dengan qmail. MUA yang dibahas adalah pine dan mail. Sistem yang sudah terinstall pine akan mempunyai file konfigurasi umum pada direktori /usr/local/etc/pine.conf. Yang perlu ditambahkan pada file ini adalah pada bagian :

inbox path = Mailbox

sendmail-path = /var/qmail/bin/qmail-inject

Untuk mengubah konfigurasi MUA mail, file konfigurasi yang perlu diedit adalah /etc/mail.conf. Tambahkan line set sendmail=/var/qmail/bin/date-mail .


 


 

Source by : Dodi Maryanto Subhan