Laman

Kamis, 19 Agustus 2010

Virtual Host, HTTPS, Web Server

Virtual Host dalam APACHE2 di Sistem Operasi UBUNTU

Virtual Host merupakan layanan dari Apache, seolah-olah server Apache kita berada pada banyak mesin. Apache mendukung dua tipe virtual host; berdasarkan IP address dan berdasarkan hostname. Perbedaan dari kedua tipe ini adalah ; tipe berdasarkan IP address, kita harus menggunakan 1 ip address untuk 1 virtual host yang akan kita gunakan.dengan kata lain, 1 domain 1 ip address. Sedangkan tipe berdasarkan hostname, kita dapat menggunakan 1 ip address untuk banyak virtual host, dengan kata lain, 1 ip address bisa digunakan untuk banyak domain. ( domain yang ingin di gunakan, terlebih dahulu di pointing ke ip address server anda ).
Berikut adalah langkah-langkah membuat Virtual Host :
1. buat sebuah file yang akan menangani konfigurasi Virtual Host kita pada direktori /etc/apache2/sites-available
cd /etc/apache2/sites-available
touch cyberbox
2. edit file tersebut dan tambahkan konfigurasi Virtual host yang kita kehendaki
nano cyberbox
berikut adalah contoh konfigurasi Virtual Host untuk domain cyberbox.on.web.id

Penjelasan :
NameVirtualHost 212.241.214.21 = nama virtual host kita ( masukkan ip anda )
= domain dan listening port yang ingin kita gunakan
DocumentRoot /var/www/html = document ROOT tempat dimana file-file web kita di akses.
save dan keluar dari text editor.
3. Buat file symbolic di direktori /etc/apache2/sites-enabled yang mengarah ke file /etc/apache2/sites-available/cyberbox
sudo a2ensite cyberbox /etc/apache2/sites-available/cyberbox
4. Tambahkah domain yang telah kita set menjadi virtual host di file /etc/hosts
echo “ipaddress domain.com domain” >> /etc/hosts
contoh : echo “212.241.214.21 cyberbox.on.web.id cyberbox” >> /etc/hosts
5. reload server Apache
sudo /etc/init.d/apache2 reload
6. Jika tidak terjadi error, coba akses virtual host yang sudah kita masukkan dengan browses.
http://cyberbox.on.web.id/

HTTPS
https adalah versi aman dari HTTP, Protokol Komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan penggunaan dalam komersi elektris.
Selain menggunakan komunikasi plain text, HTTPS menyandikan data sesi menggunakan protokol SSL (Secure Socket Layer) atau protokol TLS (Transport Layer Security). Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port HTTPS adalah 443.
Konfigurasi HTTPS

1. Aktifkan modul ssl dengan menggunakan perintah:
$ sudo a2enmod ssl
2. Buatlah sertifikat, sertifikat ini digunakan untuk koneksi https/ssl (enkripsi)
$ sudo apache2-ssl-certificate
creating selfsigned certificate
replace it with one signed by a certification authority (CA)
enter your ServerName at the Common Name prompt
If you want your certificate to expire after x days call this
programm
with -days x
Generating a 1024 bit RSA private key
..................................++++++
..........................++++++
writing new private key to '/etc/apache2/ssl/apache.pem'
-----
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) [GB]:ID
State or Province Name (full name) [Some-State]:Jawa Timur
Locality Name (eg, city) []:Surabaya
Organization Name (eg, company; recommended) []:Sekolah
Organizational Unit Name (eg, section) []:
server name (eg. ssl.domain.tld; required!!!)
[]:secure.sekolah.net
Email Address []:vie@sekolah.net
3. Setelah itu buat file /etc/apache2/sites-available/https, dibawah baris:
$ sudo vi /etc/apache2/sites-available/https
Dengan isi file seperti berikut:
NameVirtualHost 192.168.0.1:443

SSLEngine ON
SSLOptions +FakeBasicAuth +ExportCertData
+CompatEnvVars +StrictRequire
SSLCertificateFile /etc/apache2/ssl/apache.pem
ServerName secure.skull.net
ServerAdmin webmaster@skull.net
DocumentRoot /var/www/skullnet

4. Aktifkan site https, dengan perintah
$ sudo a2ensite https
5. Setelah itu edit file /etc/apache2/ports.conf, lalu tambakan baris Listen 443
pada file tersebut.
6. Restart apache
$ sudo /etc/init.d/apache2 restart
7. Test lah hasil konfigurasi pada browser klien dengan mengetikan url
https://www.sekolah.net/


Web Server
Web merupakan salah satu layanan internet yang popular karena ke populerannya
maka layanan ini menjadi media yang dapat dimanfaatkan untuk mempromosikan lembaga,
institusi atau perusahaan. Fasilitas ini juga memungkinkan kita mengakses informasi dan data
efektif dan efisien.
Web server menggunakan protocol HTTP yang menggunakan arsitektur client-server,
yaitu ada sebuah web server yang dapat memberikan layanan HTTP yang di minta oleh aplikasi client.


Apache, MySQL, PHP
Apache adalah salah satu aplikasi web server yang terbaik karena kehandalannya,
kecepatannya, dan selain itu apache juga bersifat open source. Apache secara default terdapat
di distro – distro linux.
MySQL merupakan salah satu software database yang sangat terkenal di dunia.
Terkenal karena kecepatan, kemudahan penggunaan, konektifitas dan sekuritas yang baik,
serta harga yang masih cenderung gratis untuk pengguna tertentu.
PHP adalah bahasa pemograman yang bersifat server side dan menyatu dengan HTML.
Server side adalah sintaks dan perintah-perintah yang kita berikan akan sepenuhnya dijalankan
di server sedangkan yang diterima klien hanya HTML biasa.

Konfigurasi Database Server
Berikut adalah langkah-langkah mengkonfigurasi Database Server:
1. Setelah MySQL terinstall dengan baik, ubah password user root yang terdapat di
MySQL, dengan menggunakan perintah berikut:
$ sudo su
# mysqladmin -u root -p password passwordbaru
Catatan: ubah passwordbaru dengan password yang diinginkan. Setelah itu restart
MySQL.
# /etc/init.d/mysql restart
2. Selanjutnya kita tambahkan user lain kedalam database MySQL, dengan
mengetikan perintah berikut:
# mysql -u root –p
Enter password: passwordbaru
mysql> use mysql;
mysql> INSERT INTO user (host, user, password, select_priv, insert_priv,
update_priv, delete_priv, create_priv, drop_priv) VALUES
('localhost','pick',PASSWORD('123'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
mysql> flush privileges;
mysql> exit;
3. Agar php dapat bekerja dengan mysql, kita harus mengedit file
/etc/php5/apache2/php.ini. Hilangkan tanda komentar pada ;extension=mysql.so
Sebelum:
;extension=mysql.so
Sesudah:
extension=mysql.so
Konfigurasi Apache Web Server
Berikut adalah langkah-langkah mengkonfigurasi Web Server:
1. Buat file /etc/apache2/sites-available/skullnet
$ sudo vi /etc/apache2/sites-available/skullnet
Dengan isi file seperti berikut :
NameVirtualHost 192.168.0.1:80

ServerAdmin webmaster@skull.net
ServerName www.skull.net
DocumentRoot /var/www/skullnet
ScriptAlias /cgi-bin/ /var/www/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews
+SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn,
error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On

Edit option-option berikut, sehingga sesuai dengan keadaan server anda :
 ServerAdmin
Option ini mendefinisikan admin webmaster.
 DocumentRoot
Document root adalah di rektori tempat dokumen web anda.
Contoh : DocumentRoot /var/www/skullnet
 ServerName
Option ini berfungsi mendefinisikan nama server kita. Secara default option ini
tidak ada, buat option ini secara manual. Contoh: ServerName www.skull.net
 ScriptAlias dan Directory “/var/www/cgi-bin/"
Option ini berfungsi mendefinisikan direktori cgi-bin.
2. Setelah membuat dan menyimpan file tersebut, buat direktori /var/www/skullnet
untuk menyimpan file-file web kita dan buat direktori /var/www/cgi-bin.
$ sudo mkdir -p /var/www/skullnet
$ sudo mkdir -p /var/www/cgi-bin
3. Langkah selanjutnya yaitu membuat simbolik links kedalam direktori
/etc/apache2/sites-enabled, gunakan perintah berikut:
$ sudo a2ensite skullnet
4. Selanjutnya kita buang simbolik link konfigurasi default, karena kita sudah
menggunakan konfigurasi yang baru yaitu sekolahnet
$ sudo a2dissite default
5. Restart apache
$ sudo /etc/init.d/apache2 restart
6. Sekarang waktunya uji coba. Buat file /var/www/skullnet/info.php dengan isi file
sebagai berikut:
$ sudo vi /var/www/skullnet/info.php
7. Lakukan browsing dari klien menuju alamat http://www.sekolah.net/info.php







Tidak ada komentar:

Posting Komentar