1. Buatlah routing sederhana yang terdiri atas client, router dan DMZ
2. Install apache,mySQL, phpmyadmin pada DMZ
3. DMZ
akan digunakan sebagai Web Server. Terdapat 2 buah website yang
ditangani oleh web server ini yaitu ip_anda:80, ip_anda:8080.
Kemudian pada website ip_anda:80 terdapat subdirektori /admin yang
mana sebenarnya file-filenya terletak di /home/admin, berbeda dengan
file-file lain yang terletak di /var/www.Ketika mengakses
ip_anda:8080 user harus menginputkan username dan password
(menggunakan .htaccess) Semua website tidak boleh menampilkan list
direktori. Jadi jika tidak ada file index (index.html, index.php,
default.asp) maka daftar file dan subdirektori yang ada tidak akan
tampil. Ketika kita mengakses ip_anda:80/example maka akan diarahkan
ke ip_anda:80/example/example.html
4. Umumnya file yang diakses http://www.something.com adalah file index.html atau index.php di folder htdocs (windows) atau di /var/www/html (linux). Nah, ada kalanya kita sebagai pemilik web server tersebut berkeinginan untuk memberikan fasilitas kepada user yakni berupa homepage mereka. Buatlah konfigurasi web server agar memiliki fasilitas homepagenya sendiri (mod_userdir)
4. Umumnya file yang diakses http://www.something.com adalah file index.html atau index.php di folder htdocs (windows) atau di /var/www/html (linux). Nah, ada kalanya kita sebagai pemilik web server tersebut berkeinginan untuk memberikan fasilitas kepada user yakni berupa homepage mereka. Buatlah konfigurasi web server agar memiliki fasilitas homepagenya sendiri (mod_userdir)
5. Buatlah
configurasi webserver agar dapat menggunakan SSL pada Apache HTTP
Server anda dengan studi kasus : self-signed-certificate..
6. Lakukan
configurasi untuk mengoptimasi Apache dengan asums: guaranteed RAM
(RAM yang pasti tersedia untuk apache) sebesar 8 MB
Jawaban
1.Routing sederhana dibuat dengan cara membuat script bash nano misal nano nyala.sh dan jalankan dengan perintah sh nyala.sh
!#/bin/bash
uml_switch -unix switchA > /dev/null < /dev/null &
xterm -T hostA -e linux ubd0=hostA,uml umid=hostA eth0=daemon,,,switchA &
xterm -T hostB -e linux ubd0=hostB,uml umid=hostB eth0=daemon,,,switchA &
xterm -T routerA -e linux ubd0=routerA,uml umid=routerA eth0=tuntap,,,151.76.24 eth1=daemon,,,switchA &
Setting IP masing masing host dan router dengan perintah nano /etc/network/interfaes
lalu isikan seperti berikut :
#hostA
auto lo
auto eth0
iface eth0 inet static
address 10.151.77.51
netmask 255.255.255.248
gateway 10.151.77.49
#hostB
auto lo
auto eth0
iface eth0 inet static
address 10.151.77.50
netmask 255.255.255.248
gateway 10.151.77.49
#routerA
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.151.76.26
netmask 255.255.255.252
gateway 10.151.76.25
auto eth1
iface eth1 inet static
address 10.151.77.49
netmask 255.255.255.248
Tuntap 10.151.76.24/30
DMZ 10.151.77.48/29
IP yg boleh digunakan ada 8 karena jumlah netmask 29, tapi karena IP awal dan akhir tidak boleh dipakai, maka IP yang boleh dipakai adalah 10.151.77.49, 10.151.77.50, 10.151.77.51, 10.151.77.52, 10.151.77.53,10.151.77.54
Netmask yg dipakai karena berasal dari IP yg boleh dipakai yaitu 32-29=3 berarti 2^3=8 dan 8-1=7 maka 255-7=248 begitu seterusnya..
eth0 berhubungan langsung dengan tuntap
setelah selesai melakukan setting IP dll-nya lakukan restart pada masing-masing host+router dengan perintah :
service networking restart
buat script iptables.sh di router untuk menyimpan perintah iptables agar host dapat bertindak seperti router dapat melakukan ping ke address luar
# DI router, agar klien bisa akses jaringan luar
# Set up IP FORWARDing and Masquerading
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
# Enables packet forwarding by kernel / mengaktifkan forward paket
echo 1 > /proc/sys/net/ipv4/ip_forward
2. - pertama kali lakukan perintah apt-get install update
- Install lynx
- Install apache
apt-get install apache2
- Install mysql-server
apt-get install mysql-server
set username dan password mu bebas
- Install mysql-client
apt-get install mysql-client
- Install phpmyadmin
apt-get install phpmyadmin
lakukan reboot tiap kali selesai install aplikasi untuk menghindari error
3.membuat 2 web server dengan cara lakukan perintah :
nano /etc/apache2/sites-enabled/000-default
edit isinya hingga menjadi seperti berikut :
ServerAdmin webmaster@localhost
DocumentRoot /home/admin/
Options +Indexes FollowSymLinks Includes +ExecCGI
AllowOverride All
Allow from all
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Alias /example/ /home/admin/example/example.html
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Listen 8080
ServerAdmin webserver@localhost
DocumentRoot /var/www
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Require valid-user
AuthType basic
AuthName "Basic Auth"
AuthUserFile /usr/lib/cgi-bin/.htusers
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Require valid-user
AuthType basic
AuthName "Basic Auth"
AuthUserFile /usr/lib/cgi-bin/.htusers
Order allow,deny
Allow from all
- buat file .htaccess di directory /var/www dengan menjalankan perintah
nano /var/www/.htaccess
- tambahkan kode berikut pada file .htaccess nya
AuthUserFile /etc/apache2/.htpasswd
AuthGroupFile /dev/null
AuthType basic
require valid-user
- jalankan perintah
htpasswd -c /var/www htpasswd
- set username dan password mu bebas
- restart apache2 dengan menjalankan perintah
service apache2 restart
- buat direktori example dengan menjalankan perintah
mkdir /home/admin/example
- buat file html di dalam direktori example tersebut dengan nama example.html
4. - lakukan perintah : a2enmod userdir
- kemudian edit script : nano /etc/apache2/mods-enabled/userdir.conf
- hingga menjadi seperti dibawah ini
UserDir public_html
UserDir disabled root
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Order deny,allow
Deny from all
lakukan edit script : nano /etc/apache2/mods-available/php5.conf
hingga menjadi seperti ini dengan memberikan comment dengan "#"
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
# To re-enable php in user directories comment the following lines
# (from
# prevents .htaccess files from disabling it.
#
#
# php_admin_value engine Off
#
#
- lakukan restart pache dengan perintah:
service apache2 restart
- buat folder public_html di $user(root) dengan perintah : mkdir /home/$USER/public_html --> lakukan perintah ini lagi jika ingin menambah user
akses melalui host/client dengan perintah : lynx localhost:~$USER
5. - lakukan perintah : a2enmod ssl
- buat folder dengan perintah : mkdir /etc/apache2/ssl
- dapatkan certificate dengan perintah dibawah ini :
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem
keyout /etc/apache2/ssl/apache.key
- isi setingan seperti dibawah ini :
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New Jersey
Locality Name (eg, city) []:Absecon
Organization Name (eg, company) [Internet Widgits Pty Ltd]:SoftwareDev, LLC
Organizational Unit Name (eg, section) []:Web Services
Common Name (eg, YOUR name) []:archimedes.mydomain.com
Email Address []:support@mydomain.com
- lakukan restart pada apache : service apache2 restart
- untuk meng-enable ssl lakukan perintah : a2ensites default-ssl
- edit script : nano /etc/apache2/sites-enabled/default-ssl
dengan menganti certificate file pakai :
/etc/apache2/ssl/apache.pem
/etc/apache2/ssl/apache.key
6. - dalam terminal, lakukan perintah:
top
- ketik shift+m
- maka list akan terurut berdasarkan RES yang terbesar. angka satuan KB jika tidak ada huruf m di belakang tiap angka
- catat RES apache2 yang terbesar
- quit
- stop apache2 dengan perintah
service apache2 stop
- jalankan perintah
free -m --> jika ingin satuan MB atau
free -k --> jika ingin satuan KB
- Catat nilai yang dicatat sama used
- Kalikan sama 0.8 dan catat
- Bagi hasil di atas dengan nilai RES tertinggi
- buka apache2.conf dengan perintah
nano /etc/apache2/apache2.conf
- Set MaxClients yang udah tadi dihitung
- Set KeepAlive ke Off.
- Set Timeout jadi 30
- MaxKeepAliveRequest antara 70-200
- Set MinSpareServers 10-20% MaxClient
- Set MaxSpareServers 10-20% MaxClient
- Set StartServers sama dengan MaxSpareServers dan MinSpareServers
- Set MaxRequestsPerChild antara 500-10000.
- restart apache dengan menjalankan perintah
service apache2 restart
Tidak ada komentar:
Posting Komentar