Pada kesempatan kali ini, saya akan menjelaskan mengenai hal - hal yang saya dapat saat praktikum jaringan komputer modul 2 ini. Pada modul 2 ini, materi yang diberikan yaitu mengenai cara membuat proxy server dan webserver dalam OS Ubuntu dengan menggunakan UML (User-Mode Linux), serta membuat webserver dalam bahasa Java.
Pertama, yaitu Proxy Server.
Secara teknis, proxy server adalah sebuah sistem yang berperan sebagai perantara antara client hosts, dengan server yang ingin diaksesnya. Cara kerja Proxy Server contohnya, misal ingin membuka Google. PC yang kita pakai merupakan client host. Halaman Google yang muncul merupakan file html yang ada di server Google. Dengan proxy, berarti proxy adalah sebagai perantara antara PC kita dengan Google. Jadi, kita meminta file html bukan ke server Google secara langsung, tetapi melalui server proxy yang kita pakai.
Topologi Proxy :
Untuk setting Proxy di UML, saya memakai Squid Proxy versi 3 (Squid3). Install dengan :
apt-get install squid3. Setelah meng-Install Squid, konfigurasi Squid lewat dengan mengedit file squid.conf yang berada di /etc/squid3/ . Pada praktikum kali ini, beberapa konfigurasi proxy yang saya pakai pada settingan virtual network yaitu :
acl limitcon maxconn 2
acl com3 src 192.168.1.93
acl hos2 src 192.168.1.92
acl com4 src 192.168.1.94
acl download urlpath_regex -i \.mp3$ \.doc$ \.pdf$
acl waktu time M T W T F 00:00-14:00
http_access allow com4 com3
http_access allow hos2 ! download
http_access deny limitcon
http_access deny all
delay_pools 3
delay_class 1 1
delay_parameters 1 10000/10000
delay_access 1 allow com4 waktu
delay_access 1 deny all
delay_class 2 1
delay_parameters 2 20000/20000
delay_access 2 allow com3 waktu download
delay_access 2 deny all
delay_class 3 1
delay_access 3 allow com4 com3 !waktu
delay_access 3 deny all
Sedikit penjelasan mengenai syntax - syntax :
delay_pools untuk menspesifikasi berapa pools yang akan digunakan untuk ACL delay.
delay_class untuk menspesifikasi tingkat delay yang diberikan pada masing masing pool.
delay_parameter untuk memberikan aturan aturan khusus untuk suatu delay pool.
delay_access untuk menspesifikasikan ACL mana saja yang diberikan ijin (Deny/Allow) untuk akses keluar proxy
Berikutnya Webserver.
Untuk setting webserver, saya menggunakan Apache pada UML saya. Webserver sendiri sebenarnya hampir mirip dengan proxy, namun bedanya, webserver bukan perantara seperti proxy, melainkan penyedia jasa HTTP, HTTPS, dan lainnya. Seperti biasa, install apache dengan
apt-get install apache2 terlebih dahulu. Untuk mengecek apakah sudah berhasil instalasi apache, lakukan koneksi ke localhost, maka akan ada reply berupa "It Works!" dari localhost.
Berikut konfigurasi apache pada file /etc/apache2/sites-enabled/000-default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/admin/
<Directory />
Options +Indexes FollowSymLinks Includes +ExecCGI
AllowOverride All
Allow from all
</Directory>
<Directory /home/admin/>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
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
</VirtualHost>
Listen 8080
<VirtualHost *:8080>
ServerAdmin webserver@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Require valid-user
AuthType basic
AuthName "Basic Auth"
AuthUserFile /usr/lib/cgi-bin/.htusers
AllowOverride None
</Directory>
<Directory /var/www/>
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
</Directory>
</VirtualHost>
Sekian untuk webserver dan proxy server dari saya.