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.

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.

Pada soal tertulis :

Konfigurasi Server

  1. IP Internet = Sesuai dengan Network yang diberikan ISP
  2. IP LAN = 192.168.100.1/29
  3. Gateway = Sesuai Dengan IP yang diberikan oleh ISP
  4. Sistem operasi = Linux (Ubuntu Server)

Konfigurasi Client

  1. IP LAN1) = 192.168.100.x/29
  2. Gateway = 192.168.100.1/29
  3. Sistem operasi = Windows / Linux

Konfigurasi Server Web

  1. Server Web = Apache
  2. Document Root = www-data
  3. Virtual Host = student.sekolah.web.id
  4. Modul = PHP
  5. Modul database = MySQL, PostgreSQL
  6. CMS = Wordpress
  7. Remote login = SSH
  8. 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 dan eth1 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

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

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

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.sekolahku2) dan berkas db.127 ke db.1923). 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$ 

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

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>

~~DISQUS~~


1)
Keterangan : xxx merupakan address
2)
CATATAN: sesuaikan nama berkas dengan konfigurasi yang ada di named.conf.local
3)
Idem
4)
Ini adalah user & group untuk apache di Ubuntu.
5)
Misalnya dalam hal ini –> http://samsul.sekolahku.web.id
  • linux/Pembahasan.Soal.UKK.Paket.1
  • Terakhir diubah: 9 bulan yang lalu
  • (Perubahan eksternal)