Nama | NRP |
---|---|
Wan Sabrina Mayzura | 5025211023 |
Syarifah Talitha Erfany | 5025211175 |
- Daftar Isi
- 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
- Soal 18
- Soal 19
- Soal 20
- Router
auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 10.10.1.1 netmask 255.255.255.0 auto eth2 iface eth2 inet static address 10.10.2.1 netmask 255.255.255.0
- Nakula
auto eth0 iface eth0 inet static address 10.10.1.2 netmask 255.255.255.0 gateway 10.10.1.1
- Sadewa
auto eth0 iface eth0 inet static address 10.10.1.3 netmask 255.255.255.0 gateway 10.10.1.1
- Abimanyu
auto eth0 iface eth0 inet static address 10.10.1.4 netmask 255.255.255.0 gateway 10.10.1.1
- Prabukusuma
auto eth0 iface eth0 inet static address 10.10.1.5 netmask 255.255.255.0 gateway 10.10.1.1
- Wisanggeni
auto eth0 iface eth0 inet static address 10.10.1.6 netmask 255.255.255.0 gateway 10.10.1.1
- Arjuna
auto eth0 iface eth0 inet static address 10.10.2.2 netmask 255.255.255.0 gateway 10.10.2.1
- Werkudara
auto eth0 iface eth0 inet static address 10.10.2.3 netmask 255.255.255.0 gateway 10.10.2.1
- Yudhistira
auto eth0 iface eth0 inet static address 10.10.2.4 netmask 255.255.255.0 gateway 10.10.2.1
Yudhistira akan digunakan sebagai DNS Master, Werkudara sebagai DNS Slave, Arjuna merupakan Load Balancer yang terdiri dari beberapa Web Server yaitu Prabakusuma, Abimanyu, dan Wisanggeni. Buatlah topologi dengan pembagian sebagai berikut. Folder topologi dapat diakses pada drive berikut
Pada semua Node
Masukkan di dalam .bashrc di root:
echo nameserver 192.168.122.1 > /etc/resolv.conf
Yudhistira & Werkudara
Masukkan di dalam .bashrc di root (khusus Yudhistira dan Werkudara):
echo nameserver 192.168.122.1 > /etc/resolv.conf
apt-get update
apt-get install bind9 -y
Nakula
Masukkan di dalam .bashrc di root (khusus client):
echo 'nameserver 192.168.122.1
nameserver 10.10.2.4 #IP Yudhistira
nameserver 10.10.2.3 #IP Werkudara
' > /etc/resolv.conf
apt-get update
apt-get install lynx
Abimanyu
Masukkan di dalam .bashrc di root (khusus worker):
echo nameserver 192.168.122.1 > /etc/resolv.conf
apt-get update && apt install nginx php php-fpm -y
apt-get install apache2
apt-get install lynx
apt-get install libapache2-mod-php7.0
Lalu pada semua node, pastikan sudah bisa menjalankan:
ping google.com
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Buatlah website utama dengan akses ke arjuna.yyy.com dengan alias www.arjuna.yyy.com dengan yyy merupakan kode kelompok. Config
Yudhistira
- Dalam
arjuna.B03.com
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA arjuna.B03.com. root.arjuna.B03.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS arjuna.B03.com.
@ IN A 10.10.2.2 ; IP arjuna karena point ke arjuna
www IN CNAME arjuna.B03.com.
@ IN AAAA ::1
- nano
named.conf.local
yang berada di root agar tidak hilang
zone “arjuna.B03.com" {
type master;
file "/etc/bind/arjuna/arjuna.B03.com";
};
- No2.sh
#!bin/bash
echo '
zone "arjuna.B03.com" {
type master;
file "/etc/bind/arjuna/arjuna.B03.com";
};' >> /etc/bind/named.conf.local
mkdir /etc/bind/arjuna
cp arjuna.B03.com /etc/bind/arjuna/arjuna.B03.com
service bind9 restart
Nakula
ping arjuna.B03
ping www.arjuna.B03.com
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Dengan cara yang sama seperti soal nomor 2, buatlah website utama dengan akses ke abimanyu.yyy.com dan alias www.abimanyu.yyy.com.
Yudhistira
- Dalam
abimanyu.B03.com
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA abimanyu.B03.com. root.abimanyu.B03.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS abimanyu.B03.com.
@ IN A 10.10.1.4 ; IP abimanyu karena point ke abimanyu
www IN CNAME abimanyu.B03.com.
@ IN AAAA ::1
- nano
named.conf.local
yang berada di root agar tidak hilang
zone “abimanyu.B03.com" {
type master;
file "/etc/bind/abimanyu/abimanyu.B03.com";
};
- No3.sh
#!bin/bash
echo '
zone "abimanyu.B03.com" {
type master;
file "/etc/bind/abimanyu/abimanyu.B03.com";
};' >> /etc/bind/named.conf.local
mkdir /etc/bind/abimanyu
cp abimanyu.B03.com /etc/bind/abimanyu/abimanyu.B03.com
service bind9 restart
Nakula
ping abimanyu.B03.com
ping www.abimanyu.B03.com
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Kemudian, karena terdapat beberapa web yang harus di-deploy, buatlah subdomain parikesit.abimanyu.yyy.com yang diatur DNS-nya di Yudhistira dan mengarah ke Abimanyu.
Yudhistira
- Dalam
abimanyu.B03.com
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA abimanyu.B03.com. root.abimanyu.B03.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS abimanyu.B03.com.
@ IN A 10.10.1.4 ; IP abimanyu karena point ke abimanyu
www IN CNAME abimanyu.B03.com.
parikesit IN A 10.10.1.4 ; IP abimanyu
www.parikesit IN CNAME parikesit.abimanyu.B03.com.
@ IN AAAA ::1
- No4.sh
#!bin/bash
cp abimanyu.B03.com /etc/bind/abimanyu/abimanyu.B03.com
service bind9 restart
Nakula
ping parikesit.abimanyu.B03.com
ping www.parikesit.abimanyu.B03.com
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Buat juga reverse domain untuk domain utama.
Yudhistira
- Copy
db.local
ke root
cp /etc/bind/db.local 2.10.10.in-addr.arpa
- Lalu didalamnya edit seperti ini
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA abimanyu.B03.com. root.abimanyu.B03.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
2.10.10.in-addr.arpa. IN NS abimanyu.B03.com.
4 IN PTR abimanyu.B03.com.
- nano
named.conf.local
yang berada di root agar tidak hilang
zone "2.10.10.in-addr.arpa." {
type master;
file "/etc/bind/abimanyu/2.10.10.in-addr.arpa";
};
- Copy
2.10.10.in-addr.arpa.
dari root ke dalam folder
cp 2.10.10.in-addr.arpa /etc/bind/abimanyu/2.10.10.in-addr.arpa
- No5.sh
#!bin/bash
echo ‘
zone "2.10.10.in-addr.arpa." {
type master;
file "/etc/bind/abimanyu/2.10.10.in-addr.arpa.";
};’>> /etc/bind/named.conf.local
cp 2.10.10.in-addr.arpa /etc/bind/abimanyu/2.10.10.in-addr.arpa
service bind9 restart
Nakula
host -t PTR 10.10.2.4
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Agar dapat tetap dihubungi ketika DNS Server Yudhistira bermasalah, buat juga Werkudara sebagai DNS Slave untuk domain utama.
Yudhistira
- Dalam
arjuna.B03.com
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA arjuna.B03.com. root.arjuna.B03.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS arjuna.B03.com.
@ IN A 10.10.2.2 ; IP arjuna karena point ke arjuna
www IN CNAME arjuna.B03.com.
@ IN AAAA ::1
- nano
slave_named.conf.local
yang berada di root agar tidak hilang
zone “abimanyu.B03.com" {
type master;
notify yes;
also-notify { 10.10.2.3; };
allow-transfer { 10.10.2.3; };
file "/etc/bind/abimanyu/abimanyu.B03.com";
};
- No2.sh
#!bin/bash
cp slave_named.conf.local /etc/bind/named.conf.local
service bind9 restart
Werkudara (DNS Slave)
- No6.sh
#!bin/bash
echo ‘
zone "abimanyu.B03.com" {
type slave;
masters { 10.10.2.4; }; // IP Yudhistira
file "/var/lib/bind/abimanyu.B03.com";
};’ >> /etc/bind/named.conf.local
service bind9 restart
Nakula
- Dicek IP yudhistira dan werkudara di
/etc/resolv.conf
# nameserver 192.168.122.1
nameserver 10.10.2.4
nameserver 10.10.2.3
- Lalu ping kalau berhasil ke 10.10.1.4 (ip point abimanyu) walaupun yudhistira dah stop
ping abimanyu.B03.com
ping www.abimanyu.B03.com
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Seperti yang kita tahu karena banyak sekali informasi yang harus diterima, buatlah subdomain khusus untuk perang yaitu baratayuda.abimanyu.yyy.com dengan alias www.baratayuda.abimanyu.yyy.com yang didelegasikan dari Yudhistira ke Werkudara dengan IP menuju ke Abimanyu dalam folder Baratayuda
Yudhistira
- Dalam
abimanyu.B03.com
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA abimanyu.B03.com. root.abimanyu.B03.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS abimanyu.B03.com.
@ IN A 10.10.1.4 ; IP abimanyu karena point ke abimanyu
www IN CNAME abimanyu.B03.com.
parikesit IN A 10.10.1.4 ; IP abimanyu
www.parikesit IN CNAME parikesit.abimanyu.B03.com.
baratayuda IN A 10.10.2.3 ; IP werkudara
www.baratayuda IN CNAME baratayuda.abimanyu.NB03.com.
@ IN AAAA ::1
- nano
named.conf.options
yang berada di root agar tidak hilang
# dnssec-validation auto
allow-query{any;};
- nano
named.conf.local
yang berada di root agar tidak hilang
zone “abimanyu.B03.com" {
type master;
allow-transfer { 10.10.2.3; };
file "/etc/bind/abimanyu/abimanyu.B03.com";
};
- No7.sh
#!bin/bash
cp abimanyu.B03.com /etc/bind/abimanyu/abimanyu.B03.com
cp named.conf.options /etc/bind/named.conf.options
cp named.conf.local /etc/bind/named.conf.local
service bind9 restart
Werkudara
- nano
named.conf.options
yang berada di root agar tidak hilang
# dnssec-validation auto
allow-query{any;};
- nano
named.conf.local
yang berada di root agar tidak hilang
zone “baratayuda.abimanyu.B03.com" {
type master;
allow-transfer { 10.10.2.3; };
file "/etc/bind/baratayuda/baratayuda.abimanyu.B03.com";
};
- No7.sh
#!bin/bash
echo '
zone "baratayuda.abimanyu.B03.com" {
type master;
file "/etc/bind/baratayuda/baratayuda.abimanyu.B03.com";
};' >> /etc/bind/named.conf.local
mkdir /etc/bind/baratayuda
cp /etc/bind/db.local /etc/bind/baratayuda/baratayuda.abimanyu.B03.com
service bind9 restart
Nakula
ping baratayuda.abimanyu.B03.com
ping www.baratayuda.abimanyu.B03.com
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Untuk informasi yang lebih spesifik mengenai Ranjapan Baratayuda, buatlah subdomain melalui Werkudara dengan akses rjp.baratayuda.abimanyu.yyy.com dengan alias www.rjp.baratayuda.abimanyu.yyy.com yang mengarah ke Abimanyu.
Werkudara
Jalankan nano /etc/bind/baratayuda/baratayuda.abimanyu.B03.com
dan edit menjadi seperti ini.
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA baratayuda.abimanyu.B03.com. root.baratayuda.abimanyu.B03.com. (
2023100901 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS baratayuda.abimanyu.B03.com.
@ IN A 10.10.1.4 ; IP abimanyu
www IN CNAME baratayuda.abimanyu.B03.com.
rjp IN A 10.10.1.4 ; IP abimanyu
www.rjp IN CNAME rjp.baratayuda.abimanyu.B03.com.
@ IN AAAA ::1
Karena saya menyimpan file baratayuda.abimanyu.B0.com di root, oleh karena itu script shell yang digunakan untuk nomor ini adalah:
#!bin/bash
cp baratayuda.abimanyu.B03.com /etc/bind/baratayuda/baratayuda.abimanyu.B03.com
service bind9 restart
Pada client Nakula, jalankan ping.www.baratayuda.abimanyu.B03.com
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Arjuna merupakan suatu Load Balancer Nginx dengan tiga worker yaitu Prabakusuma, Abimanyu, dan Wisanggeni. Lakukan deployment pada masing-masing worker
Arjuna (Load Balancing)
echo '
# Default menggunakan Round Robin
upstream myweb {
server 10.10.1.4; #IP abimanyu
server 10.10.1.5; #IP prabukusuma
server 10.10.1.6; #IP wisanggeni
}
server {
listen 80;
server_name arjuna.B03.com;
location / {
proxy_pass http://myweb;
}
}
' > /etc/nginx/sites-available/lb-arjuna
ln -s /etc/nginx/sites-available/lb-arjuna /etc/nginx/sites-enabled
service nginx restart
Prabukusuma, Abimanyu, Wisanggeni
-
Masukin di nano .bashrc
apt-get update && apt install nginx php php-fpm -y
untuk menginstall dependencies tersebut. -
Cek versi PHP
php -v
-
Buat directory baru di
/var/www/arjuna
-
Masuk directory
/var/www/arjuna
dan bikin fileindex.php
yang didapatkan dari asset resource filearjuna.yyy.zip
-
Melakukan konfigurasi pada nginx, nano pada
/etc/nginx/sites-available/arjuna
, namun saya copy dari /etc/nginx/sites-available/arjuna ke root, agar tetap tersimpan konfigurasi yang dilakukan. -
Isi dari file arjuna adalah konfigurasi server block:
server { listen 80; root /var/www/arjuna; index index.php index.html index.htm; server_name _; location / { try_files $uri $uri/ /index.php?$query_string; } # pass PHP scripts to FastCGI server location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; } error_log /var/log/nginx/arjuna_error.log; access_log /var/log/nginx/arjuna_access.log; }
-
Buat symlink
ln -s /etc/nginx/sites-available/arjuna /etc/nginx/sites-enabled
-
Restart nginx
service nginx restart
-
Script
no9.sh
#!bin/bash mkdir /var/www/arjuna echo '<?php $hostname = gethostname(); $date = date('Y-m-d H:i:s'); $php_version = phpversion(); $username = get_current_user(); echo "Hello World!<br>"; echo "Saya adalah: $username<br>"; echo "Saat ini berada di: $hostname<br>"; echo "Versi PHP yang saya gunakan: $php_version<br>"; echo "Tanggal saat ini: $date<br>"; ?>' > /var/www/arjuna/index.php cp arjuna /etc/nginx/sites-available/arjuna ln -s /etc/nginx/sites-available/arjuna /etc/nginx/sites-enabled service php7.0-fpm start service nginx restart
-
Lalu ulangi langkah di atas pada node worker worker lainnya, hingga sudah disetting semuanya pada node Prabakusuma, Abimanyu, dan Wisanggeni.
Pada client Nakula, pastikan pada /etc/resolv.conf
terdapat nameserver yudhistira dan werkudara dan install dependencies apt-get update && apt-get install lynx
(dimasukkan ke .bashrc).
Lalu testing dengan menjalankan lynx http://arjuna.B03.com
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Kemudian gunakan algoritma Round Robin untuk Load Balancer pada Arjuna. Gunakan server_name pada soal nomor 1. Untuk melakukan pengecekan akses alamat web tersebut kemudian pastikan worker yang digunakan untuk menangani permintaan akan berganti ganti secara acak. Untuk webserver di masing-masing worker wajib berjalan di port 8001-8003. Contoh (Prabakusuma:8001, Abimanyu:8002, Wisanggeni:8003)
Arjuna (Load Balancing)
- Pada ArjunaLoadBalancer, yang diubah dari no 9 adalah isi file
lb-arjuna
menjadi sebagai berikut:# Default menggunakan Round Robin upstream myweb { server 10.10.1.4: 8002; #IP abimanyu server 10.10.1.5: 8001; #IP prabukusuma server 10.10.1.6: 8003; #IP wisanggeni } server { listen 80; server_name arjuna.B03.com; location / { proxy_pass http://myweb; } } server { listen 8001; server_name arjuna.B03.com; location / { proxy_pass http://myweb; } } server { listen 8002; server_name arjuna.B03.com; location / { proxy_pass http://myweb; } } server { listen 8003; server_name arjuna.B03.com; location / { proxy_pass http://myweb; } }
- Lalu jalankan
service nginx restart
.
Prabakusuma
Pada Prabakusuma, edit file arjuna pada root, hapus listen 80
dan tambahkan listen 8001
pada konfigurasi server block.
server {
listen 8001;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}
Abimanyu
Pada Abimanyu, edit file arjuna pada root, hapus listen 80
dan tambahkan listen 8002
pada konfigurasi server block.
server {
listen 8002;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}
Wisanggeni
Pada Wisanggeni, edit file arjuna pada root, hapus listen 80
dan tambahkan listen 8003
pada konfigurasi server block.
server {
listen 8003;
root /var/www/arjuna;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/arjuna_error.log;
access_log /var/log/nginx/arjuna_access.log;
}
Pada client Nakula, pastikan pada /etc/resolv.conf
terdapat nameserver yudhistira dan werkudara dan install dependencies apt-get update && apt-get install lynx
(dimasukkan ke .bashrc).
- Testing dengan menjalankan
lynx http://arjuna.B03.com:8001
- Testing dengan menjalankan
lynx http://arjuna.B03.com:8002
- Testing dengan menjalankan
lynx http://arjuna.B03.com:8003
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Selain menggunakan Nginx, lakukan konfigurasi Apache Web Server pada worker Abimanyu dengan web server www.abimanyu.yyy.com. Pertama dibutuhkan web server dengan DocumentRoot pada /var/www/abimanyu.yyy
Abimanyu
- Di root, simpan file
abimanyu.B03.com.conf
, dan isinya sebagai berikut:<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/abimanyu.B03 ServerName abimanyu.B03.com ServerAlias www.abimanyu.B03.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- Buat directory var/www/abimanyu.B03
- Untuk mengambil asset dari resource untuk webserver abimanyu.B03.com, digunakan metode git clone dari repository
http.sslVerify=false clone https://github.com/bombshelll/abimanyu.B03.com
yang akan di copy kedalam directory /var/www/abimanyu.B03
service nginx stop
rm -r /var/www/abimanyu.B03
cp abimanyu.B03.com.conf /etc/apache2/sites-available/abimanyu.B03.com.conf
a2ensite abimanyu.B03.com.conf
mkdir -p /var/www/abimanyu.B03
apt-get install git -y
git -c http.sslVerify=false clone https://github.com/bombshelll/abimanyu.B03.com /var/www/abimanyu.B03
service apache2 restart
Pada client Nakula, testing dengan menjalankan lynx http://abimanyu.B03.com/index.php/home
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Setelah itu ubahlah agar url www.abimanyu.yyy.com/index.php/home menjadi www.abimanyu.yyy.com/home. Abimanyu
- Di dalam
abimanyu.B03.com.conf
, tambahkan:<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/abimanyu.B03 ServerName abimanyu.B03.com ServerAlias www.abimanyu.B03.com <Directory /var/www/abimanyu.B03/index.php/home> Options +Indexes </Directory> Alias "/home" "/var/www/abimanyu.B03/index.php/home" ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Pada client Nakula, testing dengan menjalankan
lynx http://abimanyu.B03.com/home
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Selain itu, pada subdomain www.parikesit.abimanyu.yyy.com, DocumentRoot disimpan pada /var/www/parikesit.abimanyu.yyy
Abimanyu
- Di root, simpan file
parikesit.abimanyu.B03.com.conf
, dan isinya sebagai berikut:<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/parikesit.abimanyu.B03 ServerName parikesit.abimanyu.B03.com ServerAlias www.parikesit.abimanyu.B03.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- Buat directory var/www/parikesit.abimanyu.B03
- Untuk mengambil asset dari resource untuk webserver parikesit.abimanyu.B03.com, digunakan metode git clone dari repository
http.sslVerify=false clone https://github.com/bombshelll/parikesit.abimanyu.B03.com
yang akan di copy kedalam directory /var/www/parikesit.abimanyu.B03
service nginx stop
rm -r /var/www/parikesit.abimanyu.B03
cp parikesit.abimanyu.B03.com.conf /etc/apache2/sites-available/parikesit.abimanyu.B03.com.conf
a2ensite parikesit.abimanyu.B03.com.conf
mkdir -p /var/www/parikesit.abimanyu.B03
apt-get install git -y
git -c http.sslVerify=false clone https://github.com/bombshelll/parikesit.abimanyu.B03.com /var/www/parikesit.abimanyu.B03
service apache2 restart
Pada client Nakula, testing dengan menjalankan lynx http://parikesit.abimanyu.B03.com/index.php/home
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Pada subdomain tersebut folder /public hanya dapat melakukan directory listing sedangkan pada folder /secret tidak dapat diakses (403 Forbidden)
Abimanyu
Jalankan script di bawah ini, dimana untuk directory public, menggunakan +Indexes
sedangkan pada directory secret menggunakan -Indexes
.
echo '<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/parikesit.abimanyu.B03
ServerName parikesit.abimanyu.B03.com
ServerAlias www.parikesit.abimanyu.B03.com
<Directory /var/www/parikesit.abimanyu.B03/public>
Options +Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B03/secret>
Options -Indexes
</Directory>
Alias "/public" "/var/www/parikesit.abimanyu.B03/public"
Alias "/secret" "/var/www/parikesit.abimanyu.B03/secret"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/parikesit.abimanyu.B03.com.conf
service apache2 restart
Pada client Nakula, testing dengan menjalankan:
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Buatlah kustomisasi halaman error pada folder /error untuk mengganti error kode pada Apache. Error kode yang perlu diganti adalah 404 Not Found dan 403 Forbidden. Abimanyu Jalankan script di bawah ini, dimana untuk error dengan kode 404, menggunakan
ErrorDocument 404 /error/404.html
dan untuk error kode 403 menggunakanErrorDocument 403 /error/403.html
.
echo '<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/parikesit.abimanyu.B03
ServerName parikesit.abimanyu.B03.com
ServerAlias www.parikesit.abimanyu.B03.com
<Directory /var/www/parikesit.abimanyu.B03/public>
Options +Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B03/secret>
Options -Indexes
</Directory>
Alias "/public" "/var/www/parikesit.abimanyu.B03/public"
Alias "/secret" "/var/www/parikesit.abimanyu.B03/secret"
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/parikesit.abimanyu.B03.com.conf
service apache2 restart
Pada client Nakula, testing dengan menjalankan:
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Buatlah suatu konfigurasi virtual host agar file asset www.parikesit.abimanyu.yyy.com/public/js menjadi www.parikesit.abimanyu.yyy.com/js
Abimanyu
Sama seperti nomor 12, pada file parikesit.abimanyu.B03.com.conf
, tambahkan alias untuk path /var/www/parikesit.abimanyu.B03/public/js
.
echo '<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/parikesit.abimanyu.B03
ServerName parikesit.abimanyu.B03.com
ServerAlias www.parikesit.abimanyu.B03.com
<Directory /var/www/parikesit.abimanyu.B03/public>
Options +Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B03/secret>
Options -Indexes
</Directory>
Alias "/public" "/var/www/parikesit.abimanyu.B03/public"
Alias "/secret" "/var/www/parikesit.abimanyu.B03/secret"
Alias "/js" "/var/www/parikesit.abimanyu.B03/public/js"
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/parikesit.abimanyu.B03.com.conf
service apache2 restart
Pada client Nakula, testing dengan menjalankan lynx parikesit.abimanyu.B03.com/js
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Agar aman, buatlah konfigurasi agar www.rjp.baratayuda.abimanyu.yyy.com hanya dapat diakses melalui port 14000 dan 14400.
Abimanyu
Sama seperti pada nomor-nomor sebelumnya, namun pada portnya, tidak digunakan 80, melainkan <VirtualHost *:14000 *:14400>
.
echo '<VirtualHost *:14000 *:14400>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/rjp.baratayuda.abimanyu.B03
ServerName rjp.baratayuda.abimanyu.B03.com
ServerAlias www.rjp.baratayuda.abimanyu.B03.com
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/rjp.baratayuda.abimanyu.B03.com.conf
cp ports.conf /etc/apache2/ports.conf
mkdir -p /var/www/rjp.baratayuda.abimanyu.B03
apt-get install git -y
git -c http.sslVerify=false clone https://github.com/bombshelll/rjp.baratayuda.abimanyu.B03.com /var/www/rjp.baratayuda.abimanyu.B03
a2ensite rjp.baratayuda.abimanyu.B03.com.conf
service apache2 restart
Pada client Nakula, testing dengan menjalankan:
- lynx rjp.baratayuda.abimanyu.B03.com:14000
- lynx rjp.baratayuda.abimanyu.B03.com:14400
- Saat tidak menggunakan kedua port di atas
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Untuk mengaksesnya buatlah autentikasi username berupa “Wayang” dan password “baratayudayyy” dengan yyy merupakan kode kelompok. Letakkan DocumentRoot pada /var/www/rjp.baratayuda.abimanyu.yyy.
Abimanyu
Pada file rjp.baratayuda.abimanyu.B03.com.conf
tambahkan seperti script di bawah ini.
echo '<VirtualHost *:14000 *:14400>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/rjp.baratayuda.abimanyu.B03
ServerName rjp.baratayuda.abimanyu.B03.com
ServerAlias www.rjp.baratayuda.abimanyu.B03.com
<Directory /var/www/html/rjp.baratayuda.abimanyu.B03>
AuthType Basic
AuthName "Protected"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
<Directory>
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>' > /etc/apache2/sites-available/rjp.baratayuda.abimanyu.B03.com.conf
service apache2 restart
Pada Abimanyu, setup username dan password dengan menjalankan htpasswd -c /etc/apache2/.htpasswd Wayang
dan set password menjadi baratayudaB03
Lalu pada client Nakula:
- Jalankan lynx rjp.baratayuda.abimanyu.B03.com:14400 (atau tanpa port jika belum menjalankan nomor 17)
- Memasukkan username
- Memasukkan password
- Autentikasi sukses
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Buatlah agar setiap kali mengakses IP dari Abimanyu akan secara otomatis dialihkan ke www.abimanyu.yyy.com (alias)
Abimanyu
- Pada folder
abimanyu-redirect.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/abimanyu.B03
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Redirect / http://www.abimanyu.B03.com/
</VirtualHost>
- No19.sh
#!bin/bash
cp abimanyu-redirect.conf /etc/apache2/sites-available/000-default.conf
a2ensite abimanyu-redirect.conf
apache2ctl configtest
service apache2 restart
Nakula
lynx 10.10.1.4
Kendala: Tidak ada kendala didalam mengerjakan nomor ini.
Karena website www.parikesit.abimanyu.yyy.com semakin banyak pengunjung dan banyak gambar gambar random, maka ubahlah request gambar yang memiliki substring “abimanyu” akan diarahkan menuju abimanyu.png.
Abimanyu
- Pada
htaccess
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/public/images/(.*)abimanyu(.*)
RewriteCond %{REQUEST_URI} !/public/images/abimanyu.png
RewriteRule abimanyu http://parikesit.abimanyu.B03.com/public/images/abimanyu.png$1 [L,R=301]
- Pada
parikesit.abimanyu.com
di root
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/parikesit.abimanyu.B03
ServerName parikesit.abimanyu.B03.com
ServerAlias www.parikesit.abimanyu.B03.com
<Directory /var/www/parikesit.abimanyu.B03/public>
Options +Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B03/secret>
Options -Indexes
</Directory>
<Directory /var/www/parikesit.abimanyu.B03>
Options +FollowSymLinks -Multiviews
AllowOverride All
</Directory>
Alias "/public" "/var/www/parikesit.abimanyu.B03/public"
Alias "/secret" "/var/www/parikesit.abimanyu.B03/secret"
Alias "/js" "/var/www/parikesit.abimanyu.B03/public/js"
ErrorDocument 404 /error/404.html
ErrorDocument 403 /error/403.html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- No20.sh
#!bin/bash
a2enmod rewrite
cp htaccess /var/www/parikesit.abimanyu.B03/.htaccess
cp parikesit.abimanyu.B03.conf /etc/apache2/sites-available/parikesit.abimanyu.B03.conf
service apache2 restart
Nakula
lynx parikesit.abimanyu.B03.com/public/images/cobaabimanyu
Kendala: Nomor ini tidak dapat diselesaikan pada masa praktikum, pada masa revisi juga masih error.