17.14 -
No comments
Cari tahu yuk tata cara membuat WEB SERVER yang baik dan benar
WEB SERVER
- Cara memuat routing sederhana yang terdiri atas client, router dan DMZ?
Caranya Pertama buatlah sebuah file yang akan menginisiasikan tiap
host dan switch. Tulis script berikut pada
file tersebut.
Untuk membuat switch :
uml_switch -unix
[nama_switch] > /dev/null < /dev/null &
untuk membuat host yang
terhubung dengan switch :
xterm -T [nama_host] -e
linux ubd0=[nama_host],uml umid=[nama_host] eth0=daemon,,,[nama_switch] mem=[jumlah memori] &
untuk membuat router:
xterm -T [nama_router]
-e linux ubd0=[nama_router],uml umid=[nama_router] eth0=tuntap,,,10.151.70.77 eth1=daemon,,,[nama_switch]
mem=[jumlah_memori] &
buatlah host sebanyak
yang dibutuhkan dengan nama yang berbeda-beda, dalam soal buat routing dengan 1 client, 1 DMZ dan 1
router. Kita anggap client dan DMZ
sebagai host yang terhubung
dengan switch sehingga buat 2 host ,1 switch dan 1 router
- Cara meng-install apache,mySQL, phpmyadmin pada DMZHost ,switch dan router telah dibuat, namun saat dijalankan host,router dan switch masih belum terhubung satu dengan yang lainnya dan belum terhubung ke internet juga. Oleh karenanya kita harus melakukan beberapa konfigurasi untuk terhubung ke jaringan ITS sehingga dapat menginstall apache,mySQL dan phpmyadmin pada host DMZ.Konfigurasi pada Router :edit file pada direktori /etc/network/interfaces dengan text editor (nano,vim,dll). Tambahkan script berikut :auto loiface lo inet loopbackauto eth0 # inisiasi hubungan ke jaringan luariface eth0 inet staticaddress 10.151.70.78 #ip router yang diinginkan(IP yang diberikan +2)netmask 255.255.255.0 #netmaskgateway 10.151.70.77 # gateway yang diinginkan(IP yang diberikan +1)auto eth1 # hubungan ke switchiface eth1 inet staticaddress 172.16.0.3 #ip router ke switchnetmask 255.255.255.0buka file pada /etc/sysctl.confuncommnet pada bagian net.ipv4.ip_forward=1untuk dapat ping ke jaringan luar kita harus menambahkan script untuk mengatur iptables. Edit file pada /etc/rc.local dan tambahkan script berikut :iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE.Restart service untuk jaringan dengan menginput command :service networking restart.Tes untuk koneksi ke jaringan ITS dengan ping its.ac.id.Konfigurasi pada hostbuka dan edit file pada /etc/network/interfaces dengan script berikut :auto loiface lo inet loopbackauto eth0 # untuk hubungan dengan routeriface eth0 inet staticaddress 172.16.0.131 #ip host yang diinginkannetmask 255.255.255.0gateway 172.16.0.3 #gateway adalah ip router yang terhubung dengan switchrestart service untuk networking dengan menjalankan command :service networking restartPing ke router lalu ping ke its.ac.idjika host telah mendapatkan respond maka sudah terhubung dengan jaringan ITS.Install apache2, mySQL dan phpmyadminapt-get install apache2apt-get install mySQLapt-get install phpmyadmin
- 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
Untuk dapat membuka laman sebuah website kita harus
menginstall lynx browser pada virtual host yang kita miliki.
Apt-get install lynx
setelah menginstall apache cobalah untuk membuka laman
default dari DMZnya dengan menjalankan command
lynx (ip_anda)172.16.0.131:80 atau localhost
Jika mengeluarkan tampilan sebagai berikut maka apache2 sudah
terinstall dengan baik
Konfigurasi untuk port 80:
untuk menambahkan meletakkan file-file yang ingin diakses
pada sebuah direktori tambahkan direktori baru pada direktori home dengan
menjalankan command :
mkdir /home/admin.
Agar dapat membuka file pada direktori admin tersebut dengan
menggunakan lynx kita harus mengedit file pada
/etc/apache2/sites-availble/default dengan menambahkan :
<Directory
/home/admin/>
Order
allow,deny
allow
from all
</Directory>
Lalu untuk mengubah agar lynx hanya membuka alamat dengan
menunjuk kepada direktori file yang terdapat pada /admin kita tambahkan script
berikut
Alias /admin /home/admin
dan hapus kata indexes pada kalimat Option Indexes
FollowSymLinks Multiviews
sehingga script pada /etc/apache2/sites-availble/default
menjadi :
Konfigurasi pada port 8080:
copy script
/etc/apache2/sites-availble/default (blm diedit) ke filebaru pada direktori
/etc/apache2/sites-availble/filebaru. Lalu edit pada beberapa bagian diantaranya
:
tambahkan pada baris paling atas listen 8080
ganti virtualhost yang dituju menjadi 8080
<VirtualHost *:8080>
ganti direktori pada document root menjadi
/var/www/fiilebaru(nama file baru)
DocumentRoot /var/www/ fiilebaru
untuk menambah autentikasi pada saat membuka laman dengan
port 8080. buatlah file baru pada /var/www/ dengan nama .htaccess jalankan
dengan command :
nano /var/www/.htaccess
tambahkan pada file tersebut :
AuthName "selamat datang" #header dari kalimat saat
prompt autentikasi keluar
AuthType Basic
AuthUserFile
/var/www/.htpasswd #letak dari password tiap user yang telah direquire
require user e19 #
nama-nama user yang dapat mengakses laman
Buat file .htpasswd dengan menjalankan command
htpasswd -cmd .htpasswd , dimana akan diberikan prompt untuk
memasukan nama user dan password yang ingin diberikan. Atau dengan membuat file
baru pada /var/www/ dengan nama .htpasswd yang berisi
namauser:enkripsipassword.
Lalu edit kembali file /etc/apache2/sites-availble/port8080
dengan mengganti pada kalimat AllowOverride None diganti menjadi AllowOverride
AuthConf
jalankan command service apache2 restart. Untuk merestart
apache
jalankan dengan membuka laman lynx ip_anda:8080
- Buatlah configurasi webserver agar dapat menggunakan SSL pada Apache HTTP Server anda dengan studi kasus : self-signed-certificate.
Untuk membuat ssl dengan studi kasus self-signed-certificate
, pertama kita harus mengenerate sertifikatnya dan keynya dengan menjalankan
command berikut :
openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days NNN
openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days NNN
buat folder baru pada direktori yang diinginkan lalu copy sertifikat
dan key yang telah digenerate tadi ke
folder tersebut.
cp new.cert.cert
/direktori_anda/apache.pem
cp new.cert.key /direktori_anda/apache.key
lalu buka dan edit file pada /etc/apache2/sites-availble/default-ssl
menjadi :
SSLEngine on
SSLCertificateFile /direktori_anda/apache.pem
SSLCertificateKeyFile /direktori_anda/apache.key
jalankan command a2ensite default-ssl
service apache2 restart
untuk mencobanya buka laman dengan tambahan https sebagai protokolnya.
-
Lakukan configurasi untuk mengoptimasi Apache dengan asums: guaranteed RAM (RAM yang pasti tersedia untuk apache) sebesar 8 MB
Kita lihat besar memori yang digunakan untuk menjalankan
webserver dengan mengetikkan command top. Disitu kita dapat melihat jumlah
memori yang digunakan tiap proses, jika kita mengetikkan shift+m maka akan di
sort sesuai dengan jumlah terbesar dari yang terkecil. Alhasil pada data yang
kami dapatkan terlihat bahwa terdapat lebih dari satu proses apache yang
berjalan. Untuk mengoptimasi penggunaan memori ini kita ambil nilai dari memori
yang paling besar
lalu jalankan command free -m untuk melihat jumlah memori yang terpakai
seluruhnya dan yang free.
Maka jalankan rumus sebagai berikut.
N = nilai optimasi
M = jumlah memori yang dipakai proses apache2
F = memori yang free
(ceil)N = M * 0,8 / F
nilai N dibulatkan keatas
lalu buka file pada /etc/apache2/apache2.conf cari MaxClients yang digunakan dan ganti
dengan nilai dari N.
Min dan MaxSpareServers adalah 20% dari nilai MaxClients dan dibulatkan
sehingga menjadi
MinSpareServers 20%*N(Ceil)
MaxSpareServers 20%*N(Ceil)
MaxClients N
untuk melihat hasilnya jalankan command top kembali shift+m lihat jumlah
proses dengan command apache2
0 komentar:
Posting Komentar