Menginstall Qmail Server

Qmail Server

1. Program yg digunakan:
--------------------

1.1 Webserver + addon:
-----------------
1.1.1 apache_1.3.27.tar.gz (Webserver).
1.1.2 openssl-0.9.6h.tar.gz
1.1.3 mod_ssl-2.8.8-1.3.27.tar.gz
1.1.4 mod_perl-1.27.tar.gz
1.1.5 php-4.2.3.tar.gz
1.1.6 mod_gzip-1.3.26.1a.tar.gz

1.2 Database:
--------
1.2.1 mysql-3.23.54.tar.gz

1.3 Aplikasi Email:
--------------
1.2.1 qmail-1.03.tar.gz (MTA).
2.2.2 vpopmail-5.3.8.tar.gz (Virtual email untuk protokol POP ).
3.2.3 courier-imap-1.4.6.20020529.tar.gz (Virtual mail untuk protokol IMAP).
4.2.4 squirrelmail-1.2.6.tar.gz (Web base email reader untuk protocol IMAP).

2. Perencanaan dan tata letak.
--------------------------
Silahkan anda "pikirkan masak-masak" anda mau simpen dimana data
untuk web, mail anda. dan semuanya tergantung dari keperluan anda.
kalo saya lebih seneng kalo meletakan khusus di partisi tersendiri
sebagai contoh:

$df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 197M 58M 123M 32% /
/dev/ad0s1g 4.9G 23M 4.5G 0% /home
/dev/ad0s1d 2.4G 1.6M 2.2G 0% /mail
/dev/ad0s1e 4.9G 1.0G 3.5G 23% /usr
/dev/ad0s1f 1008M 9.1M 918M 1% /var
/dev/ad0s1h 4.9G 205M 4.3G 4% /www
procfs 4.0K 4.0K 0B 100% /proc

Nah untuk data webserver (/www), email (/mail) diletakan di partisi
terpisah, nah perencanaan ini sebetulnya tidak layak untuk dibicarakan
pada session ini karena memang ini dipikirkan pas anda mulai menginstall
box anda.
3. Langkah langkah pengerjaan:
--------------------------

3.1 Apache + PHP + OpenSSL + mod_ssl + mod_perl + mod_gzip + MySQL
--------------------------------------------------------------
3.1.1 Pembuatan bikin direktori source.
Sebelum kita mulai terlebih dahulu kita harus login sbg
"root" dan pastikan letak untuk source2 file tersebut, saya
pribadi suka meletakan di /usr/local/src/

$mkdir /usr/local/src

Pastiakan semua source kita diletakan di direktori
tersebut, sebetulnya tergantung anda mau disimpen dimana.

3.1.2 Pengekstrakan semua source kita.
Untuk sistem operasi berbasis UNIX tentunya kita tidak
asing dengan perintah "tar" dan program kompresi (gzip,
gunzip, bzip, bzip2). Sekarang kita lakukan untuk semua
program pengekstrakan:

$pwd
/usr/local/src
$tar zxvf apache_1.3.27.tar.gz
$tar zxvf mod_perl-1.27.tar.gz
$tar zxvf mod_ssl-2.8.8-1.3.27.tar.gz
$tar zxvf mysql-3.23.54.tar.gz
$tar zxvf openssl-0.9.6h.tar.gz
$tar zxvf php-4.2.3.tar.gz
$tar zxvf mod_gzip-1.3.26.1a.tar.gz

Note: mod_ssl harus sama mutlak dng versi apache anda.

Setelah perintah di atas dieksekusi pastikan terbentuk
direktori:

$ls -l
apache_1.3.27
mod_perl-1.27
mod_ssl-2.8.8-1.3.27
mysql-3.23.54
openssl-0.9.6h
php-4.2.3
mod_gzip-1.3.26.1a

3.1.3 Kompile source.
Sekarang lakukan kompile source MySQL tersebut, tapi
diwajibkan anda membuat user/group untuk daemon MySQL
dengan cara:

$pw adduser mysql
$pw addgroup mysql

Untuk opsi lengkapnya silahkan terlebih dahulu anda ketik:

$./configure --help | more

Kalo memang anda sudah paham silahkan anda mulai
kompile MySQL:

$cd mysql-3.23.54
$./configure (defaulnya ini akan di ekstrak ke direktori
/usr/local)
$make
$make check
$make install
$make clean

Pastikan anda tidak mendapatkan error, kalo misalnya
terjadi error tolong check pesan errornya. agar daemon
MySQL running pas pertama kali booting silakan anda entri
di /etc/rc.local:

$vim /etc/rc.local
isi dng : /usr/local/bin/safe_mysqld --user=root &

Secara default daemon MySQL akan running dng user "root"

Note: Silahkan baca2 untuk manual README, INSTALL dsb.

Sekarang kita kompile OpenSSL, kita lakukan sbb:

$cd ../openssl-0.9.6h
$./config --prefix=/usr/local
$make
$make install

Defaultnya hasilnya akan disimpan di /usr/local/openssl,
kita lanjutkan kompile mod_ssl sbb:

$cd ../mod_ssl-2.8.8-1.3.27
$./configure --with-apache=/usr/local/src/apache_1.3.27 \
$ --with-ssl=/usr/local/src/openssl-0.9.6h \
$ --prefix=/www \
$ --enable-module=ssl \
$ --enable-module=all \
$ --enable-rule=EAPI

Perintah diatas akan mengabungkan mod_ssl, apache dan
openssl, Hasilnya akan disimpen di parsisi /www, kita lakukan
compile juga untuk apachenya:

$cd ../apache_1.3.27
$make
$make certificate TYPE=option (Jawab pertanyaan ini dengan seksama)
$make install

Jika anda ingin membuat sertifikat sendiri maka tambahkan
options "TYPE=custom" pas make certificate, Ada beberapa
option dibawah ini yg bisa anda pake:

- TYPE=dummy, Jika anda sbg maintainer paket.
- TYPE=test, Jika anda sbg admin dan ingin ngetes saja.
- TYPE=custom, Jika anda sbg admin yang ingin build server sendiri.
- TYPE=existing, Jika anda sbg admin yang mengupgrade server.

Jika anda tidak menyertakan options maka defaultnya punya orang
dalam hal ini "Snake Oil CA" nanti kita bisa bikin sendiri
sertifikatnya, kita lanjutkan dengan kompile PHP digabungkan
dengan apache, mysql:

$cd ../php-4.2.3
$./configure --with-apxs=/www/bin/apxs \
$ --with-mysql \
$ --enable-trans-sid \
$ --enable-debug=no \
$ --enable-track-vars
$make
$make install

Pastikan tidak keluar pesan error, nah selanjutnya kita
perlu mengkopi file config untuk PHP ini:

$cp /usr/local/src/php-4.2.3/php.ini-dist /usr/local/lib/php.ini

Pastikan supaya php module jalan di web anda, anda bisa
tambahkan beberapa options di php.ini, sebelumnya silahkan
anda baca dulu keterangan ttg options ini.

$vim /usr/local/lib/php.ini
Edit/Tambahkan:
register_globals = On

Berikut keteranganya:
You should do your best to write your scripts so that they
do not require register_global to be on; Using form
variables as globals can easily lead to possible security
problems, if the code is not very well thought of.

Kalo memang sudah benar, kita lanjutkan ke proses
kompile mod_perl tolong silahkan check pastikan perl sudah
terinstall pada sistem anda, kompilenya dengan cara:

$cd ../mod_perl-1.27
$perl Makefile.PL USE_APXS=1 WITH_APXS=/www/bin/apxs EVERYTHING=1
$make
$make install

Penginstalan mod_gzip eksternal, kita mulai dengan langkah:

$cd ../mod_gzip-1.3.26.1a

Ada beberapa line dari script Makefile musti kita rubah:

$ls -l
total 444
drwxr-xr-x 3 mysql mysql 512 Jan 10 22:33 .
drwxr-xr-x 32 root wheel 2048 Jan 10 21:46 ..
-rw-r--r-- 1 root wheel 4866 Oct 1 14:29 ChangeLog
-rw-r--r-- 1 root wheel 257 Jan 10 22:29 Makefile
-rw-r--r-- 1 root wheel 252 Oct 1 14:29 Makefile.libdir
-rw-r--r-- 1 root wheel 2042 Oct 1 14:29 Makefile.tmpl
drwxr-xr-x 3 root wheel 512 Jan 10 22:02 docs
-rw-r--r-- 1 root wheel 227701 Oct 1 14:29 mod_gzip.c
-rw-r--r-- 1 root wheel 10099 Oct 1 14:29 mod_gzip.h
-rwxr-xr-x 1 root wheel 80758 Jan 10 22:29 mod_gzip.so
-rw-r--r-- 1 root wheel 71415 Oct 1 14:29 mod_gzip_compress.c
-rw-r--r-- 1 root wheel 19671 Oct 1 14:29 mod_gzip_debug.c
-rw-r--r-- 1 root wheel 4322 Oct 1 14:29 mod_gzip_debug.h

$vim Makefile
Edit/Tambahkan jadi:
APXS?=/www/bin/apxs

$make
$make build
$make install
$make clean

Post new comment

Please solve the math problem above and type in the result. e.g. for 1+1, type 2.
The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.

More information about formatting options

Syndicate content