04
Oleh : M. Guschoyyin
SMK N 2 B. Lampung
Setelah reboot, Anda dapat login dengan username Anda yang dibuat sebelumnya (misalnya
administrator). Karena kita harus menjalankan semua langkah dari tut orial ini dengan hak akses
root, kita dapat prepend semua perintah dalam tutorial ini dengan sudo, atau kita sekarang
menjadi root dengan mengetik :
sudo su
dan memberikan password root. Anda kemudian dapat langsung log in sebagai root, tapi ini
disukai oleh pengembang Ubuntu dan masyarakat karena berbagai alasan. Lihat
http://ubuntuforums.org/showthread.php?t=765 414.)
Jika Anda tidak menginstal OpenSSH server selama instalasi sistem, Anda bisa mel akukannya
sekarang :
Mulai sekarang Anda dapat menggunakan klien SSH seperti Putty dan koneksi dari komputer Anda
ke Ubuntu 9.04 server dan ikuti langkah -langkah dari tutorial ini.
Saya akan menggunakan vi sebagai editor teks dalam tutorial ini. Program vi default memiliki
beberapa perilaku aneh pada Ubuntu dan Debian ; untuk memperbaiki hal ini, kita akan
menginstal vim-nox :
(Anda tidak perlu melakukan hal ini jika anda menggunakan editor teks yang berbeda seperti joe
atau nano.)
Karena installer Ubuntu telah mengkonfig urasi sistem kami untuk mendapatkan pengaturan
jaringan melalui DHCP, kita harus mengubah yang sekarang karena server harus memiliki alamat IP
statis. Edit /etc/network/interfaces dan menyesuaikan dengan kebutuhan anda (pada contoh ini
konfigurasi saya akan menggunakan alamat IP 192.168.0.100) :
vi /etc/network/interfaces
/etc/init.d/networking restart
vi /etc/hosts
Sekarang jalankan
hostname
hostname -f
Edit /etc/apt/sources.list. Komentar keluar atau mengeluarkan CD instalasi dari file dan pastikan
bahwa universe dan repositori multiverse diaktifkan. Seharusnya terlihat seperti ini:
vi /etc/apt/sources.list
#
# deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main
restricted
#deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main
restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
## Major bug fix updates produced after the final release of the
## distribution.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty -updates main restricted
deb-src http://de.archive.ubuntu .com/ubuntu/ jaunty-updates main restricted
## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://de.archive.ubuntu.com/ubunt u/ jaunty-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty -backports main restricted universe multiverse
Kemudian jalankan
aptitude update
aptitude safe-upgrade
untuk menginstal pembaruan terbaru (jika ada). Jika Anda melihat bahwa kernel baru akan diinstal
sebagai bagian dari update, Anda harus reboot sistem setelahnya :
reboot
/bin/sh adalah sebuah symlink ke /bin/dash, Namun kita perlu /bin/bash, tidak /bin/dash. Oleh
karena itu kita melakukan ini :
dpkg-reconfigure dash
7 Disable AppArmor
AppArmor adalah ekstensi keamanan (mirip dengan SELinux) yang harus men yediakan keamanan
diperluas. Menurut pendapat saya anda tidak memerlukannya untuk mengkonfigurasi sistem yang
aman, dan biasanya menyebabkan lebih banyak masalah daripada keuntungan (memikirkan hal ini
setelah Anda telah mel akukan pemecahan masalah karena beberapa operator tidak bekerja
seperti yang diharapkan, dan kemudian Anda mencari tahu bahwa semuanya ok, hanya AppArmor
yang menyebabkan masalah). Oleh karena itu saya menonaktifkan itu (ini adalah suatu keharusan
jika Anda ingin menginstal ISPConfig di kemudian hari).
/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
aptitude remove apparmor apparmor -utils
aptitude install binutils cpp fetchmail flex gcc libarchive -zip-perl libc6-dev libcompress-zlib-perl
libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl -modules unzip zip
zlib1g-dev autoconf automake1.9 libtool bison autotools -dev g++ build-essential
9 Quota
(Jika Anda memilih skema partisi yang berbeda daripada Saya, Anda harus menyesuaikan bab ini
sehingga kuota berlaku pada partisi di mana Anda membutuhkannya.)
Edit /etc/fstab. tampak seperti ini (Saya menambahkan, usrquota, grpquota ke partisi dengan
mount point /):
vi /etc/fstab
quotacheck -avugm
quotaon -avug
10 DNS Server
Jalankan
aptitude install bind9
Untuk alasan keamanan kita ingin menjalankan BIND chroot sehingga kita harus mel akukan
langkah-langkah berikut :
/etc/init.d/bind9 stop
Edit file /etc/default/bind9 sehingga daemon akan berjalan sebagai pengguna Unp rivileged
mengikat, chroot ke /var/lib/named. Ubah baris: OPTIONS = " -u bind" sehingga berbunyi OPTIONS
= "-u bind-t /var/lib/named":
vi /etc/default/bind9
# run resolvconf?
RESOLVCONF=yes
mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
mv /etc/bind /var/lib/named/etc
Buat symlink ke direktori konfigurasi baru dari lokasi lama (untuk menghindari masalah ketika bind
akan diperbarui di masa mendatang):
ln -s /var/lib/named/etc/bind /etc/bind
Membuat null dan random devices, dan memperbaiki akses dari direktori :
mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
Kita perlu memodifikasi /etc/default/ syslogd sehingga kita masih bisa mendapatkan log pesan -
pesan penting ke sistem log. Memodifikasi baris: syslogd = "" sehingga berbunyi: sy slogd = "-a
/var/lib/named/dev/log":
vi /etc/default/syslogd
#
# Top configuration file for syslogd
#
#
# Full documentation of possible arguments are found in the manpage
# syslogd(8).
#
#
# For remote UDP logging use SYSLOGD=" -r"
#
SYSLOGD="-a /var/lib/named/dev/log"
/etc/init.d/sysklogd restart
/etc/init.d/bind9 start
11 MySQL
Anda akan diminta untuk membe rikan password untuk MySQL user root - password ini berlaku
bagi pengguna root @ localhost maupun root@server1.example.com, jadi kita tidak perlu
menentukan password root MySQL secara manual di kemudian hari :
Kami ingin MySQL untuk semua interface, tidak hanya localhost, oleh karena itu kita edit
/etc/mysql/my.cnf dan isikan baris bind-address = 127.0.0.1:
vi /etc/mysql/my.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
[...]
/etc/init.d/mysql restart
Untuk menginstal Postfix dengan SMTP -AUTH dan TLS lakukan langkah-langkah berikut :
Kemudian Jalankan
dpkg-reconfigure postfix
postconf –e ‘smtpd_sasl_local_domain =’
postconf –e ‘smtpd_sasl_auth_enable = yes ’
postconf –e ‘smtpd_sasl_security_options = noanonymous ’
postconf –e ‘broken_sasl_auth_clients = yes ’
postconf –e ‘smtpd_sasl_authenticated_header = yes ’
postconf –e ‘smtpd_recipient_restrictions =
permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination ’
postconf –e ‘inet_interfaces = all’
echo ‘pwcheck_method: saslauthd ’ >> /etc/postfix/sasl/smtpd.conf
echo ‘mech_list: plain login’ >> /etc/postfix/sasl/smtpd.conf
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Selanjutnya kita mengkonfigurasi postfix untuk TLS (pastikan bahw a anda menggunakan nama
host yang benar untuk myhostname) :
cat /etc/postfix/main.cf
# TLS parameters
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = server1.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = server1.example.com, localhost.example.co m, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
Otentikasi akan dilakukan oleh saslauthd. Kita harus mengubah beberapa hal untuk membuatnya
bekerja dengan baik. Kare na untuk menjalankan Postfix chroot di /var/spool/postfix kita harus
melakukan hal berikut :
mkdir -p /var/spool/postfix/var/run/saslauthd
Sekarang kita harus mengedit /etc/default/saslauthd untuk mengaktifkan saslauthd. Set START ke
ya dan mengubah baris OPTIONS = " -c-m /var/run/saslauthd" untuk OPTIONS = "-c-m
/var/spool/postfix/var/run/saslauthd-r" :
vi /etc/default/saslauthd
Selanjutnya postfix menambahkan user ke grup sasl (ini akan mema stikan bahwa Postfix memiliki
izin untuk mengakses saslauthd) :
Untuk melihat apakah SMTP -AUTH dan TLS bekerja dengan baik sekarang jalankan perintah
berikut :
telnet localhost 25
Setelah Anda telah menetapkan sambungan ke server mail Postfix Anda ketik
ehlo localhost
250-STARTTLS
dan
Type
quit
untuk kembali ke sistem shell.
13 Courier-IMAP/Courier-POP3
Jalankan ini untuk menginstal Courier -IMAP/Courier-IMAP-SSL (untuk IMAPs pada port 993) dan
Courier-POP3/Courier-POP3-SSL (untuk POP3s pada port 995) :
Selama instalasi, SSL sertifikat untuk IMAP -SSL dan POP3-SSL diciptakan dengan hostname
localhost. Untuk mengubahnya ke nama host yang benar (server1.example.com dalam tutorial ini),
menghapus sertifikat ...
cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem
... dan memodifikasi dua file berikut, ga nti CN = localhost dengan CN = server1.example.com (Anda
juga dapat memodifikasi nilai -nilai lain, jika perlu) :
vi /etc/courier/imapd.cnf
[...]
CN=server1.example.com
[...]
vi /etc/courier/pop3d.cnf
[...]
CN=server1.example.com
[...]
mkimapdcert
mkpop3dcert
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart
Jika Anda tidak ingin menggunakan ISPConfig, mengkonfigurasi Postfix untuk mengirim email ke
pengguna Maildir * :
postconf -e 'home_mailbox = Maildir/'
postconf -e 'mailbox_command ='
/etc/init.d/postfix restart
* Harap diperhatikan : Anda tidak perlu melakukan hal ini jika Anda berniat untuk menggunakan
ISPConfig pada sistem anda sebaga i ISPConfig melakukan konfigurasi yang diperlukan
menggunakan resep procmail. Tapi silakan kunjungi Pastikan untuk mengaktifkan Maildir di bawah
Manajemen -> Server -> Settings -> EMail di ISPConfig web interface.
14 Apache/PHP5/Ruby/Python/WebDAV
Selanjutnya kita menginstal PHP5, Ruby, dan Python (semua tiga sebagai modul Apache) :
vi /etc/apache2/mods-available/dir.conf
<IfModule mod_dir.c>
</IfModule>
Sekarang kita harus mengaktifkan beberapa Apache modules (SSL, rewrite, suexec, include, dan
WebDAV):
a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include
a2enmod dav_fs
a2enmod dav
Restart Apache :
/etc/init.d/apache2 restart
Kita harus memperbaiki masalah kecil dengan Ruby. Jika Anda menginstal Ruby ISPConfig dan
memungkinkan untuk situs web,. Rbx file ini akan dijalankan baik -baik saja dan ditampilkan dalam
browser, namun ini tidak bekerja. Rb file - Anda akan diminta untuk men -download. Rb file - yang
sama terjadi jika mengkonfigurasi Ruby secara manual untuk vhost (yakni, tidak ada hubungannya
dengan ISPConfig). Untuk memper baiki hal ini, kita buka file /etc/mime.types ...
vi /etc/mime.types
[...]
#application/x-ruby rb
[...]
Restart Apache:
/etc/init.d/apache2 restart
Sekarang. Rb file ini akan dieksek usi dan ditampilkan dalam browser, seperti. Rbx file.
Dalam bab berikutnya (17.1) kita akan menonaktifkan PHP (ini hanya diperlukan jika anda ingin
menginstall ISPConfig pada server ini). Tidak seperti PHP, Ruby dan Python yang dinonaktifkan
secara default, oleh karena itu kita tidak harus mel akukannya.
(Jika anda tidak berencana untuk menginstal ISPConfig pada server ini, silakan melewati bagian
ini!)
Dalam ISPConfig Anda akan mengkonfigurasi PHP pada situs dari dasar, yaitu Anda dapat
menentukan situs web yang dapat menjalankan skrip PHP dan yang satu tidak bisa. Ini hanya
dapat bekerja jika PHP ini dinonaktifkan secara global karena kalau tidak semua situs Web akan
dapat menjalankan skrip PHP, terserah apa yang Anda tetapkan dal am ISPConfig.
Untuk menonaktifkan PHP secara global, kita edit file /etc/mime.types dan isikan phtml pht php
pada baris aplikasi / x-httpd-php :
vi /etc/mime.types
[...]
#application/x-httpd-php phtml pht php
#application/x-httpd-php-source phps
#application/x-httpd-php3 php3
#application/x-httpd-php3-preprocessed php3p
#application/x-httpd-php4 php4
[...]
vi /etc/apache2/mods-enabled/php5.conf
<IfModule mod_php5.c>
# AddType application/x-httpd-php .php .phtml .php3
# AddType application/x-httpd-php-source .phps
</IfModule>
/etc/init.d/apache2 restart
15 Proftpd
vi /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
[...]
ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf
/etc/init.d/proftpd restart
16Webalizer
18 Instal Beberapa Perl Modul Needed Oleh SpamAssassin ( Datang dengan ISPConfig)
Jalankan
19 ISPConfig
Konfigurasi server sekarang sudah selesai, dan jika Anda ingin kini Anda dapat menginstal
ISPConfig di atasnya. Harap periksa instalasi ISPConfig manual :
http://www.ispconfig.org/manual_installation.htm
/usr/lib/apache2/suexec -V
root@server1:~# /usr/lib/apache2/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="www-data"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
root@server1:~#
Jadi, jika Anda ingin menggunakan suExec dengan ISPconfig, jangan me ngubah default web root
(yaitu /var/www) jika anda menggunakan mode ahli selama instalasi ISPConfig (dalam modus
standar Anda tidak dapat mengubah akar web sehingga Anda tetap online. dan akan dapat
menggunakan suExec dalam hal apapun).
20 Sumber / Links
Ubuntu: http://www.ubuntu.com
ISPConfig: http://www.ispconfig.org
Linux : http://www.howtoforge.com