Wednesday, May 15, 2013

Tutorial Web Server pada Ubuntu


·         Install Web Server Apache
                  ·         Jalankan perintah $apt-get install apache2


·         Konfigurasi Web Server
                  ·         Edit file $nano /etc/apache2/sites-enabled/000-default
                       Pada awalnya, yang ada hanyalah konfigurasi untuk port 80, yaitu seperti pada gambar di bawah ini:



·         Edit menjadi konfigurasi seperti di bawah ini:


         DMZ akan digunakan sebagai Web Server. Terdapat 2 buah website yang ditangani oleh web server ini yaitu ip_anda:80 dan 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
        Pada port 80 terlihat bahwa direktori tidak hanya mengarah pada /var/www namun juga pada home/admin. Hal ini dikarenakan bedanya hak akses dan file yang akan diakses melalui direktori-direktori tersebut. Apabila Anda mengakses file pada /var/www Anda akan diarahkan ke Error Document dengan peringatan 403 dan masuk ke direktori /example/example.html
        Pada port 8080 terdapat syntax yang menyatakan bahwa membutuhkan autentifikasi untuk dapat mengakses port tersebut, yaitu dengan adanya AllowOverride AuthConfig, Require valid-user dan seterusnya. Hal ini berarti Anda harus menyertakan file yang akan menampung data user dan password, dalam konfigurasi kali ini kami meletakkan file tersebut pada /usr/lib/cgi-bin/.htusers. Dalam menentukan dan memasukkan data user mana saja yang dapat mengakses port tersebut harus menggunakan htpasswd. Untuk pengaturan dan penggunaan htpasswd dapat dilihat dengan perintah $man htpasswd atau mempelajari link ini.









·         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 hompage mereka. Cara konfigurasi Web server agar memiliki fasilitas user dapat memiliki web pagenya sendiri yaitu dengan menggunakan mod_userdir, jalankan perintah di bawah ini:
1.       $a2enmod userdir
2.       $nano etc/apache2/mods-enabled/userdir.conf
3.       Ganti konfigurasinya menjadi seperti di bawah ini:
4.       Tutup dan simpan, lalu jalankan $service apache2 restart dan $mkdir /home/$User/public_html. Pada direktori public_html tambahkan satu dokumen html. Setelah konfigurasi ini seharusnya Anda dapat mengaksesnya melalui lynx dengan alamat http://ip_anda/~username/

·         Konfigurasi webserver agar dapat menggunakan SSL pada Apache HTTP Server anda dengan studi kasus :  self-signed-certificate.
1.       $a2enmod ssl
2.       Buat directory baru yang akan digunakan untuk menyimpan key server dan sertifikat ssl dengan menjalankan: $mkdir /etc/apache2/ssl
3.       Lalu jalankan: $opensslreq -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
4.       Setup sertifikatnya pada direktori $nano /etc/apache2/sites-available/default-ssl
5.       Tambahkan satu baris dengan nama server Anda tepat di bawah email Admin Server atau ServerAdmin :
Contoh: ServerName 443
6.       Langkah selanjutnya, cari yang mirip dengan syntax dibawah ini dan sesuaikan:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
7.       Lalu jalankan perintah $a2ensite default-ssl
8.       Reload apache2 Anda dengan perintah $service apache2 reload

·         Konfigurasi untuk mengoptimasi apache web server dengan asumsi guaranteed RAM (RAM yang pasti tersedia untuk apache) sebesar 8 MB.
1.       Jalankan $top.
2.       Ketik shift+m.
3.       Catat nilai RES tertinggi yang digunakan oleh httpd.
4.       Tutup top.
5.       Matikan apachenya
6.       Jalankan $free –m
7.       Catat nilai pada used dan kalikan dengan 0.8 untuk rata-rata available apache pool.
8.       Bagi available apache pool dengan nilai RES tertinggi.
9.       $nano /etc/apache2/apache2.conf
10.   Set MaxClients dengan hasil perhitungan Anda.
11.   Jalankan kembali apache2 dengan $service apache2 start

No comments:

Post a Comment