Pages

Senin, 15 April 2013

Modul 2 - Optimasi Apache


Konfigurasi optimasi Apache dengan asumsi guaranted RAM sebesar 8 MB. 
Cara konfigurasinya :
1. Ketik free -m maka keluar seperti gambar dibawah ini : 

2.Catat nilai yang dicatat sama used
3. Berapa tuh nilai apache yang ada di kamu. Kalau saya ada 8 mb
4. Kalikan sama 0.8 buat rata-rata AVAILABLE APACHE POOL
5. Bagi AVAILABLE APACHE POOL sama nilai RES tertinggi
6. Open httpd.conf . Kalau di saya sih: nano /etc/apache2/apache2.conf


7. Set MaxClients yang udah tadi dihitung
8. Set KeepAlive jadi Off. Sebenarnya mau OFF apa ON bisa aja sih. Eh ada beda sih, kalau OFF ntar server akan menangani banyak request per detik. Tapi pasti bakal butuh banyak memori tuh. Jadi amannya di OFF in aja dah
9. Set Timeout jadi nilai normal.
10. Set MaxKeepAliveRequest antara 70-200.
11. Set MinSpareServers 10-20% MaxClient
12. Set MaxSpareServers 10-20% MaxClient
13. Set StartServers sama dengan MaxSpareServers dan MinSpareServers
14. Set MaxRequestsPerChild antara 500-10000.
15. Save konfigurasinya. Jangan lupa aktifkan apachenya lagi. Caranya: service apache2 start

Modul 2 - Proxy Server


Cara Install Squid Proxy :

  1. Pertama-tama install terlebih dahulu squid melalui terminal atau melalui command prompt dengan cara :
    apt-get install squid
  2. Setelah selesai maka Squid langsung dapat di konfigurasikan dengan cara :
    nano /etc/squid/squid.conf
  3. Tetapi sebelum di edit terlebih dahulu backup dulu file aslinya agar kalau rusak bisa dikembalikan ke default :
    nano /etc/squid/squid.conf /etc/squid/squid.conf.bak
  4. Baru kemudian kita mulai bermain-main dengan konfigurasi script Squid :
    nano /etc/squid/squid.conf
Cara setting konfigurasi Squid Proxy :

Biasanya untuk mengatur kecepatan internet kita lakukan Filtering:

  1. Filtering : Ini merupakan bagian terpenting dari Squid, dengan ini kita bisa mngatur rule-rule, dari mulai siapa saja yang bisa mengakses internet sampai website apa yang diizinkan untuk di akses.Access List : Siapa saja yang dapat mengakses Internet
  • contoh perintah : acl host1 src 172.16.0.1
  • acl : merupakan perintah access list
  • user : nama user yang memiliki IP atau group
  • src : merupakan source ip yang digunakan, bisa menggunakan range jika ingin membuat group

         2. Filtering Waktu : Memberikan izin akses berdasarkan waktu dan hari
  • perintah : acl waktu-akses time MTWHFA 00:00-14:00
  • acl : perintah access list
  • waktu-akses : caption untuk perintah acl
  • time : perintah squid utk mendefinisikan waktu
  • MTWHFA : merupakan perintah squid untuk mendefinisikan waktu
  • M : Monday, T : Tuesday, etc…..
  • 00:00-14:00 : Merupakan waktu yang diperbolehkan untuk memberikan akses internet ke penggunaFiltering Website : Memfilter website apa saja yang tidak boleh diakses oleh pengguna.
  • misal kita melarang untuk mendownload file .pdf .mp3 dan .doc
  • acl file url_regex -i \.pdf$ \.doc$ \.mp3$
     3.Untuk membatasi kecepatan kita menggunakan delay pool
contoh:
delay_pool3
delay_class 1 1
                  delay_access 1 allow host1 waktu !weekend
                  delay_parameters 1 10000/10000
script di atas membatasi kecepatan user host1 menjadi max 10 KBps


4.Untuk membuat user lain dapat menggunakan proxy maka proxy harus di export terlebih dahulu dengan cara:
export http_proxy=ip_proxy:port_proxy

Modul 2 - Web Server :User Directory Configuration


Cara Melakukan userdir.conf (User Directory Configuration)

1. sudo a2enmod userdir
Setelah itu kita konfigurasi Apachenya.
2. sudo nano /etc/apache2/mods-enabled/userdir.conf
3. Ganti dengan source code ini:

listen 8080
<VirtualHost *:80>    
        DocumentRoot /var/www/
        Alias /admin /home/admin/
        AliasMatch /coba /var/www/coba/coba.html
        <Directory/>
                Options -Indexes FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOerride None
                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 value include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog $${APACHE_LOGDIR}/access.log combined
</VirtualHost>
<VirtualHost *8080>
        DocumentRoot /var/www2/
        Alias /admin /home/admin
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www2>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                Require valid-user
        </Directory>
</VirtualHost>

      Seperti pada Gambar dibawah ini :


4. Restart Apache Anda service apache2 restart mkdir /home/$USER/public_html disini saya mkdir /home/admin/public_html 
5. Kemudian, buat file index.html nano index.html  lalu isi text html disana:
6. test dengan cara: lynx localhost:80/public_html 

Modul 2 - Web Server : SSL

Cara Membuat self-signed-certificate SSL Apache

1. Aktifkan Modul SSL
sudo a2enmod ssl
2. Restart Apache
sudo service apache2 restart 
3. Buat directory baru 
sudo mkdir /etc/apache2/ssl   
4. Buat self-signed-certificate SSL
sudo openssl req -x509 -nodes -days 365 
-newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key 
-out /etc/apache2/ssl/apache.crt
5. Pada sesi ini isikan yang berlabel merah sesuai keinginan kita
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:NYC
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Awesome Inc
Organizational Unit Name (eg, section) []:Dept of Merriment
Common Name (e.g. server FQDN or YOUR name) []:example.com                  
Email Address []:webmaster@awesomeinc.com 
6. Buka konfigurasi SSL
sudo nano /etc/apache2/sites-available/default 
7. Konfigurasi apache
nano /etc/apache2/sites-available/default 
8.Kemudian isi code berikut di baris terbawah :
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
           

Modul 2 - Web Server : Membuat Routing Sederhana


Topologi jaringan adalah hal yang menjelaskan hubungan geometris antara unsur-unsur dasar penyusun jaringan, yaitu nodelink, dan station. Berikut contoh topologi jaringan.


Keterangan:
eth0 : eth0 yang diatas adalah tuntap.
eth1: daemon ke topologi

Buka terminal di Ubuntu Anda, lalu ketik :
ssh -X –l e10 10.151.36.205
Setelah itu Anda akan dimintai password. Isi password tersebut.
Lalu buatlah file script. Caranya:
nano start.sh
Kemudian isi di dalamnya
uml_switch -unix switche22 > /dev/null < /dev/null &
xterm -T router -e linux ubd0=satu,uml umid=satu eth0=tuntap,,,10.151.70.40 eth1=daemon,,,switche22 mem=50M &
xterm -T host1 -e linux ubd0=dua,uml umid=dua  eth0=daemon,,,switche22 mem=50M &
xterm -T host2 -e linux ubd0=tiga,uml umid=tiga eth0=daemon,,,switche22 mem=50M &
xterm -T host3 -e linux ubd0=empat,uml umid=empat eth0=daemon,,,switche22 mem=50M &


satu = router
dua = web server
tiga = proxy server
empat = host


Penjelasan:
systax awal: uml_switch -unix switche22 > /dev/null < /dev/null &
xterm -T satu -e linux ubd0=satu,uml umid=satu eth0=tuntap,,,10.151.70.40$ : uml umid : satu berarti kita menamai komputer virtual kita dengan nama satu sebagai router. tuntap 10.151.70.40 adalah tuntap saya. Sedangkan mem=50M adalah pengalokasian memori RAM kita sebesar 50Mb. dan adalah membuatnya sebagai daemon.


Karena disini tadi saya memberi nama fil dengan nama start.sh, maka saya cukup ketik bash start.sh
Nah, file tersebut digunakan untuk menjalankan UML. Masalahnya bagaimana cara mematikannya? Caranya adalah membuat script untuk mematikannya. Berikut scriptnya:
nano stop.sh
lalu isi code di dalamnya:
uml_mconsole satu halt &
uml_mconsole dua halt &
uml_mconsole tiga halt &
uml_mconsole empat halt &

Penjelasan:
uml_mconsole [nama uml kita] halt &[& artinya daemon]
Lalu run file yang telah Anda buat tadi. Caranya, bash [nama_file_anda]

Sekarang konfigurasi 4 host tersebut.
- komputer satu bertindak sebagai router
- komputer dua bertindak sebagai web server
- komputer tiga bertindak sebagai proxy server
- komputer empat bertindak sebagai client
Sekarang, kita masuk ke komputer virtual satu. Pertama kali, login dan masukan password Anda.
1. Install update. Caranya: apt-get update
2. Edit file rc.local. Caranya: nano /etc/rc.local
Tambahkan di baris sebelum exit 0 dengan:
    iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -j  MASQUERADE
3. Edit  nano /etc/sysctl.conf
uncoment #net.ipv4.ip_forward=1. Hilangkan tanda #
4. setting interface: nano /etc/network/interfaces. Berikut code-nya:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
        address 10.151.70.42 (tuntap Anda +1)
        netmask 255.255.255.0 (default)
        gateway 10.151.70.41 (tuntap Anda)
auto eth1
iface eth1 inet static
        address 151.151.1.1 (digit terakhir terserah Anda)
        netmask 255.255.255.0 (default)


4. reboot
5. coba cek dengan cara ping its.ac.id (karena menggunakan jaringan ITS)
Sekarang, kita masuk ke komputer virtual dua . Disini dia bertindak sebagai web servernya. Hampir mirip dengan yang pertama, tapi disini kita perlu install phpmyadmin, apache2 dan lynx. Tetapi sebelum itu kita setting network interfaces nya terlebih dahulu:



Setelah itu berikut step-stepnya:
1. Update dulu komputer Anda: apt-get update
2. apt-get install phpmyadmin
3. apt-get install apache2
4. apt-get install lynx
5. reboot
6. ping its.ac.id

Sekarang, kita masuk ke komputer virtual tiga. Hampir mirip dengan yang pertama, tapi disini kita perlu install phpmyadmin, apache2 dan lynx. Sama seperti virtual dua, kita setting network interfaces nya terlebih dahulu :



Setelah itu berikut step-stepnya:
1. Update dulu komputer Anda: apt-get update
2. apt-get install squid3
3. reboot
4. ping its.ac.id
Sekarang, kita masuk ke komputer virtual empat. Hampir mirip dengan yang virtual dua dan tiga, tapi disini kita perlu install lynx. Sebelum itu seperti biasa kita setting network interfacesnya terlebih dahulu :


Setelah itu berikut step-stepnya:
1. Update dulu komputer Anda: apt-get update
2. apt-get install lynx  (lynx itu bertindak sebagai browser Anda)
3. reboot
4. ping its.ac.id