Pembahasan Soal UKK Paket 1 TKJ 2016
<wrap hi>DRAFT</wrap>
Pada Soal praktik Kejuruan Paket 1 ini siswa dituntut untuk mampu Merancang bangun dan mengonfigurasi sebuah PC Server yang berfungsi sebagai Gateway Internet, Web Server dan juga berfungsi sebagai DNS Server. Langkah-langkahnya sebagai berikut.
Topologi
1. Instalasi Ubuntu
Pada tahap ini tidak perlu dibahas, karena semua siswa dianggap telah dapat menginstall Ubuntu Server 14.04. Namun pada saat instalasi, perlu diperhatikan, paket-paket berikut perlu diinstall :
Nah, saat proses instalasi akan diminta password root untuk Database MySQL. Ketikkan passwordnya (dua kali), password ini akan digunakan untuk login ke MySQL.
2. Konfigurasi Dasar Ubuntu
Pada soal tertulis :
Konfigurasi Server
- IP Internet = Sesuai dengan Network yang diberikan ISP
- IP LAN = 192.168.100.1/29
- Gateway = Sesuai Dengan IP yang diberikan oleh ISP
- Sistem operasi = Linux (Ubuntu Server)
Konfigurasi Client
- IP LAN1) = 192.168.100.x/29
- Gateway = 192.168.100.1/29
- Sistem operasi = Windows / Linux
Konfigurasi Server Web
- Server Web = Apache
- Document Root = www-data
- Virtual Host = student.sekolah.web.id
- Modul = PHP
- Modul database = MySQL, PostgreSQL
- CMS = Wordpress
- Remote login = SSH
- Port SSH = 1734
- Login ke ubuntu
- Setting IP address
sudo nano /etc/network/interfaces
- Sesuaikan IP address
auto eth0 iface eth0 inet static address 192.168.88.2 netmask 255.255.255.248 broadcast 192.168.88.7 gateway 192.168.88.1 auto eth1 iface eth1 inet static address 192.168.100.1 netmask 255.255.255.248 broadcast 192.168.100.7 gateway 192.168.100.1 option domain-name-servers 192.168.100.1 8.8.8.8
- Ubah
eth0
daneth1
ubah sesuai dengan interface yang ada di PC server kita. - simpan dengan Ctrl+X, Y, dan Enter.
- Coba ping ke
google.com
- Setting
resolv.conf
- Sunting file
/etc/resolv.conf
sudo nano /etc/resolv.conf
- Masukkan IP Server
nameserver 192.168.100.1
- simpan dengan Ctrl+X, Y, dan Enter.
- Konfigurasi IP klien di mana komputer yang diinstall Windows/Linux
- IP Address : 192.168.100.2-6
- Subnet Mask : 255.255.255.248
- Gateway : 192.168.100.1
- DNS 1 : 192.168.100.1
- DNS 2 : 8.8.8.8
- Ping dari Klien ke Server > Untuk mengecek apakah Client dan Server Sudah terkoneksi atau belum
- Buka Terminal/CMD di Klien, lalu ketik
ping 192.168.100.1
- Jika berhasil, akan ada reply dari server. Jika gagal, periksa kembali konfigurasinya.
- Konfigurasi routing (packet forwarding), dapat dilakukan dengan cara berikut.
- masukkan angka 1 pada
/proc/sys/net/ipv4/ip_forward
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
- Atau dengan mengedit berkas
/etc/sysctl.conf
sudo nano /etc/sysctl.conf
- Cari
net.ipv4.ip_forward=1
dan hilangkan tanda pagar di depannya, dari
#net.ipv4.ip_forward=1
menjadi
net.ipv4.ip_forward=1
- Setting iptables
- sunting berkas
/etc/rc.local
,
sudo nano /etc/rc.local
- tambahkan perintah berikut sebelum
exit 0
:
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
3. Konfigurasi SSH Server
Sesuai dengan perintah soal Remote Login menggunakan SSH dengan Port 1734. Ubah port SSH dengan cara :
- sunting berkas
/etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
- ubah
Port 22
menjadi
Port 1734
- Simpan, lalu restart ssh dengan perintah :
sudo /etc/init.d/ssh restart
4. Konfigurasi Database MySQL
Karena mysql telah terinstall, kita hanya perlu membuat sebuah database untuk menginstall wordpress.
- Login ke mysql dengan perintah :
mysql -u root -p
- ketikkan password, lalu Enter. Akan muncul shell baru yang di awali dengan
mysql>
. Buat sebuah database, misalnya di sini akan saya beri nama dbwordpress.
mysql> create database dbwordpress;
- Jikah telah berhasil, ditandai dengan pesan OK. Keluar dari shell mysql dengan mengetikkan :
mysql> quit
5. Konfigurasi DNS Server
Konfigurasi Utama
Semua berkas konfigurasi bind9 ada di direktori /etc/bind
. Ketikkan perintah berikut untuk masuk ke direktori tersebut :
cd /etc/bind
Pertama kita akan konfigurasi adalah berkas named.conf.local
dalam direktori tadi
sudo nano named.conf.local
Ganti nano
dengan teks editor favorit Anda, jika diperlukan. Tambahkan konfigurasinya sebagai berikut :
// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; zone "samsul.sekolahku.web.id" { type master; file "/etc/bind/db.sekolahku"; }; zone "100.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192"; };
Pada zone yang kedua, angka 100.168.192
merupakan tiga blok pertama alamat IP yang dibalik urutannya.
Jangan lupa simpan konfigurasi tersebut dengan menekan tombol Ctrl+x lalu tekan y, selanjutnya Enter.
Lalu buat/salin berkas db.local
ke db.sekolahku
2) dan berkas db.127
ke db.192
3). Hal tersebut dapat dilakukan dengan perintah berikut :
sudo cp db.local db.sekolahku sudo cp db.127 db.192
Gunakan perintah ls
untuk melihat isi folder, dan akan terlihat file yang baru dibuat tadi sebagai berikut :
samsul@maarif:/etc/bind$ ls bind.keys db.192 db.local named.conf named.conf.options db.0 db.255 db.root named.conf.default-zones rndc.key db.127 db.empty db.sekolahku named.conf.local zones.rfc1918 samsul@maarif:/etc/bind$
Selanjutnya kita akan mengonfigurasi berkas db.sekolahku
dan db.192
.
sudo nano db.sekolahku
Sunting berkas db.sekolahku
sehingga menjadi seperti :
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA samsul.sekolahku.web.id. root.samsul.sekolahku.web.id. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.samsul.sekolahku.web.id. @ IN A 192.168.100.1 @ IN MX 10 mail.samsul.sekolahku.web.id. ns IN A 192.168.100.1 www IN A 192.168.100.1 mail IN A 192.168.100.1
simpan dengan Ctrl+x lalu tekan y, selanjutnya Enter. Dan sunting berkas db.192
:
sudo nano db.192
sehingga seperti sebagai berikut :
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA samsul.sekolahku.web.id. root.samsul.sekolahku.web.id. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.samsul.sekolahku.web.id. 1 IN PTR ns.samsul.sekolahku.web.id. 1 IN PTR www.samsul.sekolahku.web.id. 1 IN PTR mail.samsul.sekolahku.web.id.
simpan dengan Ctrl+x lalu tekan y, selanjutnya Enter.
Angka 1
pada konfigurasi di atas 1 IN PTR ns.blabalaba
adalah blok terakhir alamat IP yang kita gunakan. Jadi silahkan sesuaikan jika alamat IP yang digunakan berbeda.
Restart BIND9
Sampai di sini, kita telah selesai mengonfigurasi BIND9 sebagai DNS server kita. Langkah berikutnya adalah dengan merestart layanan dns server tersebut dengan perintah berikut :
sudo /etc/init.d/bind9 restart
Jika tidak ada pesan error, artinya konfigurasi DNS server yang kita buat telah berhasil.
Pengujian
Namun untuk memastikan apakah sudah benar-benar berhasil atau belum, kita perlu melakukan pengujian. Beberapa alat yang dapat kita gunakan untuk melakukan pengujian adalah nslookup
, dig
, dan ping
. Berikut adalah contoh-contoh hasil pengujiannya :
samsul@maarif:/etc/bind$ nslookup samsul.sekolahku.web.id Server: 127.0.0.1 Address: 127.0.0.1#53 Name: samsul.sekolahku.web.id Address: 192.168.100.1 samsul@maarif:/etc/bind$ nslookup 192.168.100.1 Server: 127.0.0.1 Address: 127.0.0.1#53 1.100.168.192.in-addr.arpa name = mail.samsul.sekolahku.web.id. 1.100.168.192.in-addr.arpa name = ns.samsul.sekolahku.web.id. 1.100.168.192.in-addr.arpa name = www.samsul.sekolahku.web.id. samsul@maarif:/etc/bind$ ping samsul.sekolahku.web.id -c 4 PING sekolahku.sam (192.168.100.1) 56(84) bytes of data. 64 bytes from ns.samsul.sekolahku.web.id (192.168.100.1): icmp_seq=1 ttl=64 time=0.076 ms 64 bytes from ns.samsul.sekolahku.web.id (192.168.100.1): icmp_seq=2 ttl=64 time=0.133 ms 64 bytes from ns.samsul.sekolahku.web.id (192.168.100.1): icmp_seq=3 ttl=64 time=0.114 ms 64 bytes from ns.samsul.sekolahku.web.id (192.168.100.1): icmp_seq=4 ttl=64 time=0.126 ms --- samsul.sekolahku.web.id ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 0.076/0.112/0.133/0.023 ms samsul@maarif:/etc/bind$
6. Konfigurasi VirtualHost
DocumentRoot yang diminta di soal adalah www-data, maka kita perlu membuat direktorinya terlebih dahulu.
sudo mkdir -p /var/www-data
Ubah hak akses supaya user biasa dapat mengupload :
sudo chmod 777 -Rfv /var/www-data
Unggah berkas WordPress ke direktori /var/www-data
dengan WinSCP, gunakan aku SSH dengan port baru tadi (1734):
Jika muncul peringatan seperti berikut, klik Ya/Yes :
Selanjutnya kita dapat mengunggah file wordpress.zip seperti gambar berikut, masuk ke direktory /var/www-data
lalu upload.
Kembali ke komputer server, install unzip
agar kita dapat mengekstrak berkas wordpress.zip. Kita dapat melewati proses ini jika berkas yang diupload tadi berformat *.tar.gz
.
sudo apt-get install unzip
Ekstrak dengan perintah :
cd /var/www-data sudo unzip wordpress.zip
Atau jika berkasnya berupa wordpress-4.1.tar.gz
, maka perintah untuk mengekstraknya adalah :
sudo tar -xvzf wordpress-4.1.tar.gz
Jika hasil ekstrak berupa folder tunggal wordpress
, pindahkan semua isinya ke /var/www-data
. Hal tersebut dapat dilakukan dengan perintah :
sudo mv -vf wordpress/* /var/www-data/
Ubah kepemilikan berkasnya ke www-data4).
sudo chown -Rfv www-data:www-data /var/www-data sudo chmod -Rfv 775 /var/www-data
Selanjutnya, sunting berkas /etc/apache2/apache2.conf
sudo nano /etc/apache2/apache2.conf
Ubah kode berikut :
<Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory>
Menjadi :
<Directory /> Options FollowSymLinks AllowOverride all Require all granted </Directory>
Tambahkan teks berikut di akhir baris pada berkas tersebut :
Include /etc/apache2/httpd.conf
Simpan, lalu edit/buat berkas /etc/apache2/httpd.conf
tambahkan teks berikut :
<VirtualHost *:80> ServerName www.samsul.sekolahku.web.id ServerAlias samsul.sekolahku.web.id *.samsul.sekolahku.web.id DocumentRoot /var/www-data AddHandler php5-script .php </VirtualHost>
Lalu simpan, selanjutnya restart apache dengan perintah :
sudo /etc/init.d/apache2 restart
7. Konfigurasi & Install Wordpress
Selanjutnya kita akan mengonfigurasi dan menginstall wordpress, masuk ke direktori /var/www-data
,
cd /var/www-data
Salin berkas wp-config-sample.php
ke berkas baru wp-config.php
dengan perintah :
sudo cp wp-config-sample.php wp-config.php
Lalu sunting berkas baru tersebut dengan perintah :
sudo nano wp-config.php
Sesuaikan konfigurasinya dengan database yang kita buat tadi :
// ** Pengaturan MySQL - Anda dapat memperoleh informasi ini dari web host Anda ** // /** Nama basis data untuk WordPress */ define('DB_NAME', 'dbwordpress'); /** Nama pengguna basis data MySQL */ define('DB_USER', 'root'); /** Kata sandi basis data MySQL */ define('DB_PASSWORD', 'sam'); /** Nama host MySQL */ define('DB_HOST', 'localhost');
Simpan, lalu restart apache jika diperlukan. Selanjutnya akses domain yang kita buat tadi5) melalui komputer klien. Jika berhasil akan tampak instalasi wordpress, isikan Site Title (judul situs), username dan password website kita yang baru. Kira-kira begini tampilannya :
<WRAP center round info 60%> Semoga berhasil….. </WRAP>
Referensi
- Beberapa gambar saya ambil dari modul yang dibuat www.blogtkj.com
- Dokumentasi Apache2 http://httpd.apache.org/docs/2.4/vhosts/
~~DISQUS~~