BAB I
INSTALASI SERVER LINUX
A. LANDASAN TEORI
Dalam system operasi linux akan terdapat command seperti berikut: student:/# yang
mempunyai arti:
1. wahyu adalah user yang aktif dalam computer tersebut.
2. Tanda „@‟ mempunyai arti di/pada
3. server adalah nama host atau nama computer.
4. Tanda [$] untuk user biasa.
Dalam linux terdapat perintah-perintah dasar yang sering digunakan, perintah-perintah dasar
tersebut adalah:
1. cd adalah change direktori, guna dari cd adalah untuk berpindah directori. Contoh penulisan
dari syntax cd adalah : cd /home/student/plug4
2. cat berguna untuk membuka/ menampilkan isi suatu file ke layar. Contoh penulisan dari
syntax cat adalah: cat /pti.txt
3. ls berguna untuk menampilkan isi dari file yang dipanggil. Contoh penulisan dari syntax ls
adalah: ls –l
4. mkdir berguna untuk membuat folder kosong. Contoh penulisan dari syntax mkdir adalah :
mkdir /home/student/komputasi
5. rmdir berguna untuk menghapus folder. Contoh penulisan dari syntax rmdir adalah: rmdir
/home/student/komputasi
6. mv berguna untuk memindahkan file antar folder, selain berguna untuk memindah file,
perintah mv juga dapat digunakan untuk mengganti nama file. Contoh penulisan syntax dari
mv adalah: mv /home/student/plug4/ home/student/documents
7. cp berguna untuk mengcopy file atau folder yang kita inginkan. Contoh penulisan dari
syntax cp adalah: cp /home/student/documents/pti.txt/ home/student/Templates
B. LAPORAN DAN TUGAS
Cara Instalasi Linux ( Ubuntu 10.04 )
Sediakan CD instalasi Ubuntu 10.04
Kita akan melihat wallpaper untuk beberapa saat sampai jendela install muncul. Pilih bahasa
yang kita inginkan untuk proses instalasi dan bahasa default yang akan kita pakai
selanjutnya. akan muncul layar :
Daftar software/paket yang akan digunakan adalah:
Web Server: Apache 2.2.14 dengan PHP 5.3.2, Python, Ruby, dan WebDAV
Database Server: MySQL 5.1.41
Mail Server: Postfix
DNS Server: BIND9
FTP Server: proftpd
POP3/IMAP: disini akan digunakan format Maidir dan kemudian akan diinstal
Courier-POP3/Courier-IMAP.
Webalizer untuk monitoring statistic website
Versi dari software-software diatas tidaklah mutlak, dapat menggunakan versi yang lebih baru,
tetapi tidak dianjurkan untuk menggunakan versi yang lebih rendah. Kecuali untuk bagian
ISPConfig-nya, tutorial pada modul ini hanya bisa menggunakan ISPConfig versi 2 saja dan tidak
kompatibel dengan ISPConfig versi 3.
1. Persiapan Tools
Untuk menginstal sistem ini kita akan membutuhkan:
CD/DVD Ubuntu 10.04 server edition (x86 maupun x86_64)
Koneksi internet (sangat disarankan menggunakan koneksi berkecepatan tinggi)
Komputer yang akan digunakna sebagai server (sesuaikan dengan spesifikasi yang telah
disebutkan sebelumnya).
2. Instalasi Dasar Sistem
Pada tutorial ini hostname yang digunakan adalah
server1.example.comdan alamat IP
192.168.0.100 dan gateway 192.168.0.1. Settingan ini bisa diganti sesuai dengan keinginan
masing-masing.
Kemudian pilih
Install Ubuntu Server:
Pilih bahasa instalasi:
Pilih layout keyboard (ketikkan beberapa tombol dan installer akan secara otomatis mendetek
layout keyboard yang digunakan):
Installer akan mengecek CD instalasi, hardware, dan konfigurasi jaringan dengan DHCP apabila
terdapat DHCP server pada jaringan:
Masukkan hostname yang diinginkan. Pada tutorial ini yang digunakan adalah
server1.example.com, jadi yang diinputkan adalah
server1:
Installer akan mendeteksi time zone secara otomatis. Pilih
yesuntuk memilih opsi default atau
nountuk mengatur time zone sendiri:
Sekarang kita harus mempartisi harddisk. Untuk lebih mudahnya pilih
Guided – use entire disk and set up LVM– pilihan ini akan membuat satu volume group dengan dua volume logical,
satu untuk
/ (root) filesystemdan satu lagi untuk swap. Partisi juga bisa diatur sendiri sesuai
keinginan dengan memilih opsi
Manual.Pilih disk yang ingin dipartisi:
Jika memilih
Guided – use entire disk and set up LVM, partioner akan membuat satu
volume group berukuran besar yang memakan seluruh space harddisk. Kita bisa menspesifikasikan
seberapa banyak space harddisk yang harus digunakan oleh volume logical untuk
/ (root)dan
swap.
Setelah itu, partisi akan mulai diformat dan dibuat:
Buat account user, sebagai contoh
Administratordengan username
administrator(jangan
menggunakan username admin karena merupakan
reserved wordpada Ubuntu 10.04):
Selanjutnya kita akan mengkonfigurasi apt package manager. Biarkan bagian HTTP proxy kosong
kecuali memang ingin menggunakan proxy server untuk konek ke internet:
Pilih konfigurasi update untuk sistem. Jika ingin menggunakan update otomatis pilih
Install security updates automaticallydan jika ingin menagtur update secara manual pilih
No automatic updates. Pada tutorial ini yang akan kita gunakan adalah update secara manual
sehingga yang dipilih adalah
No automatic updates:
Kita membutuhkan DNS, mail, dan LAMP server, tetapi kita tidak akan memilihnya sekarang. Kita
akan menginstal paket-paket yang diperlukan satu-persatu nanti. Satu-satunya paket yang akan kita
install sekarang adalah
OpenSSH serveragar kita dapat langsung melakukan koneksi ke sistem
dengan SSH client seperti Putty setelah proses instalasi selesai:
Pilih
yesketika ditanyakan
Install the GRUB boot loader to the master boot record?:Instalasi bagian dasar sistem sekarang telah selesai. Keluarkan CD instalasi dari CD drive dan pilih
Continueuntuk mereboot sistem:
3. Setting Hak Akses Root
Setelah reboot login dengan username yang telah dibuat sebelumnya (dalam tutorial ini
administrator). Karena langkah-langkah selanjutnya akan kita jalankan dengan hak akses
root. Kita bisa menjalankan semua perintah dengan perintah
sudoatau dengan langsung masuk
sebagai root dengan perintah:
$ sudo su
Kita juga bisa mengaktifkan login root dengan menjalankan perintha:
$ sudo passwd rootDan memberikan password root. Kita bisa langsung login sebagai root, tetapi ini sangat tidak
dianjurkan oleh para pengembang Ubuntu maupun komunitas karena alas an security.
4. Instalasi SSH Server (Optional)
Jika pada saat instalasi system tadi tidak menginstal OpenSSH server, kita bisa menginstalnya
sekarang:
# aptitude install ssh openssh-server
Sekarang kita bisa menggunakan SSH client seperti PuTTY dan konek secara remote dari
workstation kita ke server Ubuntu 10.04.
SETTING JARINGAN LAN
5. Konfigurasi Jaringan
Karena installer Ubuntu telah melakukankonfigurasi jaringan sistem kita melalui DHCP, kita
harus merubahnya karena suatu server harus memiliki alamat IP static. Edit
/etc/network/interfaces
dan konfigurasi sesuai kebutuhan (pada tutorial ini alamat IP yang
digunakan adalah 192.168.0.100):
# nano /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5).
# The loopback network interface auto lo
iface lo inet loopback
# The primary network interface auto eth0
iface eth0 inet static
address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Kemudian restart network:
# /etc/init.d/networking restart
Edit file
/etc/hostsmenggunakan editor:
# nano /etc/hosts127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1
# The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Sekarang jalankan:
# echo server1.example.com > /etc/hostname # /etc/init,d/hostname restart
Kemudian jalankan:
# hostname# hostname –f
Keduanya akan menunjukkan
server1.example.comsekarang:
6. Konfigurasi Package Sources
Edit
/etc/apt/sources.list. Uncomment atau hapus CD instalasi dari file dan pastikan
repository
universedan
multiversediaktifkan. Seperti ini:
# nano /etc/apt/sources.list
# deb cdrom:[Ubuntu-Server 10.04 LTS _Lucid Lynx_ - Release amd64 (20100427)]/ lucid main restricted
#deb cdrom:[Ubuntu-Server 10.04 LTS _Lucid Lynx_ - Release amd64 (20100427)]/ lucid main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution.
deb http://de.archive.ubuntu.com/ubuntu/ lucid main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ lucid main restricted
## Major bug fix updates produced after the final release of the ## distribution.
deb http://de.archive.ubuntu.com/ubuntu/ lucid-updates main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ lucid-updates main restricted
## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team.
deb http://de.archive.ubuntu.com/ubuntu/ lucid universe deb-src http://de.archive.ubuntu.com/ubuntu/ lucid universe deb http://de.archive.ubuntu.com/ubuntu/ lucid-updates universe deb-src http://de.archive.ubuntu.com/ubuntu/ lucid-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team.
deb http://de.archive.ubuntu.com/ubuntu/ lucid multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ lucid multiverse deb http://de.archive.ubuntu.com/ubuntu/ lucid-updates multiverse deb-src http://de.archive.ubuntu.com/ubuntu/ lucid-updates multiverse
## 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/ubuntu/ lucid-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
## Uncomment the following two lines to add software from Canonical's ## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu lucid partner # deb-src http://archive.canonical.com/ubuntu lucid partner
deb http://security.ubuntu.com/ubuntu lucid-security main restricted deb-src http://security.ubuntu.com/ubuntu lucid-security main restricted deb http://security.ubuntu.com/ubuntu lucid-security universe
deb-src http://security.ubuntu.com/ubuntu lucid-security universe deb http://security.ubuntu.com/ubuntu lucid-security multiverse deb-src http://security.ubuntu.com/ubuntu lucid-security multiverse
Kemudian update apt package database dengan menjalankan:
# aptitude update
Update sistem kita:
# aptitude safe-upgrade
Apabila kernel ikut terupdate, reboot sistem:
# reboot7. Konfigurasi Shell default
Untuk menginstal ISPConfig kita perlu mengubah settingan default shell pada sistem dari
/bin/dashmenjadi
/bin/bashjalankan perintah:
# dpkg-reconfigure dash
8. Konfigurasi AppArmor
AppArmor merupakan security extension yang menyediakan extended security. Kita tidak akan
membutuhkan AppArmor untuk membangun sebuah sistem yang aman, karena biasanya
AppArmor justru akan lebih sering menyebabkan masalah daripada manfaat. AppArmor akan
memblokir service-service dari aplikasi tertentu yang dapat menyebabkan sistem tidak dapat
berjalan dengan lancar (terutama pada ISPConfig). Oleh sebab itu, AppArmor harus
dinonaktifkan:
# /etc/init.d/apparmor stop # update-rc.d -f apparmor remove
# aptitude remove apparmor apparmor-utils
9. Instalasi Paket Pendukung
Instal beberapa paket pendukung yang dibutuhkan untuk membangun sistem ini dengan
menjalankan perintah:
# aptitude install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-libc6-dev libpcre3 libpopt-libc6-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf
automake1.9 libtool bison autotools-dev g++ build-essential
Perintah diatas harus diketikkan dalam satu baris.
10. Konfigurasi Journaled Quota
Untuk mengistal quota jalankan:
# aptitude install quotaKemudian edit
/etc/fstabdan tambahkan
,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0
kedalam partisi dengan
mount point
/ (root):# nano /etc/fstab
# /etc/fstab: static file system information. #
# Use 'blkid -o value -s UUID' to print the universally unique identifier # for a device; this may be used with UUID= as a more robust way to name # devices that works even if disks are added and removed. See fstab(5). #
# <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc nodev,noexec,nosuid 0 0 /dev/mapper/server1-root / ext4
errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1 # /boot was on /dev/sda1 during installation
UUID=9eef7b6b-5688-456c-8fe2-05ae739e3635 /boot ext2 defaults 0 2
/dev/mapper/server1-swap_1 none swap sw 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
Sesuaikan konfigurasi diatas dengan skema partisi masing-masing, pastikan untuk meletakkan
,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0satu baris dengan partisi
root.
Jika sudah selesai melakukan editing, maka quota dapat kita nyalakan dengan menjalankan
perintah:
# touch /aquota.user /aquota.group # chmod 600 /aquota.*
# mount -o remount /
Kemudian:
# quotacheck -avugm # quotaon –avug
SETTING DNS SERVER
11. Konfigurasi DNS Server
Install BIND9 dengan perintah:
# aptitude install bind9Untuk alasan keamanan BIND akan dijalankan dengan chrooted. Jalankan perintah ini:
# /etc/init.d/bind9 stopEdit file
/etc/default/bind9sehingga proses daemon dari BIND akan berjalan sebagai user
bind, chrooted ke
/var/lib/named. Modifikasi baris:
OPTIONS=”-u bind”menjadi
OPTIONS=”-u bind –t /var/lib/named”: # nano /etc/default/bind9
# run resolvconf? RESOLVCONF=yes
# startup options for the server OPTIONS="-u bind -t /var/lib/named"
Buat direktori yang bersangkutan didalam
/var/lib:
# 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
Pindahkan file config dari
/etc ke /var/lib/named/etc:
# mv /etc/bind /var/lib/named/etcBuat link ke direktori config yang baru dari lokasi yang lama:
# ln –s /var/lib/named/etc/bind /etc/bindBuat null dan random devices, dan ganti kepemilikan 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
Buat file
/etc/rsyslog.d/bind-chroot.conf:
# nano /etc/rsyslog.d/bind-chroot.conf
Dan tambahkan baris berikut ini untuk mendapatkan pesan penting pada saat system logs:
$AddUnixListenSocket /var/lib/named/dev/logRestart logging daemon:
# /etc/init.d/rsyslog restart
Start up BIND, dan cek
/var/log/sysloguntuk error:
# /etc/init.d/bind9 start
12. Konfigurasi MySQL
Instal MySQL dengan perintah:
# aptitude install mysql-server mysql-client libmysqlclient16-dev
Ketika ditanyakan untuk password root isikan:
New password for the MySQL “root” user: <- password Repeat password for the MySQL “root” user: <- password
Password yang diisikan ini akan digunakan untuk user
root@localhostdan juga
Ubah konfigurasi MySQL pada
/etc/mysql/my.cnfagar dapat melakukan listening ke semua
interface dan bukan hanya localhost. Berikan tanda comment pada baris
bind-address = 127.0.0.1:
# nano /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
[...]
Kemudian restart MySQL:
# /etc/init.d/mysql restart
Sekarang cek apakah networking telah bekerja. Jalankan perintah:
# netstat –tap | grep mysqlOutput yang keluar akan terlihat seperti ini:
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 6525/mysqld
root@server1:~#
13. Konfigurasi Postfix dengan SMTP-AUTH dan TLS
Jalankan perintah berikut untuk menginstal Postfix dengan SMTP-AUTH dan TLS:
# aptitude install postfix libsasl2-2 sasl2-bin libsasl2-modules procmail
Jawab dua pertanyaan yang keluar seperti berikut:
General type of mail configuration: <-- Internet Site System mail name: <-- server1.example.com
Kemudian jalankan:
# dpkg-reconfigure postfix
Maka akan ditanyakan beberapa pertanyaan lagi. Jawab seperti berikut:
General type of mail configuration: <-- Internet Site System mail name: <-- server1.example.comRoot and postmaster mail recipient: <-- [blank]
Other destinations to accept mail for (blank for none): <--
server1.example.com, localhost.example.com, localhost.localdomain, localhost
Force synchronous updates on mail queue? <-- No
Local networks: <-- 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 Use procmail for local delivery? <-- Yes
Mailbox size limit (bytes): <-- 0
Local address extension character: <-- + Internet protocols to use: <-- all
Kemudian jalankan:
# 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
Selanjutnya buat sertifikat untuk TLS:
# mkdir /etc/postfix/ssl # cd /etc/postfix/ssl/
# openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 # chmod 600 smtpd.key
# openssl req -new -key smtpd.key -out smtpd.csr
# openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
# openssl rsa -in smtpd.key -out smtpd.key.unencrypted # mv -f smtpd.key.unencrypted smtpd.key
# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Kemudian lakukan konfigurasi Postfix untuk TLS (pastikan untuk menggunakan hostname
yang benar untuk
myhostname):
# postconf -e 'myhostname = server1.example.com' # postconf -e 'smtpd_tls_auth_only = no'
# postconf -e 'smtp_use_tls = yes' # postconf -e 'smtpd_use_tls = yes'
# postconf -e 'smtp_tls_note_starttls_offer = yes'
# postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key' # postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt' # postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem' # postconf -e 'smtpd_tls_loglevel = 1'
# postconf -e 'smtpd_tls_received_header = yes'
# postconf -e 'smtpd_tls_session_cache_timeout = 3600s' # postconf -e 'tls_random_source = dev:/dev/urandom'
File yang berada di
/etc/postfix/main.cfakan terlihat seperti ini:
# cat /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no
# appending .domain is the MUA's job. append_dot_mydomain = no
Autentikasi akan dilakukan oleh
saslauthd. Maka perlu dilakukan beberapa perubahan untuk
membuatnya mampu bekerja dengan baik. Karena Postfix berjalan chrooted di
/var/spool/postfix
lakukan:
# mkdir -p /var/spool/postfix/var/run/saslauthd
Sekarang edit
/etc/default/saslauthduntuk mengaktifkan
saslauthd. Set
STARTto yesdan ubah baris
OPTIONS=”-c –m /var/run/saslauthd”menjadi
OPTIONS=”-c –m/var/spool/postfix/var/run/saslauthd –r”
:
# nano /etc/default/saslauthd# Additional options for this mechanism. (default: none)
# See the saslauthd man page for information about mech-specific options. MECH_OPTIONS=""
# How many saslauthd processes should we run? (default: 5) # A value of 0 will fork a new process for each connection. THREADS=5
# Note: You MUST specify the -m option or saslauthd won't run! #
# WARNING: DO NOT SPECIFY THE -d OPTION.
# The -d option will cause saslauthd to run in the foreground instead of as # a daemon. This will PREVENT YOUR SYSTEM FROM BOOTING PROPERLY. If you wish # to run saslauthd in debug mode, please run it by hand to be safe.
#
# See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information. # See the saslauthd man page and the output of 'saslauthd -h' for general # information about these options.
#
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd" #OPTIONS="-c -m /var/run/saslauthd"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
Kemudian tambahkan user
postfixkedalam group
sasluntuk memastikan postfix memiliki
akses ke
saslauthd:
# adduser postfix sasl
Sekarang restart Postfix dan start
saslauthd: # /etc/init.d/postfix restart# /etc/init.d/saslauthd start
Untuk melihat apakah SMTP-AUTH dan TLS telah bekerja dengan baik jalankan perintah:
# telnet localhost 25Setelah koneksi tercipta ke Postfix mail server ketikkan:
# ehlo localhostJika melihat baris:
250-STARTTLS
Dan
250-AUTH LOGIN PLAIN
Berarti semuanya telah bekerja dengan baik.
Output dari sistem akan terlihat seperti ini:
root@server1:/etc/postfix/ssl# telnet localhost 25 Trying ::1...
Connected to localhost.localdomain. Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Ubuntu) ehlo localhost 250-server1.example.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS
250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN quit 221 2.0.0 Bye
Connection closed by foreign host. root@server1:/etc/postfix/ssl#
Ketikkan
# quit
14. Konfigurasi Courier-IMAP/Courier-POP3
Untuk menginstal IMAP/IMAP-SSL (pada port 993) dan
Courier-POP3/Courier-POP3-SSL (pada port 995) jalankan perintah:
# aptitude install courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-courier-imap-ssl courier-courier-imap-ssl gamin libgamin0 libglib2.0-0
Akan ditanyakan dua pertanyaan. Jawab
nountuk yang pertama dan
yesuntuk yang kedua:
Create directories for web-based administration? <-- NoSSL certificate required <-- Ok
Pada saat instalasi sertifikat SSL untuk IMAP-SSL dan POP3-SSL akan dibuat dengan
hostname
localhost. Untuk mengubahnya menjadi hostname yang benar
(
server1.example.compada tutorial ini), delete sertifikat tersebut:
# cd /etc/courier
# rm -f /etc/courier/imapd.pem # rm -f /etc/courier/pop3d.pem
Kemudian modifikasi dua file berikut (Ganti
CN=localhostmenjadi
CN=server1.example.com
):
# nano /etc/courier/imapd.cnf [...] CN=server1.example.com [...]Selanjutnya:
# nano /etc/courier/pop3d.cnf [...] CN=server1.example.com [...]Jalankan perintah ini untuk membuat ulang sertifikat:
# mkimapdcert# mkpop3dcert
Restart Courier-IMAP-SSL dan Courier-POP3-SSL:
# /etc/init.d/courier-imap-ssl restart # /etc/init.d/courier-pop-ssl restartJika tidak ingin menggunakan ISPConfig, konfigurasi Postfix agar mengirimkan email ke
Maildir* user:
# postconf -e 'home_mailbox = Maildir/' # postconf -e 'mailbox_command ='
# /etc/init.d/postfix restart
Langkah diatas tidak perlu dilakukan jika inginmenggunakna ISPConfig pada sistem. Karena
ISPConfig akan menangani konfigurasi tersebut menggunakan procmail recipes.
15. Konfigurasi Apache/PHP5/Ruby/Python/WebDAV
Instal Apache:
# aptitude install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert
Kemudian install PHP5, Ruby, dan Python (ketiganya merupakan modul untuk Apache):
# aptitude install php5 ruby libapache2-mod-python php5 common curl dev gd idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xslSelanjtnya edit
/etc/apache2/mods-available/dir.conf:
# nano /etc/apache2/mods-available/dir.conf
Dan ubah baris
Directory Index:
<IfModule mod_dir.c>
#DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml
</IfModule>
Aktifkan modul-modul Apache yang dibutuhkan (
SSL, rewrite, suexec, include, dan
WebDAV):
# a2enmod ssl # a2enmod rewrite # a2enmod suexec # a2enmod include # a2enmod dav_fs # a2enmod davRestart Apache:
# /etc/init.d/apache2 restartEdit file
/etc/mime.typesagar ISPConfig dapat membaca file ruby dengan format .rb:
# nano /etc/mime.types
Comment baris
application/x-ruby:
[...]#application/x-ruby rb [...]
Restart Apache:
# /etc/init.d/apache2 restart
Sekarang file .rb akan dapat dieksekusi dan ditampilkan dilayar bersama dengan file .rbx.
Pada tahap selanjutnya kita akan menonaktifkan PHP (hal ini perlu dilakukan apabila ingin
menginstal ISPConfig pada server). Tidak seperti PHP, Ruby dan Python telah dinonaktifkan
secara default.
16. Menonaktifkan PHP
Pada ISPConfig kita akan mengkonfigurasi PHP untuk setiap website satu-persatu. Kita dapat
mengatur website mana yang dapat menjalankan script PHP dan mana yang tidak. Hal ini hanya
dapat dilakukan apabila PHP dinonaktifkan secara global (untuk setiap konfigurasi) karena jika
tidak demikian semua website akan dapat menjalankan script PHP, tidak peduli seperti apa
settingan kita pada ISPConfig.
Untuk menonaktifkan PHP secara global, edit file
/etc/mime.typesdan uncomment bagian
application/x-httpd-php
:
# nano /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 #application/x-httpd-php5 php5 [...]Edit
/etc/apache2/mods-enabled/php5.confdan comment bagian
SetHandler:
# nano /etc/apache2/mods-enabled/php5.conf<IfModule mod_php5.c>
<FilesMatch "\.ph(p3?|tml)$">
</FilesMatch>
<FilesMatch "\.phps$">
#SetHandler application/x-httpd-php-source </FilesMatch>
# To re-enable php in user directories comment the following lines # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it # prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule> </IfModule>
Restart Apache:
# /etc/init.d/apache2 restart17. Konfigurasi Proftpd
Instal Proftpd dengan menjalankan:
# aptitude install proftpd ucfKerika ditanyakan
Run proftpdjawab
standalone:
Run proftpd: <-- standaloneUntuk alas an keamanan tambahkan baris berikut ini kedalam
/etc/proftpd/proftpd.conf:
# nano /etc/proftpd/proftpd.conf[...]
DefaultRoot ~
ServerIdent on "FTP Server ready." [...]
ISPConfig menginginkan konfigurasi untuk berada pada
/etc/proftpd.confdan bukan pada
/etc/proftpd/proftpd.conf
, oleh sebab itu kita akan membuat link ke path yang
bersangkutan:
# ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf
Kemudian restart Proftpd:
# /etc/init.d/proftpd restart
18. Instalasi Webalizer
Untuk menginstal webalizer jalankan perintah:
# aptitude install webalizer19. Sinkronisasi System Clock
Untuk melakukan sinkronisasi system clock dengan internet gunakan NTP (Network Time
Protocol) server. Instal dengan perintah:
# aptitude install ntp ntpdate
20. Instalasi Modul Perl untuk SpamAssassin
Jalankan perintah:
# aptitude install libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl libnetaddr-ip-perl libarchive-tar-perl
Konfigurasi untuk server sekarang sudah selesai, tahap selanjutnya adalah menginstal
ISPConfig pada server. Panduan instalasi ISPConfig dapat dilihat di
http://www.ispconfig.org/manual_installation.htm
Sebelum menginstal ISPConfig, edit file
/usr/include/stdio.hdan ganti bagian
getlinemenjadi
parselinepada baris ke-651:
# nano /usr/include/stdio.h [...]
This function is not part of POSIX and therefore no official
cancellation point. But due to similarity with an POSIX interface or due to the implementation it is a cancellation point and
therefore not marked with __THROW. */
extern _IO_ssize_t parseline (char **__restrict __lineptr, size_t *__restrict __n,
FILE *__restrict __stream) __wur; #endif
[...]
Bila tidak diedit, proses instalasi akan gagal dengan error dibawah ini:
htpasswd.c:101: error: conflicting types for 'getline'/usr/include/stdio.h:651: note: previous declaration of 'getline' was here make[2]: *** [htpasswd.o] Error 1
make[2]: Leaving directory
`/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41/src/support' make[1]: *** [build-support] Error 1
make[1]: Leaving directory
`/home/ISPConfig-2.2.stable/install_ispconfig/compile_aps/apache_1.3.41' make: *** [build] Error 2
ERROR: Could not make Apache
Setelah instalasi selesai kita dapat merubahnya kembali menjadi
getline. Tetapi jangan lupa
untuk mengganti menjadi
parselinelagi apabila ingin melakukan update ISPConfig.
22. SuExec (Optional)
Jika ingin menjalankan CGI scripts dengan SuExec, maka kita harus menspesifikasikan
/var/wwwsebagai direktori home untuk website yang dibuat dengan ISPConfig karena
Ubuntu‟s SuExec dikompil dengan
/var/wwwsebagai
Doc_Root. Jalankan:
# /usr/lib/apache2/suexec –V
Dan outputnya akan terlihat seperti ini:
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:~#
23. Link Belajar
Jika ingin mengetahui lebih jauh tentang materi yang disajikan dimodul ini silahkan
kunjungi:
Tutorial:
http://www.howtoforge.com
<- referensi yang digunakan untuk membuat
modul ini.
ISPConfig:
http://www.ispconfig.org
Install Ubuntu Server 11.04
+ Webmin/Virtualmin
Pengantar
Langkah Umum :
1. Instalasi Ubuntu Server 11.04
2. Instalasi Webmin
3. Instalasi Virtualmin
4. Install Virtualmin Framed Theme (opsional)
5. Menambahkan Domain baru
1. Instalasi Ubuntu Server
Instalasi Ubuntu Server seperti sudah jelas. Hanya sebagai catatan saya beberapa yang perlu
diperhatikan antara lain :
1. Setting IP Publik yang anda miliki
2. Jangan lupa Setting DNS dan Gateway yang benar.
3. Jika setting IP sudah benar dan Instalasi Sudah selesai, Server bisa di tempatkan di Public
Network /DMZ yang memungkinkan Server bisa diakses darimana saja.
2. Instalasi Webmin
Langkah Instalasi webmin :
1. Lebih baik jika anda mengkases Server dengan cara “remote” misal dengan SSH /Putty
Download putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
2. Login ke server dengan SSH
3. Download dengan wget , copy paste URL paket webmin yang sesuai bisa dilihat di
webmin.com/download.html
4. Jika anda menggunakan Ubuntu/deban, cara install ada disini webmin.com/deb.html
Berikut Cara Install webmin (versi 1.570 pada Ubuntu 11.04):
1. wget http://prdownloads.sourceforge.net/webadmin/webmin-1.570_all.deb
2. sudo dpkg --install webmin_1.570_all.deb
3. sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-
perl apt-show-versions python
4. Jika masih error : sudo apt-get –f install
Jika sukses pada bagian akhir instalasi akan berbunyi :
Setting up webmin (1.570) ... apt-get -f instal
Webmin install complete. You can now login to https://mailserver:10000/ as root with your root password, or as any user who can use sudo to run commands as root.
Anda sudah bisa Login ke Server ketik IP:20580 di URL, misal 172.16.19.5:20580
Login dengan User di Ubuntu
3. Proses Instalasi Virtualmin
Virtualmin adalah salah satu web Control panel yang open Source dan Gratis. Virtualmin memiliki
fungsi mirip dengan Cpanel. Virtualmin bisa diinstall secara terpisah atau tergabung dengan webmin.
Selain versi free ada juga Virtaulmin Pro (tidak Gratis).
Tutorial ini saya asumsikan sudah ada webmin terpasang di Ubuntu Server anda.
1. Install Modul Virtualmin
Akses dari menu Webmin Webmin Configuratin webmin Module
Install Modul ada 2 yaitu : Virtualmin dan Virtualmin Theme :
Bisa diambil disini : Buka : http://webmin.com/vdownload.html
http://download.webmin.com/download/virtualmin/virtual-server-3.88.gpl.wbm.gz
http://download.webmin.com/download/virtualmin/virtual-server-theme-8.1.wbt.gz
2. Setting Theme Virtualmin :
3. Post Installatin Wizard
Digunakan untuk melakukan pengecekann apakah server kita sudah Siap sebagai Webserver menurut
Virtualmin. Perlu kesabaran untuk proses ini, pastikan semua konfigurasi sukses.
JIKA ada Error coba RE-Check :
CEK STATUS 1 :
The status of your system is being checked to ensure that all enabled features are available, that the
mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256 MB.
Virtualmin is configured to setup DNS zones, but this system is not setup to use itself as a DNS server. Either add 127.0.0.1 to the list of DNS servers, or turn off the BIND feature on the module config page. It appears that DHCP is being used to dynamically configure your network interfaces, which can cause the DNS servers to be set based on settings provided by the DHCP server. Using a static IP address is strongly recommended with Virtualmin.
.. your system is not ready for use by Virtualmin.
SOLUSI 1 :
172.16.19.1 208.67.222.222 208.67.222.222 Svr3.wahyu.com
CEK STATUS 2 :
Pesan error :
The status of your system is being checked to ensure that all enabled features are available, that the mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256 MB. BIND DNS server is installed, and the system is configured to use it.
Detected mail server Postfix.
A problem was found with your Postfix virtual maps : No map sources were found in the Postfix configuration
.. your system is not ready for use by Virtualmin.
SOLUSI 2
The status of your system is being checked to ensure that all enabled features are available, that the mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256MB BIND DNS server is installed, and the system is configured to use it.
Your Postfix configuration is missing the system's mail hostname svr3.umbyogya.com from the mydestination line, which will cause mail to bounce.
.. your system is not ready for use by Virtualmin.
CEK STATUS 3 :
SOLUSI 3
CEK STATUS 4 :
The status of your system is being checked to ensure that all enabled features are available, that the mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256 MB. BIND DNS server is installed, and the system is configured to use it.
Mail server Postfix is installed and configured.
Suexec is enabled in the default template, but the Apache module mod_suexec is not installed or not enabled.
your system is not ready for use by Virtualmin.
CEK STATUS 5 :
The status of your system is being checked to ensure that all enabled features are available, that the mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256 MB. BIND DNS server is installed, and the system is configured to use it.
Mail server Postfix is installed and configured.
The Apache module mod_actions is either not installed or not enabled. .. your system is not ready for use by Virtualmin.
SOLUSI 5 :
CEK STATUS 6 :
The status of your system is being checked to ensure that all enabled features are available, that the mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256 MB. BIND DNS server is installed, and the system is configured to use it.
Mail server Postfix is installed and configured.
Apache configuration file /etc/apache2/mods-available/php5.conf contains SetHandler lines that PHP from running with domain owner permissions. These lines must be removed.
.. your system is not ready for use by Virtualmin.
CEK STATUS 7 :
The status of your system is being checked to ensure that all enabled features are available, that the mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256 MB. BIND DNS server is installed, and the system is configured to use it.
Mail server Postfix is installed and configured.
Suexec is enabled in the default template, but the suexec command was not found on your system.
.. your system is not ready for use by Virtualmin.
user@svr3:~$ sudo apt-get install apache2-suexec-custom
SOLUSI 7 :
[sudo] password for user: Reading package lists... Done Building dependency treeaaa Reading state information... Done
The following NEW packages will be installed: apache2-suexec-custom
0 upgraded, 1 newly installed, 0 to remove and 136 not upgraded. Need to get 96.4kB of archives.
After this operation, 201kB of additional disk space will be used.
Get:1 http://id.archive.ubuntu.com/ubuntu/ lucid-updates/universe apache2-suexec-custom 2.2.14-5ubuntu8.6 [96.4kB]
Fetched 96.4kB in 2s (46.8kB/s)
Selecting previously deselected package apache2-suexec-custom. (Reading database ... 42595 files and directories currently installed.)
Unpacking apache2-suexec-custom (from .../apache2-suexec-custom_2.2.14-5ubuntu8.6_i386.deb) ... Processing triggers for man-db ...
Setting up apache2-suexec-custom (2.2.14-5ubuntu8.6) ...
CEK STATUS 8 :
The status of your system is being checked to ensure that all enabled features are available, that the
mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256
MB.
BIND DNS server is installed, and the system is configured to use it.
Mail server Postfix is installed and configured.
The Suexec command on your system is configured to only run scripts under /var/www, but the
Virtualmin virtual server home directory is /home. CGI and PHP scripts run as domain owners will not
be executed.
SOLUSI 8
Solusi : http://seanstechnologyblog.blogspot.com/2011/01/suexec-is-enabled-in-default-template.html
user@svr3:~$ sudo apt-get install apache2-suexec-custom
user@svr3:~$ sudo nano /etc/apache2/suexec/ www-data
ganti "/var/www" dengan "/home"
CEK STATUS 9:
The status of your system is being checked to ensure that all enabled features are available, that the
mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256
MB.
BIND DNS server is installed, and the system is configured to use it.
Mail server Postfix is installed and configured.
Apache is installed.
Webalizer does not appear to be installed on your system, or has not yet been set up properly in
Webmin's Webalizer Logfile Analysis module. If your system does not use Webalizer, it should be
disabled in Virtualmin's module configuration page.
.. your system is not ready for use by Virtualmin.
SOLUSI 9
Prosesnya seperti ini :
Installing package(s) with command apt-get -y --force-yes -f install webalizer ..
Reading package lists... Building dependency tree... Reading state information...
The following extra packages will be installed: libgd2-noxpm
Suggested packages: libgd-tools
The following NEW packages will be installed: libgd2-noxpm webalizer
0 upgraded, 2 newly installed, 0 to remove and 105 not upgraded. Need to get 544 kB of archives.
After this operation, 2224 kB of additional disk space will be used.
Get:1 http://hk.archive.ubuntu.com/ubuntu/ natty/main libgd2-noxpm i386 2.0.36~rc1~dfsg-5ubuntu2 [194 kB] Get:2 http://hk.archive.ubuntu.com/ubuntu/ natty/universe webalizer i386 2.01.10-32.7 [350 kB]
Preconfiguring packages ... Fetched 544 kB in 4s (118 kB/s)
Selecting previously deselected package libgd2-noxpm.
(Reading database ... 73765 files and directories currently installed.)
Unpacking libgd2-noxpm (from .../libgd2-noxpm_2.0.36~rc1~dfsg-5ubuntu2_i386.deb) ... Selecting previously deselected package webalizer.
Unpacking webalizer (from .../webalizer_2.01.10-32.7_i386.deb) ... Processing triggers for man-db ...
Setting up libgd2-noxpm (2.0.36~rc1~dfsg-5ubuntu2) ... Setting up webalizer (2.01.10-32.7) ...
/var/www/webalizer created Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
CEK STATUS 10:
The status of your system is being checked to ensure that all enabled features are available, that the mail server is properly configured, and that quotas are active ..
Your system has 467.71 MB of memory, which is at or above the Virtualmin recommended limit of 256 MB. BIND DNS server is installed, and the system is configured to use it.
Mail server Postfix is installed and configured. Apache is installed.
Webalizer is installed.
MySQL is installed and running. Logrotate is installed.
Using network interface eth0 for virtual IPs. IPv6 addresses are available, using interface eth0. Default IP address for virtual servers is 118.x.x.x.
Default IP address is set to 118.x.x.x, which matches the detected external address.
Quotas are not enabled on the filesystem / which contains home directories under /home and email files under /var/mail. Quota editing has been disabled.
Shell /bin/false for FTP users is not included in /etc/shells, which may prevent FTP access. All commands needed to create and restore backups are installed.
The selected package management and update systems are installed OK.
.. your system is ready for use by Virtualmin.
Updating all Webmin users with new settings.. .. done
Updating status collection job .. .. done
Re-loading Webmin .. .. done
Tambah Domain baru
Cara tambah Domain baru :
1. Virtualmin
2. Create Virtual Server
3. Isikan nama Domain
4. Isikan password
Misal saya tambahkan domain imam.web.id
Secara Otimastis Server akan menambahkan :
1. Domain dan DNS
2. User Imam dan password **** untuk : Login via Webmin, SSH, FTP port 22
3. Membuat Database : imam dengan user Imam passwd : *****
Sedikit ini Selamat semoga Sukses, semoga bisa bermanfaat. Maaf jik ada kekurangan.
Vitur lain silahkan di Eksplorasi sendiri .
Referensi :
1. www.Webmin.com
2. Blog www.imm.web.id
3. Google
WEBMIN
Webmin adalah tools server untuk mengadministrasi server via website, hampir dari semua
service, dan berbagai konfigurasi dapat dilakukan oleh webmin. yang pastinya webmin
mempermudah kita untuk mengadministrasi server/ memanagement linux yang dulunya
dilakukan via konsole melalui SSH. selain itu webmin juga support berbagai distro linux,
kitajuga bisa mengkonfigurasi DNS, Apache, Mail, Proxy dan Lain-Lain
Bagaimana cara menginstall webmin !
1. Download webmin di > http://www.webmin.com. atau dengan cara :
wget
http://prdownloads.sourceforge.net/webadmin/webmin_1.550_all.deb2. Extrack Paket webmin yang Barusan di download
sudo dpkg -i webmin_1.550_all.deb
3. Install missing dependencies dan secara meng-compile ulang webmin
sudo apt-get -f install4. Selanjutnya kita tinggal Mengakses Webmin dari komputer client dengan cara buka
browser dan isi pada address bar
https://[IPsever]:10000 (contoh, https://192.168.5.106:10000)
5.Jika muncul tampilan di bawah ini, cukup pilih "I Understand blabla.. > add certification
lalu klik tombol yang ditandai panah merah.
6. Lalu isikan dengan User account server anda
SETTING DHCP
Dasar Teori
DHCP (Dynamic Configuration Protocol) adalah layanan yang secara otomatis memberikan nomor IP
kepada komputer yang memintanya. Komputer yang memberikan nomor IP disebut sebagai DHCP
server, sedangkan komputer yang meminta nomor IP disebut sebagai DHCP Client. Dengan demikian
administrator tidak perlu lagi harus memberikan nomor IP secara manual pada saat konfigurasi
TCP/IP, tapi cukup dengan memberikan referensi kepada DHCP Server.
Kelebihan
DHCP
1. Memudahkan dalam transfer data kepada PC client lain atau PC server. DHCP menyediakan
alamat-alamat IP secara dinamis dan konfigurasi lain.
2. DHCP memungkinkan suatu client menggunakan alamat IP yang tidal bisa dipakai oleh client yang
lain.
3. DHCP memungkinkan suatu client menggunakan satu alamat IP untuk jangka waktu tertentu dari
server.
4. Menghemat tenaga dan waktu dalam pemberian IP.
5. Mencegah terjadinya IP conflict.
Kekurangan DHCP
• Semua pemberian IP bergantung pada server, maka dari hal itu jika server mati maka semua
komputer akan disconnect dan saling tidak terhubung
Cara Kerja DHCP
DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan kepada
klien, yang disebut sebagai DHCP Pool. Setiap klien kemudian akan menyewa alamat IP dari DHCP
Pool ini untuk waktu yang ditentukan oleh DHCP, biasanya hingga beberapa hari. Manakala waktu
penyewaan alamat IP tersebut habis masanya, klien akan meminta kepada server untuk memberikan
alamat IP yang baru atau memperpanjangnya.
DHCP Client akan mencoba untuk mendapatkan "penyewaan" alamat IP dari sebuah DHCP server
dalam proses empat langkah berikut:
DHCPDISCOVER: DHCP client akan menyebarkan request secara broadcast untuk mencari
DHCP Server yang aktif.
DHCPOFFER: Setelah DHCP Server mendengar broadcast dari DHCP Client, DHCP server
kemudian menawarkan sebuah alamat kepada DHCP client.
DHCPREQUEST: Client meminta DCHP server untuk menyewakan alamat IP dari salah satu
alamat yang tersedia dalam DHCP Pool pada DHCP Server yang bersangkutan.
DHCPACK: DHCP server akan merespons permintaan dari klien dengan mengirimkan paket
acknowledgment.
Kemudian, DHCP Server akan menetapkan sebuah alamat (dan konfigurasi TCP/IP lainnya) kepada
klien, dan memperbarui basis data database miliknya. Klien selanjutnya akan memulai proses
binding dengan tumpukan protokol TCP/IP dan karena telah memiliki alamat IP, klien pun dapat
memulai komunikasi jaringan.
Empat tahap di atas hanya berlaku bagi klien yang belum memiliki alamat. Untuk klien yang
sebelumnya pernah meminta alamat kepada DHCP server yang sama, hanya tahap 3 dan tahap 4
yang dilakukan, yakni tahap pembaruan alamat (address renewal), yang jelas lebih cepat prosesnya.
Berbeda dengan sistem DNS yang terdistribusi, DHCP bersifat stand-alone, sehingga jika dalam
sebuah jaringan terdapat beberapa DHCP server, basis data alamat IP dalam sebuah DHCP Server
tidak akan direplikasi ke DHCP server lainnya. Hal ini dapat menjadi masalah jika konfigurasi antara
dua DHCP server tersebut berbenturan, karena protokol IP tidak mengizinkan dua host memiliki
alamat yang sama.
Selain dapat menyediakan alamat dinamis kepada klien, DHCP Server juga dapat menetapkan
sebuah alamat statik kepada klien, sehingga alamat klien akan tetap dari waktu ke waktu.
Catatan: DHCP server harus memiliki alamat IP yang statis.
Instalasi Paket DHCP Server Di Ubuntu
Code:
sudo apt-get install dhcp3-server
Pertama-tama edit network interfacesnya dengan mengetik
# nano /etc/network/interfaces
Setelah
itu,
restart
networkingnya.
Ketikkan
:
#/etc/init.d/networking restart
Backup dhcpd.conf dengan cara :
#mv dhcpd.conf dhcpd.conf.bak
Posisi direktori berada di /etc/dhcp3
Setelah itu edit file dhcp.conf :
#nano dhcpd.conf
Isikan seperti yang ada di bawah ini :
172.16.19.5 255.255.255.248 172.16.19.4
Beberapa parameter network didefinisikan secara global:
• option domain-name mendefinisikan domain default dari jaringan.
• option domain-name-servers dapat berisi sampai dengan 3 alamat DNS server yang digunakan
untuk me-resolve jaringan.
• option broadcast-address digunakan mendefinisikan alamat broadcast dari jaringan.
• option routers adalah alamat gateway yang memberitahukan kepada jaringan ke mana paket data
harus diteruskan bila tidak terletak pada jaringan lokal.
• option subnet-mask menentukan netmask yang akan diberikan kepada klien.
Mengatur host dengan IP Address Fixed. Selain untuk penggunaan IP addres seperti diatas, DHCP
juga dapat mengatur IP address untuk host yang memerlukan pengalamatan yang tetap (fixed IP
Address).
Pada baris diatas terlihat host diberi nama client1, kemudian hardware address adalah MAC
address dari ethernet card pada host tersebut. Setelah menemukan alamat hardware yang sesuai
dengan catatan pada konfigurasi ini, kemudian server DHCP akan memberikan IP address
192.168.0.10 kepada device tersebut.
Untuk mengetahui MAC address, pada Linux Anda dapat menggunakan perintah ifstatus di ikuti
dengan nama device tersebut, mis: eth0, kemudian lihat pada bagian link/ether.
Selanjutnya yaitu Ketik
#nano /etc/default/dhcp3-server
Isikan seperti yang dibawah ini :
172.16.19.5 255.255.255.248 { 172.16.19.5 172.16.19.17 172.16.19.4 “wahyu.com”; 172.16.19.4 172.16.19.255; 172.16.19.5;}
Pada file ini berfungsi untuk menentukan interface yang digunakan untuk DHCP disin kita
menggunakan eth0 atau jaringan LAN / kabel alasannya karena saat memakai jaringan wireless
(wlan0) banyak interferensi/gangguan dari yang lain karena banyak yang menggunakan jaringan
wireless.
Lakukan restart pada dhcp3-server dengan menggunakan perintah :
#/etc/init.d/dhcp3-server restart
Yak Untuk Konfigurasi DHCP selesai selanjutnya kita lihat hasilnya dari sisi server dengan perintah :
#ifconfig eth0
dengan
perintah
:
#arp
-a
cataatan : untuk perintah diatas dicoba setelah terkoneksi
Pada Sisi Client
#ifconfig eth0
#dhclient eth0
lakukan ping dari ip client ke ip server
Yaa selesai sudah proses instalasi dan konfigurasi DHCP Server versi saya mudah-mudahan tutorial
ini dapat membantu teman-teman semua dan juga dapat di jadikan referensi teman-teman
semuanya .
APLIKASI WEBSERVER DENGAN FTP
FTP (File Transfer Protokol) merupakan salah satu cara kita berkomunikasi dengan remote
komputer. Pada postingan ini saya akan berbagi tutorial
cara membuat FTP server
pada
sistem operasi ubuntu 11.10, mengingat banyaknya komentar yang masuk dan menanyakan
bagaimana cara membuat FTP server. Cukup banyak sekali aplikasi yang bisa digunakan di
dalam membuat FTP server, tetapi pada tutorial cara membuat FTP server kali ini saya akan
menggunakan aplikasi bernama VSFTPD (Very Secure FTP Daemon), aplikasi ini
menggunakan lisensi GPL dan bisa digunakan pada semua keluarga UNIX, tentunya
termasuk juga Linux. Kelebihan lainnya dari vstpd ini lebih “secure” jika dibandingkan
dengan aplikasi FTP server lainnya, lebih cepat, dan lebih stabil. Bagi anda pengguna ubuntu
VSFTPD sudah tersedia di repository server, berikut adalah tutorial cara membuat FTP server
selengkapnya.
Silahkan buka terminal, kemudian ketikkan perintah berikut untuk memulai tahap installasi
VSFTPD
sudo apt-get install vsftpd
Disaat menjalankan perintah tersebut anda diharuskan mendownload package sebesar 119 Kb
dan setelah tahap installasi selesai space harddisk anda akan terpakai sebesar 467 Kb
Setelah tahap installasi selesai sebenarnya anda tidak perlu lagi melakukan konfigurasi pada
VSFTPD, karena konfigurasi secara default sudah sangat secure dan bisa langsung
digunakan. Tetapi bila anda ingin mengedit konfigurasinya anda bisa mengedit file
/etc/vsftpd.conf dengan editor favorit anda, sebagai contoh misalkan anda ingin mengeditnya
dengan aplikasi gedit maka cukup ketikkan perintah berikut :
sudo gedit /etc/vsftpd.conf
Jika anda menginginkan user anda bisa mengupload file di FTP server anda, silahkan anda
cari baris berikut ini
1# Uncomment this to enable any form of FTP write command. 2#write_enable=YES
kemudian delete tanda # pada bagian write_enable sehingga menjadi seperti
1# Uncomment this to enable any form of FTP write command. 2write_enable=YESJika anda tidak menginginkan anonymous user bebas mengakses FTP server anda, silahkan
anda edit baris berikut ini
1# Allow anonymous FTP? (Disabled by default) 2anonymous_enable=NO