Anggota | NRP |
---|---|
Amanda Rozi Kurnia | 05111940000094 |
Dyandra Paramitha W. | 05111940000119 |
Daanii Nabil Ghinannafsi Kusnanta | 05111940000163 |
Soal Shift 2
Prefix: 192.195
- Soal 1
- Soal 2
- Soal 3
- Soal 4
- Soal 5
- Soal 6
- Soal 7
- Soal 8
- Soal 9
- Soal 10
- Soal 11
- Soal 12
- Soal 13
- Soal 14
- Soal 15
- Soal 16
- Soal 17
- Kendala Yang Dialami
- Referensi
EniesLobby akan dijadikan sebagai DNS Master, Water7 akan dijadikan DNS Slave, dan Skypie akan digunakan sebagai Web Server. Terdapat 2 Client yaitu Loguetown, dan Alabasta. Semua node terhubung pada router Foosha, sehingga dapat mengakses internet
Sebelumnya, telah dibuat topologi sesuai dengan yang diminta, dan pada Foosha dijalankan command iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE -s 192.195.0.0/16
agar dapat terhubung ke jaringan luar pada router Foosha
. Adapun agar Foosha
dapat langsung terhubung dengan jaringan saat dijalankan, command disimpan dalam root/.bashrc
yang automatis akan jalan apabila Foosha dinyalakan.
Kemudian pada setiap node ditambahkan nameserver 192.168.122.1
ke dalam file di path /etc/resolv.conf
, dengan menambahkannya pada root/.bashrc
juga dengan command echo "nameserver 192.168.122.1" > etc/resolv.conf
sehingga nameserver akan otomatis ditambahkan apabila node dinyalakan. Nameserver ini ditambahkan agar setiap node terhubung dengan router Foosha
yang kita miliki.
Membuat website utama dengan mengakses franky.yyy.com dengan alias www.franky.yyy.com pada folder kaizoku
pada EniesLobby sebelumnya dijalankan command apt-get update
dan apt-get install bind9 -y
untuk menginstall bind9.
Apabila bind9 sudah terinstall, edit file named.conf.local
pada folder bind
menggunakan command vi /etc/bind/named.conf.local
dengan menambahkan:
zone "franky.d07.com" {
type master;
file "/etc/bind/kaizoku/franky.d07.com";
};
kemudian buat folder kaizoku di /etc/bind
menggunakan mkdir /etc/bind/kaizoku
.
Lalu copy /etc/bind/db.local
menjadi /etc/bind/kaizoku/franky.d07.com
menggunakan cp /etc/bind/db.local /etc/bind/kaizoku/franky.d07.com
.
Lalu konfigurasi file tersebut seperti pada gambar.
Setelah itu buat subdomain super.franky.yyy.com dengan alias www.super.franky.yyy.com yang diatur DNS nya di EniesLobby dan mengarah ke Skypie.
Pada file /etc/bind/kaizoku/franky.d07.com
ditambahkan:
ns1 IN A 192.195.2.4 ; IP Skypie
super IN NS ns1
Kemudian menambahkan pada /etc/bind/named.conf.local
:
zone "super.franky.d07.com" {
type master;
file "/etc/bind/kaizoku/super.franky.d07.com";
};
Untuk menambah subdomain super.franky.d07.com
.
Kemudian buat file baru untuk subdomain seperti pada nomor di atas. Copy /etc/bind/db.local
menjadi /etc/bind/kaizoku/super.franky.d07.com
menggunakan cp /etc/bind/db.local /etc/bind/kaizoku/super.franky.d07.com
.
Lalu konfigurasi file tersebut seperti pada gambar.
Buat juga reverse domain untuk domain utama.
Mengedit file pada etc/bind/named.conf.local
:
zone "2.195.192.in-addr.arpa" {
type master;
file "/etc/bind/kaizoku/2.195.192.in-addr.arpa";
};
Copy file /etc/bind/db.local
menjadi /etc/bind/kaizoku/2.195.192.in-addr.arpa
dan melakukan konfigurasi seperti pada gambar.
Pada server Loguetown, menjalankan apt-get-update
dan apt-get install dnsutils
.
Selain itu juga menambahkan nameserver dari node Ennieslobby dan Skypie ke dalam file /etc/resolv.conf
host -t PTR 192.195.2.4
Supaya tetap bisa menghubungi Franky jika server EniesLobby rusak, maka buat Water7 sebagai DNS Slave untuk domain utama.
Mengedit file pada etc/bind/named.conf.local
dan melakukan replace pada zone franky.d07.com
:
zone "franky.d07.com" {
type master;
notify yes;
also-notify { 192.195.2.3; };
allow-transfer { 192.195.2.3; };
file "/etc/bind/kaizoku/franky.d07.com";
};
Kemudian melakukan restart pada bind. service bind9 restart
.
Sama seperti pada server Ennieslobby, jalankan command apt-get update
dan apt-get install bind9 -y
untuk menginstall bind9.
Kemudian pada /etc/bind/named.conf.local
ditambahkan:
zone "franky.d07.com" {
type slave;
masters { 192.195.2.2; };
file "/var/lib/bind/franky.d07.com";
};
Kemudian melakukan restart pada bind. service bind9 restart
.
Pada Loguetown ditambahkan nameserver Water7.
- Mematikan service bind pada Ennieslobby
service bind9 stop
. - Melakukan
ping franky.d07.com
.
Setelah itu terdapat subdomain mecha.franky.yyy.com dengan alias www.mecha.franky.yyy.com yang didelegasikan dari EniesLobby ke Water7 dengan IP menuju ke Skypie dalam folder sunnygo.
Mengedit file /etc/bind/kaizoku/franky.d05.com
:
ns1 IN A 192.195.2.3 ; IP Water7
mecha IN NS ns1
Mengedit file /etc/bind/named.conf.options
dengan mengcomment bagian dnssec-validation auto;
dan menambahkan allow-query{any;};
.
Mengedit file /etc/bind/named.conf.options
dengan mengcomment bagian dnssec-validation auto;
dan menambahkan allow-query{any;};
.
Menambahkan zone pada /etc/bind/named.conf.local
dengan menambahkan:
zone "mecha.franky.d07.com" {
type master;
file "/etc/bind/sunnygo/mecha.franky.d07.com";
};
Buat folder sunnygo dengan mkdir /etc/bind/sunnygo
dan melakukan cp /etc/bind/db.local /etc/bind/sunnygo/mecha.franky.d07.com
, dan melakukan konfigurasi pada gambar.
Melakukan ping mecha.franky.d07.com
pada server Loguetown.
Untuk memperlancar komunikasi Luffy dan rekannya, dibuatkan subdomain melalui Franky dengan nama general.mecha.franky.yyy.com dengan alias www.general.mecha.franky.yyy.com yang mengarah ke Skypie.
Mengedit file /etc/bind/sunnygo/mecha.franky.d07.com
:
Menambahkan zone pada /etc/bind/named.conf.local
:
zone "general.mecha.franky.d07.com" {
type master;
file "/etc/bind/sunnygo/general.mecha.franky.d07.com";
};
Melakukan cp /etc/bind/db.local /etc/bind/sunnygo/general.mecha.franky.d07.com
, dan melakukan konfigurasi pada gambar.
Melakukan ping general.mecha.franky.d07.com
pada server Loguetown.
Setelah melakukan konfigurasi server, maka dilakukan konfigurasi Webserver. Pertama dengan webserver www.franky.yyy.com. Pertama, luffy membutuhkan webserver dengan DocumentRoot pada /var/www/franky.yyy.com.
Melakukan instalasi lynx
menggunakan apt-get update
dan apt-get install lynx
Melakukan penginstallan apache2
, php
, dan lbapache2-mod-php7.0
.
apt-get install apache2
service apache2 start
apt-get install php
apt-get install libapache2-mod-php7.0
service apache2 restart
Jangan lupa untuk melakukan wget
pada file github pada modul dan melakukan unzip.
*Apbila tidak bisa, install terlebih dahulu wget dan unzipnya.
wget https://github.com/FeinardSlim/Praktikum-Modul-2-Jarkom/archive/refs/heads/main.zip
Kemudian pindah ke directory /etc/apache2/sites-available
(cd /etc/apache2/sites-available
) dan melakukan copy file cp 000-default.conf franky.d07.com.conf
.
Lalu setting file franky.d07.com.conf
seperti pada gambar:
Kemudian membuat directory baru dengan nama franky.d07.com
pada /var/www/
(mkdir /var/www/franky.d07.com
). lalu copy isi dari folder franky
yang telah didownload ke /var/www/franky.d07.com
.
cp /root/Praktikum-Modul-2-Jarkom-main/franky/index.php /var/www/franky.d07.com
cp /root/Praktikum-Modul-2-Jarkom-main/franky/home.html /var/www/franky.d07.com
Setelah itu jalankan command a2ensite franky.d07.com
dan service apache2 restart
Melakukan lynx franky.d07.com
pada Loguetown.
Setelah itu, Luffy juga membutuhkan agar url www.franky.yyy.com/index.php/home dapat menjadi menjadi www.franky.yyy.com/home.
Pertama, aktifkan modul rewrite
dengan menjalankan perintah a2enmod rewrite
. Kemudian, restart apache2 service apache2 restart
dan pindah ke directory var/www/franky.d07.com
. Buat file .htaccess
dengan isi
RewriteEngine On
RewriteRule ^home$ index.php/home
Selanjutnya, buka file /etc/apache2/sites-available/franky.d07.com.conf
dan tambahkan
<Directory /var/www/franky.d07.com>
Options +FollowSymLinks -Multiviews
AllowOverride All
</Directory>
Lakukan testing pada client dengan menjalankan command lynx franky.d07.com/home
. Akan muncul halaman:
Setelah itu, pada subdomain www.super.franky.yyy.com, Luffy membutuhkan penyimpanan aset yang memiliki DocumentRoot pada /var/www/super.franky.yyy.com
Pindah ke directory /etc/apache2/sites-available
, kemudian copy file 000-default.conf
menjadi file super.franky.d07.com.conf
.
cd /etc/apache2/sites-available
cp 000-default.conf super.franky.d07.com.conf
Buat directory baru dengan nama super.franky.d07.com
pada directory /var/www
menggunakan mkdir /var/www/super.franky.d07.com
. Selanjutnya, copy isi folder super.franky
yang telah didownload ke /var/www/super.franky.d07.com
.
cp -r /root/Praktikum-Modul-2-Jarkom-main/super.franky/error /var/www/super.franky.d07.com
cp -r /root/Praktikum-Modul-2-Jarkom-main/super.franky/public /var/www/super.franky.d07.com
Jalankan command a2ensite super.franky.d07.com
dan service apache2 restart
.
Lakukan testing pada client dengan command lynx super.franky.d07.com
. Maka, akan muncul halaman berikut.
Akan tetapi, pada folder /public, Luffy ingin hanya dapat melakukan directory listing saja.
Pindah ke directory /etc/apache2/sites-available
kemudian buka file super.franky.d07.com.conf
dan tambahkan:
<Directory /var/www/super.franky.d07.com/public>
Options +Indexes
</Directory>
Jalankan command service apache2 restart
.
Lakukan testing pada client dengan menjalankan command lynx super.franky.d07.com/public
. Maka, akan muncul halaman sebagai berikut:
Tidak hanya itu, Luffy juga menyiapkan error file 404.html pada folder /error untuk mengganti error kode pada apache
Pindah ke directory /etc/apache2/sites-available
kemudian buka file vi super.franky.d07.com.conf
dan tambahkan:
ErrorDocument 404 /error/404.html
Lakukan testing pada client dengan menjalankan command lynx super.franky.d07.com/halo
(lokasi yang tidak ada). Maka akan muncul halaman berikut:
Luffy juga meminta Nami untuk dibuatkan konfigurasi virtual host. Virtual host ini bertujuan untuk dapat mengakses file asset www.super.franky.yyy.com/public/js menjadi www.super.franky.yyy.com/js.
Buka file super.franky.d07.com.conf
kemudian tambahkan isinya dengan
Alias "/js" "/var/www/super.franky.d07.com/public/js"
Lakukan testing pada client dengan menjalankan command lynx www.super.franky.D07.com/js
.
Dan Luffy meminta untuk web www.general.mecha.franky.yyy.com hanya bisa diakses dengan port 15000 dan port 15500
Pindah ke /etc/apache2/sites-available
lalu copy file 000-default.conf
menjadi file general.mecha.franky.d07.com.conf
.
cp 000-default.conf general.mecha.franky.d07.com.conf
vi general.mecha.franky.d07.com
Setelah itu, buka file tersebut dan tambahkan isinya sebagai berikut.
<VirtualHost *:15000 *:15500>
# The ServerName directive sets the request scheme, hostname and port thh
at
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
#DocumentRoot /var/www/html
ServerName general.mecha.franky.d07.com
ServerAlias www.general.mecha.franky.d07.com
DocumentRoot /var/www/general.mecha.franky.d07.com
Kemudian, buka etc/apache2/ports.conf
dan tambahkan
Listen 15000
Listen 15500
Buat directory baru dengan nama general.mecha.franky.d07.com
pada /var/www/
. Setelah itu, copy isi dari folder general.mecha.franky
yang telah didownload ke /var/www/general.mecha.franky.d07.com
.
mkdir /var/www/general.mecha.franky.d07.com
cp /root/Praktikum-Modul-2-Jarkom-main/general.mecha.franky/* /var/www/general.mecha.franky.d07.com
Kemudian, jalankan perintah a2ensite general.mecha.franky.d07.com
dan service apache2 restart
.
Dengan autentikasi username luffy dan password onepiece dan file di /var/www/general.mecha.franky.yyy
Jalankan perintah htpasswd -c /etc/apache2/.htpasswd luffy
untuk membuat file yang menyimpan username dan password ke dalam file /etc/apache2/.htpasswd
dengan user luffy
. Masukkan password: onepiece
.
Kemudian, buka file /etc/apache2/sites-available/general.mecha.franky.d07.com.conf
dan edit isinya menjadi:
<Directory /var/www/general.mecha.franky.d07.com>
Options +FollowSymLinks -Multiviews
AllowOverride All
</Directory>
Setelah itu, buka file /var/www/general.mecha/franky.d07.com/.htaccess
dan tambahkan isinya dengan:
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Kemudian, jalankan perintah service apache2 restart
.
Lakukan testing pada client dengan menjalankan perintah lynx http://192.195.2.4:15000
dan lynx http://192.195.2.4:15500
.
Dan setiap kali mengakses IP Skypie akan dialihkan secara otomatis ke www.franky.yyy.com
Pindah ke directory /var/www/html
dan edit file .htaccess
menjadi:
RewriteEngine On
RewriteBase /~new/
RewriteCond %{HTTP_HOST} ^192\.195\.2\.4$
RewriteRule ^(.*)$ franky.d07.com [L,R=301]
Lalu, buka file /etc/apache2/sites-available/000-default.conf
dan edit isinya menjadi:
<Directory /var/www/html>
Options +FollowSymLinks -Multiviews
AllowOverride All
</Directory>
Lakukan testing pada client dengan menjalankan perintah lynx http://192.195.2.4
.
Dikarenakan Franky juga ingin mengajak temannya untuk dapat menghubunginya melalui website www.super.franky.yyy.com, dan dikarenakan pengunjung web server pasti akan bingung dengan randomnya images yang ada, maka Franky juga meminta untuk mengganti request gambar yang memiliki substring “franky” akan diarahkan menuju franky.png.
Gunakan Rewrite module untuk redirect semua request access yang mengandung kata 'franky' ke file /public/images/franky.png
. Buka file /etc/apache2/sites-available/super.franky.d07.com.conf
dan tambahkan command berikut:
<Directory /var/www/super.franky.d07.com>
Options +FollowSymLinks -Multiviews
AllowOverride All
</Directory>
Kemudian, buka /var/www/super.franky.d07.com/.htaccess
dan tambahkan command berikut:
RewriteEngine ON
RewriteRule ^(.*)franky(.*)$ http://super.franky.d07.com/public/images/franky.pnn
g [L,R]
Lakukan testing pada client dengan menjalankan lynx www.super.franky.d07.com/public/images/franky.jpg.
- Node selain Foosha tidak bisa terhubung ke internet
- Penulisan syntax yang typo sehingga sulit melakukan debugging
- Solusi yang dapat dilakukan untuk penulisan syntax yaitu
named-checkconf -zj