4.15.2013

Konfigurasi UML untuk Web Server


Praktikum Jaringan Komputer Modul 2
Pada Praktikum Jaringan Komputer Modul 2, materi sudah memasuki tahap melakukan konfigurasi pada UML ( User Mode Linux ). UML merupakan tools yang digunakan guna melakukan virtualisasi sebuah host. Sehingga, dengan menggunakan UML user dapat membuat banyak host ( yang sebenernya merupakan virtual host ) tanpa memerlukan hardware-hardware sebagaimana host mestinya. Oleh karena itu, user dapat menambah sebanyak mungkin host selama memory pada komputer mencukupi untuk membuat host-host virtual tersebut. Berikut, merupakan konfigurasi – konfigurasi pada UML untuk beberapa kegunaan.
1.      Konfigurasi UML untuk Web Server
Web server merupakan komputer yang bertugas menyajikan konten web yang bisa diakses melalui internet. Sistem operasi dan aplikasi dalam sebuah server telah dirancang sedemikian rupa sehingga dapat melayani berbagai komputer client secara sekaligus. Web server digunakan antara lain sebagai host website, game online, penyimpanan data awan (cloud storage), dan lain-lain.
Fitur-fitur Standard:
Adapun fitur-fitur standard dari sebuah web server adalah sebagai berikut.
·            Virtual Hosting
Virtual hosting merupakan web server yang dapat memberikan layanan hosting untuk berbagai website dengan hanya menggunakan satu IP address (satu server). Dengan metode ini, sebuah server dapat membagi sumber dayanya, seperti memory dan prosesor.
·            Large File Support
Fitur ini mampu melayani berkas yang ukurannya lebih besar dari 2GB pada sistem operasi 32 bit.
·            Bandwidth Throttling
Fitur bandwidth throttling membatasi kecepatan respon permintaan dari klien agar jaringan tidak padat dan mampu melayani lebih banyak klien.
·            Server-side Scripting
Server-side scripting merupakan fitur yang bermanfaat untuk membuat halaman web dinamis. Fitur ini merupakan teknik yang digunakan dalam desain website sehingga tampilan website menjadi dinamis. Adapun bahasa pemrograman yang paling banyak dipakai untuk server-side adalah PHP dan ASP.NET.
            Untuk membuat sebuah host yang dapat berperan sebagai sebuah Web Server, soal – soal yang diberikan pada praktikum ini adalah sebagai berikut.
1.      Buatlah routing sederhana yang terdiri atas client, router dan DMZ (host yang akan digunakan sebagai web server)
Pembahasan:
Pembuatan client, router, dan DMZ dapat dilakukan dengan membuat shell script sebagai berikut.
·         uml_switch –unix nama_switch > dev/null < /dev/null &
·         xterm –T nama_router –e linux ubd0=nama_router,uml umid=nama_router eth0=tuntap,,,10.151.70.33 eth1=daemon,,,nama_switch &
·         xterm –T nama_client –e linux ubd0=nama_client,uml umid=nama_client eth0=daemon,,,nama_switch &
·         xterm –T DMZ –e linux ubd0=DMZ,uml umid=DMZ eth0=daemon,,,nama_switch &
Dengan kode berikut, akan terdapat sebuah switch, router, client, dan DMZ (yang akan menjadi web server)

2.      Install apache,mySQL, phpmyadmin pada DMZ
Pembahasan: Install aplikasi tersebut pada host yang akan dijadikan sebagai Web Server, dengan cara mengetikkan kode berikut pada terminal.
Ø  apt-get install apache2 mysql-server phpmyadmin

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

Pembahasan:
Ø  Untuk membuat dua website tersebut pada localhost adalah dengan melakukan konfigurasi pada file “/etc/apache2/sites-available/default”. Dengan cara berikut.
Didalam Tag VirtualHost, Untuk port 80, ubah DocumentRoot yang sebelumnya adalah “/var/www” menjadi “/home/admin”. Kemudian, buat sebuah Tag <VirtualHost> baru dengan script yang sama  dengan yang berada didalam Tag <VirtualHost> pertama, namun port yang digunakan adalah 8080 dan Document Root pada “/var/www”. Dengan begitu, akan ada dua buah website yang ada pada localhost anda yaitu sebuah website dengan port 80 yang memiliki DocumentRoot di /home/admin, dan sebuah website dengan port 8080 yang memiliki DocumentRoot di /var/www.
Ø  Untuk membuat website tidak dapat menampilkan list direktori, yang dilakukan adalah dengan menghapus keyword “Indexes” file yang sama dengan diatas, yaitu “/etc/apache2/sites-available/default”. Keyword “Indexes yang dihapus adalah yang berada didalam Tag <VirtualHost> dan Tag <Directory /xxx/xxx(lokasi DocumentRoot) >. Keyword biasanya berada setelah kata Option.
Ø  Agar website yang berada pada port 8080 memiliki autentikasi pengguna, yang perlu dilakukan adalah:
1.      Membuat file “.htaccess” di direktori “/var/www”, dengan ketik command “nano /var/www/.htaccess
2.      Didalam file .htaccess, isi dengan command berikut:
AuthUserFile /var/www/.htpasswd
AuthGroupFile /www.null
AuthName “Authorization Required”
AuthType Basic
require user e8
3.      Setelah itu, buat akun yang akan didaftarkan pada website anda dengan mengetikkan kode pada terminal: “htpasswd –c .htpasswd nama_akun
4.      ubah pula konfigurasi pada file ”/etc/apache2/sites-available/default” dengan menambahkan keyword “AuthConfig” setelah keyword AllowOverride. Standarnya, setelah keyword AllowOverride adalah keyword None. None kita ganti menjadi AuthConfig.
Ø  Agar website dengan port: 80 dapat auto redirect ke file html yang dinginkan, yang perlu dilakukan adalah dengan melakukan penambahan konfigurasi di file “/etc/apache2/sites-available/default”. Sebelumnya pada file tersebut telah dihapus keyword Indexes, sehingga ketika anda membuka direktori melalui website, akan terlihat “Error 403. Forbidden”, maka dengan cara ini dapat dilakukan redirect ke file yang diinginkan dengan menambahkan baris berikut:
ErrorDocument 403 /example/example.html
Maka, ketika anda membuka folder example akan langsung di redirect ke example.html

4. Umumnya file yang diakses http://www.something.com adalah file index.html atau index.php di folder htdocs (kalau di apache windows) atau di /var/www/html (untuk apache server linux). Nah, ada kalanya kita sebagai pemilik web server tersebut berkeinginan untuk memberikan fasilitas kepada user yakni berupa homepage mereka. Buatlah configurasi Web server agar memiliki fasilitas user  dapat memiliki web pagenya sendiri (mod_userdir)
Pembahasan:
Ø  Untuk mengaktifkan mode user directory, pertama kali yang perlu dilakukan adalah dengan mengetik command: a2enmod userdir. Kemudian, anda dapat membuat user baru(optional) dengan mengetik command: adduser nama_user. Setelah itu, lakukan change directory (command cd) ke “/home”. Ketikkan perintah ls, maka akan didapati direktori-direktori dari user yang telah anda buat. Anda hanya perlu masuk ke salah satu direktori yang ingin anda tambahkan pada halaman web anda dengan mengetik: cd nama_user. Selanjutnya, buat sebuah direktori dengan nama “public_html” pada user direktori tersebut.
Langkah telah selesai, untuk membuka user direktori tersebut pada website anda hanya perlu menambahkan “/~nama_user” pada alamat web anda. Contoh: “localhost/~e8”.

5.      Buatlah configurasi webserver agar dapat menggunakan SSL pada Apache HTTP Server anda dengan studi kasus :  self-signed-certificate
Pembahasan:

Untuk membuka SSL pada website anda, lakukan langkah sebagai berikut:
 1. Enable SSL
sudo a2enmod ssl

2. Membuat direktori baru
sudo mkdir /etc/apache2/ssl

3. Membuat SSL Certificate
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

4. Seting SSL config file:
sudo nano /etc/apache2/sites-available/default-ssl

- Pada baris berikut:
ServerName example.com:443
        - Ubah example.com menjadi web yang diinginkan, contoh: localhost

-Ketik baris berikut pada file diatas:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

-Save dan Exit.

 5. Aktivasi SSL untuk VirtualHost
sudo a2ensite default-ssl

 6. Restart apache
sudo service apache2 restart

 7. Coba membuka website anda dengan https
Contoh dengan Lynx: lynx https://localhost

6.      Lakukan konfigurasi untuk mengoptimasi Apache dengan asums:  guaranteed  RAM (RAM yang pasti tersedia untuk apache) sebesar 8 MB

Pembahasan:
Berikut adalah cara melakukan optimisasi apache menjadi 8MB.
1.      Ketik command “free –m”, dan catat used memory yang tertera pada table tersebut.
2.      Ketik command “top” kemudia tekan shift+m, dan dapatkan penggunaan memory apache terbesar dari table yang terlihat.
3.      Kemudian, dapatkan nilai dengan menghitung:
X = (guarantee memory – used memory) * 0.8 / pemakaian apache terbesar
Sebagai contoh:
Guarantee memory pada soal: 8MB
Used Memory pada host: 41MB
Pemakaian apache terbesar 8MB
Maka, X = (8-41) * 0.8 / 8
X = -3.3
Karena X tidak memungkin <1, maka nilai yang paling mendekati untuk nilai X adalah 1. Sehinga X = 1
4.      Kemudian lakukan konfigurasi pada file “/etc/apache2/apache2.conf”. Cari baris yang berisikan “MaxClients x” (x=integer positif). Ganti angka x tersebut dengan nilai X yang telah kita dapatkan dari perhitungan, yaitu 1, sehingga baris tersebut menjadi “MaxClients 1


           


Tidak ada komentar:

Posting Komentar