Membangun Network Services di Linux
Sub Materi : 1. Routing Static 2. Network Address Translation (NAT) 3. SSH Server 4. DHCP Server 5. DNS Server 6. Linux Apache MySQL PHP 7. Proxy Squid 8. Postfix Mail Server
M. Agung Nugroho blog. http://agung.getux.com email.
[email protected]
Dokumen Tutorial Versi. 0.5-Rev1
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Table of Contents Membangun Network Services di Linux...........................................................................1 SSH Server ...................................................................................................................2 Mengenal SSH Server .............................................................................................2 Instalasi OpenSSH ..................................................................................................2 Web Server dengan Linux, Apache, MySQL, PHP......................................................3 Instalasi MySQL......................................................................................................3 Instalasi Apache ......................................................................................................3 Instalasi PHP5 dan module apache mysql ..............................................................3 Instalasi PhpMyAdmin.............................................................................................4 DNS Server dengan Bind9............................................................................................5 Membuat Virtual Host (multiple domain dalam 1 server)............................................9 Membuat DHCP Server..............................................................................................12 Mengenal DHCP Server ........................................................................................12 Instalasi DHCP Server............................................................................................12 Konfigurasi DHCP Sever ......................................................................................12 Sumber Referensi........................................................................................................17
Membuat Network Services di Linux - 1
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
SSH Server
Mengenal SSH Server Pengguna telnet, rlogin, dan ftp mungkin tidak menyadari bahwa password mereka ditransmisikan melalui Internet tanpa enkripsi, tetapi OpenSSH mengenkripsi semua lalu lintas (termasuk password) untuk secara efektif menghilangkan pembajakan koneksi, percakapan, dan serangan lainnya. Selain itu, OpenSSH menyediakan kemampuan tunneling yang aman dan beberapa metode autentikasi, dan mendukung semua versi protokol SSH. Instalasi OpenSSH Untuk menginstal aplikasi client dan server OpenSSH, gunakan perintah ini pada terminal prompt: $ sudo aptget install opensshserver opensshclient
Untuk me-restart layanan ssh, gunakan perintah : $ sudo /etc/init.d/sshd stop $ sudo /etc/init.d/sshd start
Metode pengamanan sederhana, sebenarnya sudah terdapat pada file konfigurasi /etc/ssh/sshd_config. Untuk melakukan perubahan, gunakan perintah : $ sudo pico /etc/ssh/sshd_config
Agar anda tidak login ssh sebagai root, edit baris berikut sehingga seperti ini : Port 2999 # Authentication: LoginGraceTime 30 # PermitRootLogin yes StrictModes yes
Membuat Network Services di Linux - 2
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Web Server dengan Linux, Apache, MySQL, PHP Dalam contoh ini, misalkan anda memiliki IP 192.168.7.253 Instalasi MySQL $ sudo aptget install mysqlserver mysqlclient
Anda akan diminta untuk memasukkan user dan password: New password for the MySQL "root" user: < Password SQL anda New password for the MySQL "root" user: < Password SQL anda Repeat password for the MySQL "root" user: < Password SQL anda Repeat password for the MySQL "root" user: < Password SQL anda
Instalasi Apache $ sudo aptget install apache2
Kemudian buka browser anda, dan ketik url localhost atau 192.168.7.253 Document root apache secara default terletak di /var/www, dan konfigurasi file terletak di /etc/apache2/apache2.conf. Konfigurasi tambahan terletak di /etc/apache2 seperti /etc/apache2/mods-enabled (untuk module apache), /etc/apache2/sitesenabled (untuk virtual hosts), dan /etc/apache2/conf.d. Instalasi PHP5 dan module apache mysql $ sudo aptget install php5 libapache2modphp5 php5mysql $ sudo aptget install php5 libapache2modphp5 php5mysql phppear php5xcache php5suhosin
Perintah diatas untuk menginstal php dan module yang terkait apache dan php. Setelah selesai instalasi module php5 dan module mysql, selanjutnya kita lakukan restart services apache. $ sudo /etc/init.d/apache2 restart
Untuk melakukan testing apakah php5 sudah berjalan atau tidak, masuklah ke direktori /var/www dan buatlah file infophp.php dengan teks editor. $ sudo pico /var/www/infophp.php
Membuat Network Services di Linux - 3
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Masukkan code berikut ini :
Selanjutnya, bukalah browser anda, dan ketik url http://localhost/infophp.php atau http://192.168.7.253/infophp.php. Gunakan phpinfo ini untuk melihat module-module yang telah terinstall di mesin anda. Instalasi PhpMyAdmin PhpmyAdmin merupakan interface untuk memudahkan dalam manajemen database mysql. Untuk instalasi phpmyadmin, lakukan perintah berikut : $ sudo aptget install phpmyadmin
Kemudian akan muncul beberapa pertanyaan: Web server to reconfigure automatically: < apache2 Web server to reconfigure automatically: < apache2 Configure database for phpmyadmin with dbconfigcommon? < No Configure database for phpmyadmin with dbconfigcommon? < No
Setelah itu, anda dapat mengaksek phpMyAdmin pada
alamat berikut
http://192.168.7.253/phpmyadmin/:
Membuat Network Services di Linux - 4
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
DNS Server dengan Bind9 Dalam contoh ini misalkan konfigurasi yang akan kita buat adalah sebagai berikut : Nama Host : IP Host :
lab7.com
192.168.7.253
Install bind dengan perintah : $ sudo aptget install bind9
Edit file named.conf menggunakan editor pico atau editor lain sesuai selera dengan perintah: $ sudo pico /etc/bind/named.conf
Lalu tambahkan zonenya (sesuaikan dengan kondisi server anda). zone "lab7 .com" IN { " IN { zone "lab7.com type master; file "/etc/bind/lab7.com .db"; file "/etc/bind/lab7.com .db"; allowupdate { none; }; }; zone "7 zone "7.168.192. .168.192.inaddr.arpa" IN { type master; file "/etc/bind/lab7.com ptr.db"; file "/etc/bind/lab7.comptr.db"; allowupdate { none; }; };
Simpan konfigurasi diatas.
Setelah itu buatlah 2 file yang ada pada file named.conf yang anda buat tadi (lab7.com.db dan lab7.com-ptr.db). Baiklah, mari kita mulai dengan lab7.com.db : $ sudo pico /etc/bind/lab7.com.db
Membuat Network Services di Linux - 5
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
dan isikan dengan : $TTL
604800
@
IN
1 ;
Serial
604800 ;
Refresh
86400 ;
Retry
SOA
lab7.com.
admin.lab7.com. ( admin.lab7.com. (
2419200 ; Expire 604800 ) ; Negative Cache TTL ; @
IN
NS
ns1.lab7.com.
@
IN
A
192.168.7.253
localhost
IN
A
127.0.0.1
www
IN
A
192.168.7.253
ns1
IN
A
192.168.7.253
Lalu buat file konfigurasi kedua, yaitu lab7.com-ptr.db : $ sudo pico /etc/bind/lab7.comptr.db
dan isikan dengan parameter : $TTL
604800
@
IN
1 ;
Serial
604800 ;
Refresh
86400 ;
Retry
SOA
lab7.com. lab7.com. root.lab7.com. ( root.lab7.com. (
2419200 ; Expire 604800 ) ; Negative Cache TTL ; IN 253 IN
NS
ns1.lab7.com
PTR
lab7.com. lab7.com.
Simpan konfigurasi.
Membuat Network Services di Linux - 6
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Edit file /etc/hosts : $ sudo pico /etc/hosts
lalu edit sesuai dengan parameter server anda : 127.0.0.1
localhost
192.168.7.253
lab7.com
server
Simpan kembali. Kemudian edit file resolv.conf : $ sudo pico /etc/resolv.conf
Input parameter seperti dibawah ini (sesuaikan dengan parameter server anda) : domain
lab7.com
search
lab7.com
nameserver
192.168.7.253
Simpan kembali perubahan tersebut. Kemudian edit file named.conf.options : options { directory "/var/cache/bind"; forwarders { 202.91.9.2; 202.91.9.2;
}; authnxdomain yes;
# conform to RFC1035
listenonv6 { any; };
};
Langkah selanjutnya adalah merestart services Bind : $ sudo /etc/init.d/bind9 $ sudo /etc/init.d/bind9 restart restart
Untuk testing dapat menggunakan perintah nslookup : $ nslookup www.lab7.com
Output : Server:
192.168.7.253
Address:
192.168.7.253#53 Membuat Network Services di Linux - 7
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi Name: Address:
www.lab7.com
192.168.7.253
$ host lab7.com
Output : lab7.com has address 192.168.7.253
Membuat Network Services di Linux - 8
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Membuat Virtual Host (multiple domain dalam 1 server) Apache mendukung virtual hosting dengan basis IP dan nama domain, sehingga memungkinkan 1 server memiliki banyak domain. Mari kita mulai :) Kita pastikan port yang digunakan adalah port 80 (http). Edit file ports.conf dengan perintah berikut : $ sudo pico /etc/apache2/ports.conf $ sudo pico /etc/apache2/ports.conf
Kemudian ganti menjadi seperti dibawah ini (sesuaikan IP dengan milik anda) : NameVirtualHost 192.168.7.253:80 NameVirtualHost 192.168.7.253:80 Listen 80
Selanjutnya, menjalankan perintah berikut untuk menonaktifkan default virtual host apache. $ a2dissite default
Setiap konfigurasi virtual host tersimpan dalam sebuah file yang diberi nama domain dan terletak pada direktori /etc/apache2/sites-available/. Dalam contoh ini, Anda akan membuat file dengan basis nama domain lab7.net dan lab7.com. Pertama
kita
buat
terlebih
dahulu
file
lab7.net
(/etc/apache2/sites-
available/lab7.net). Sesuaikan IP dengan yang anda miliki. File: /etc/apache2/sites-available/lab7.net
ServerAdmin [email protected] ServerName lab7.net ServerAlias www.lab7.net DocumentRoot /srv/www/lab7.net/public_html/ ErrorLog /srv/www/lab7.net/logs/error.log CustomLog /srv/www/lab7.net/logs/access.log combined
Membuat Network Services di Linux - 9
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Selanjutnya,
membuat
file
konfigurasi
lab7.com
(/etc/apache2/sites-
available/lab7.com) : File: /etc/apache2/sites-available/lab7.com
ServerAdmin [email protected] ServerName lab7.com ServerAlias www.lab7.com DocumentRoot /srv/www/lab7.com/public_html/ ErrorLog /srv/www/lab7.com/logs/error.log CustomLog /srv/www/lab7.com/logs/access.log combined
Seluruh file web akan diletakkan pada direktori /srv/www. Direktori ini dapat anda sesuaikan dengan kebutuhan, tidak harus di /srv Buat direktori yang kita butuhkan dengan perintah berikut : $ sudo mkdir p /srv/www/lab7.net/public_html $ sudo mkdir /srv/www/lab7.net/logs
$ sudo mkdir p /srv/www/lab7.com/public_html $ sudo mkdir /srv/www/lab7.com/logs
Enable the sites by issuing these commands: $ a2ensite lab7.net $ a2ensite lab7.com
Terakhir, restart layanan Apache untuk mengetahui hasil perubahan yang kita lakukan : Membuat Network Services di Linux - 10
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi $ sudo /etc/init.d/apache2 restart
Ketika anda membuat atau melakukan editing file virtual host, lakukan reload konfigurasi dengan perintah berikut : $ sudo /etc/init.d/apache2 reload
Membuat Network Services di Linux - 11
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Membuat DHCP Server
Mengenal DHCP Server DHCP (Dynamic Host Cotrol Protocol) server merupakan sistem yang digunakan untuk melayani client-client untuk mengkonfigurasi ip secara otomatis sehingga kita tidak perlu untuk mengkonfigurasi client-client dengan menseting pengaturan jaringan secara manual satu-persatu, dengan menggunakan DHCP server client cukup di seting untuk menggunakan ip otomatis maka client akan secara otomatis akan mendapatkan konfigurasi jaringan yang kita tentukan sebelumnya pada DHCP server seperti konfigurasi ip, netmask, default gateway, dan juga DNS server. Instalasi DHCP Server $ sudo aptget install dhcp3server
Konfigurasi DHCP Sever File konfigurasi DHCP server terdapat di /etc/dhcp3/dhcpd.conf, secara default file ini memang telah di buat ketika kita menginstall aplikasi dhcp3-server akan tetapi untuk menyesuaikan opsi konfigurasi dengan kondisi jaringan di tempat kita maka kita harus mengeditnya dan menyesuaikan dengan konfigurasinya sesuai dengan yang kita inginkan. Edit file konfigurasi /etc/dhcp3/dhcpd.conf $ sudo pico /etc/dhcp3/dhcpd.conf
Edit file konfigurasi /etc/default/dhcp3-server, untuk menyesuaikan interface yang akan digunakan. $ sudo pico /etc/default/dhcp3server
Membuat Network Services di Linux - 12
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Contoh config : defaultleasetime 360; maxleasetime 7200; option subnetmask 255.255.255.0; option routers 192.168.1.254; # option domainnameservers 172.16.30.7; option broadcastaddress 192.168.1.255; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.1 192.168.1.100; }
Opsi konfigurasi di atas dapat di jelaskan sebabai berikut : default-lease-time merupakan default waktu sewa yang akan diberikan oleh DHCP server kepada clientnya, opsi max-lease-time merupakan waktu sewa maksimal yang akan diberikan kepada client , option subnet-mask menentukan subnetmask, client yang menerima ip dari server DHCP akan mendapatkan netmask sesuai yang diberikan pada opsi ini, option routers opsi ini akan menentukan default gateway dari client yang mendapatkan ip dari DHCP server, option domain-name-servers opsi ini akan menentukan DNS server yang akan digunakan oleh client, option broadcast-address opsi ini menentukan alamat broadcast dari client, opsi subnet dan netmask merupakan opsi pengaturan subnet dan netmask, sedangkan opsi range merupakan opsi daftar ip yang akan disewakan ke client, juka dalam contoh kita mengisikanya dengan 192.168.1.1 192.168.1.100 berarti range ip dari 192.168.1.1 sampai dengan 192.168.1.100 akan diberikan kepada client. Menjalankan Daemon DHCP Setelah kita yakin dengan konfigurasi DHCP server kita maka tugas kita adalah menjalankan daemon dhcpd agar DHCP server dapat melayani perminta permintaan konfigurasi jaringan dari client, untuk menjalankan daemon dhcpd dapat kita lakukan dengan perintah service Membuat Network Services di Linux - 13
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi $ sudo /etc/init.d/dhcp3server start
DHCP Untuk Banyak Jaringan DHCP server dapat di set up untuk bisa melayani permintaan konfigurasi jaringan dari beberapa network dengan range ip yang berbeda, sebagai contoh ketika kita memiliki 3 interface card (NIC) dengan 1 interface menghadap ke jaringan internet dan 2 interface terhubung dengan jaringan ln dengan ip yang berbeda, berikut adalah contoh konfigurasi dhcpd untuk dua jaringan dengan ip 192.168.1.0/24 dan 192.168.2.0/24 subnet 192.168.1.0 netmask 255.255.255.0 { defaultleasetime 360; maxleasetime 720; option broadcastaddress 192.168.1.255; option routers 192.168.1.254; option domainnameservers 192.168.1.254; range 192.168.1.1 192.168.1.100; } subnet 192.168.2.0 netmask 255.255.255.0 { defaultleasetime 720; maxleasetime 1440; option broadcastaddress 192.168.2.255; option routers 192.168.2.254; option domainnameservers 192.168.2.254; range 192.168.2.1 192.168.2.200; }
Dengan konfigurasi di atas maka jaringan LAN yang terhubung dengan ethernet pada server DHCP yang mempunyai ip 192.168.1.254 akan mendapatkan ip 192.168.1.1 sampai dengan 192.168.1.100 dengan default gateway 192.168.1.254 dan DNS server Membuat Network Services di Linux - 14
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
192.168.1.254, dan mendapatkan default waktu sewa selama 1 jam, dan maksimal waktu sewa selama 2 jam, begitu juga pada jaringan LAN yang terhubung dengan ethernet dari DHCP server yang mempunyai ip 192.68.2.254 maka akan mendapatkan range ip dari 192.168.2.1 sampai dengan 192.168.2.200 dengan default gateway 192.168.2.254 dan DNS server 192.168.2.254 dan mendapatkan waktu sewa selama 720 detik (2 jam) dan maksimal sewa selama 14400 detik (4 jam). Konfigurasi DHCP untuk IP Statis Pada contoh-contoh konfigurasi di atas semua range ip address yang di deklarasikan dapat digunakan oleh semua client, artinya client dapat saja mendapatkan ip yang berbeda setiap kali client meinta konfigurasi dari server, DHCP server dapat di set agar memberikan ip statis ke pada suatu client, metode yang digunakan adalah dengan menandai alamat MAC (Medium Access Control) atau alamat hardware, sehingga server DHCP akan memberikan ip statis kepada host yang almat MAC nya terdaftar dalam konfigurasi dhcpd, berikut adalah contoh pemberian alamat static pada DHCP server. defaultleasetime 360; maxleasetime 7200; option subnetmask 255.255.255.0; option routers 192.168.1.254; option domainnameservers 172.16.30.7; option broadcastaddress 192.168.1.255; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.1 192.168.1.100; } host statichost { option hostname “statichost”; hardware ethernet 00:90:F2:65:DC:D2;
Membuat Network Services di Linux - 15
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi fixedaddress 192.168.1.50; }
Dengan
konfigurasi
diatas
maka
client
yang
memiliki
alamat
MAC
00:90:F2:65:DC:D2 akan selalu mendapatkan ip 192.168.1.50, dan alamat tersebut tidak akan disewakan kepada client lain.
Membuat Network Services di Linux - 16
Tutorial Praktikum Jaringan Komputer I – Sistem Informasi
Sumber Referensi •
http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-supporton-ubuntu-10.04-lamp
•
http://www.aqsha-a.co.cc/instalasi-dan-konfigurasi-dns-server-dengan-bind9pada-ubuntu-server-9-10/
•
http://library.linode.com/web-servers/apache/installation/ubuntu-10.04-lucid
•
http://ugos.ugm.ac.id/wiki
•
http://www.jonathanmoeller.com/screed/?p=1677
•
http://seeksadmin.com/blog/2007/basic-ssh-security/
•
http://www.ubuntugeek.com/how-to-install-and-configure-dhcp-server-inubuntu-server.html
•
Apache: http://httpd.apache.org/
•
PHP: http://www.php.net/
•
MySQL: http://www.mysql.com/
•
Ubuntu: http://www.ubuntu.com/
•
phpMyAdmin: http://www.phpmyadmin.net/
Membuat Network Services di Linux - 17