Kamis, 19 Agustus 2010

Admin Server (Virtual Host, HTTPS, Web Server)

1.Virtual Host

Sumber 1:


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

===================begin file===========================

NameVirtualHost 212.241.214.21

ServerAdmin cyberbox@telkom.net

DocumentRoot /var/www/html

Options FollowSymLinks

AllowOverride None

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

# Uncomment this directive is you want to see apache2’s

# default start page (in /apache2-default) when you go to /

#RedirectMatch ^/$ /apache2-default/

ScriptAlias /cgi-bin/ /usr/lib/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

Alias /doc/ “/usr/share/doc/”

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

=======================EOF=================================

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/

Sumber2:

Virtual Host merupakan cara untuk mengatur banyak website atau URL di dalam satu mesin atau satu IP. Misalkan kita mempunyai banyak domain tapi hanya mempunyai 1 IP public atau 1 server. Cara untuk mengatasi masalah itu adalah dengan cara membuat virtualhost yang ada di settingan apachenya. Virtual Host bisa anda gunakan setelah anda menginstall package-package apache dan sudah pasti web server anda sudah berjalan dengan baik.

Sekarang kita langsung saja masuk ke dalah konfigurasi. Misalkan saya mempunya 2 buah domain [aminudin.net dan kelelawar.net] saya kebingungan karena saya hanya mempunyai 1 server, solusinya adalah anda harus mengarahkan domain tersebut ke IP server kita untuk contoh silahkan baca http://aminudin.net/?p=230 . kemudian seterusnya konfigurasi di sisi server nya kita lakukan konfigurasi virtualhost anda edit file yang berada di /etc/apache2/http.conf. anda masukan text virual host,sebagai contoh begini :


ServerAdmin webmaster@aminudin.net
ServerName aminudin.net
DocumentRoot /home/amin
CustomLog /hom/amin/log/aminudin.net.log combined


ServerAdmin webmaster@kelelawar.net
ServerName kelelawar.net
DocumentRoot /home/kelelawar
CustomLog /home/kelelawar.net/log/kelelawar.net.log combined

Penjelasan:

<<–Awal dari virtual host ServerAdmin webmaster@kelelawar.net <<– Nama admin domain ServerName kelelawar.net <<– Nama domain yang akan masuk ke server kita DocumentRoot /home/kelelawar <– File domain kelelawar.net CustomLog /home/kelelawar.net/log/kelelawar.net.log combined <<– Dimana File Log website diletakan <<– Penutup VirtualHost

# untuk file log, anda membuat terlebih dahulu file kosong
# ex: amin@root~#touch /home/kelelawar/log/kelelawar.net.log

Berikutnya yang harus anda lakukan adalah restart apache:

amin@root~#/etc/init.d/apache2 restart

Jadi secara simple adalah VirtualHost itu adalah belokan dimana directory masing2 domain tersebut.

Jika anda mempunya 1 domain atau 2 masih bisa dibilang belum memusingkan untuk configurasi file http.conf-nya. Tetapi jika anda sudah mempunya banyak domain diarahkan ke 1 server, misal anda mempunya 10 domain hayoooo gimana? saya juga pernah mengalami hal serupa, file di http.conf itu banyak sekali nama domain dan hampir serupa bentuknya, bisa lelah mata kita melihatnya. Untuk masalah seperti itu anda sebaiknya membuat file configuration yang baru. Coba anda membuat directory dimana file konfigurasi domain tersebut berada.

ex: /home/vhost/aminudin.net.conf
/home/vhost/kelelawar.net.conf

Setelah itu coba anda pindahkan semua konfigurasi masing2 domain ke file konfigurasi domain tersebut, misal vhost aminudin.net di pindah ke /home/vhost/aminudin.net.conf. Setelah itu anda edit file yang bernama apache2.conf yang berada di /etc/apache2/apache2.conf kemudian anda cari baris yang ada text Include /etc/apache2/http.conf kemudian anda tambahkan baris di bawahnya itu sebagai contoh anda masukan Include /home/vhost/aminudin.net.conf dan Include /home/vhost/kelelawar.net.conf. kemudian karena file http.conf itu sudah kosong filenya maka anda kasih # di text Include /etc/apache2/http.conf menjadi #Include /etc/apache2/http.conf. tanda # itu menandakan bahwa yang berada di baris tersebut hanya komentar jadi tidak di tanggapi oleh apache tersebut. Kemudian setelah anda beres ini itu maka tinggal anda melakukan restart apache nya [amin@root~#/etc/init.d/apache2 restart].


2.HTTPS

HTTPS singkatan dari HyperText Transport Protocol Secure, memiliki pengertian sama dengan HTTP tetapi dengan alasan keamanan (security), HTTPS memberi tambahan Secure Socket Layer (SSL). Umumnya website yang menggunakan HTTPS ini adalah website yang memiliki tingkat kerawanan tinggi yang berhubungan dengan masalah keuangan dan privacy dari pelanggannya seperti website perbankan dan investasi.
Teknologi HTTPS protocol mencegah kemungkinan "dicurinya" informasi penting (credit card adalah contoh yang paling serinf disebut-sebut) yang dikirimkan selama proses komunikasi berlangsung antara user dengan web server (atau sebaliknya). Secara teknis, website yang menggunakan HTTPS akan melakukan enkripsi terhadap informasi (data) menggunakan teknik enkripsi SSL. Dengan cara ini meskipun seseorang berhasil "mencuri" data tersebut selama dalam perjalanan user web server, orang tersebut tidak akan bisa membacanya karena sudah diubah oleh teknik enkripsi SSL.

Untuk mengenali suatu website menggunakan SSL atau tidak, cukup dengan memperhatikan informasi di depan alamat website pada browser. Apabila alamat website diawali dengan https:// maka bisa dipatikan website tersebut sudah menggunakan teknologi SSL. Cara lain yaitu dengan melihat "icon kunci" di pojok kanan bawah browser, apabila "icon" tersebut terlihat dalam posisi terkunci maka website tersebut aman.

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 Barat
Locality Name (eg, city) []:Cimahi
Organization Name (eg, company; recommended) []:Mozmoz
Organizational Unit Name (eg, section) []:
server name (eg. ssl.domain.tld; required!!!)
[]:https.murtilabibmuslim.blogspot.com
Email Address []:murtimozmoz666@yahoo.com
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 https.murtilabibmuslim.blogspot.com
ServerAdmin webmaster@murtilabibmuslim.blogspot.com
DocumentRoot /var/www/murti

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://https.murtilabibmuslim.blogspot.com/

3.Web Server

Pengertian Web Server

Web server merupakan software yang memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman - halaman web yang umumnya berbentuk dokumen HTML

Macam - macam Web Server diantanya:

Apache Web Server - The HTTP Web Server

1.Apache Tomcat
2.Microsoft windows Server 2003 Internet Information Services (IIS)
3.Lighttpd
4.Sun Java System Web Server
5.Xitami Web Server
6.Zeus Web Server

Namun web yang terkenal dan yang sering digunakan adalah Apache dan Microsoft Internet Information Service (IIS).

Cara kerja web server :

1. Cara kerja Web Server Web server merupakan mesin dimana tempat aplikasi atau software beroperasi dalam medistribusikan web page ke user, tentu saja sesuai dengan permintaan user.

2. Hubungan antara Web Server dan Browser Internet merupakan gabungan atau jaringan Komputer yg ada di seluruh dunia. Setelah terhubung secara fisik, Protocol TCP/IP (networking protocol) yg memungkinkan semua komputer dapat berkomunikasi satu dengan yg lainnya. Pada saat browser meminta data web page ke server maka instruksi permintaan data oleh browser tersebut di kemas di dalam TCP yg merupakan protocol transport dan dikirim ke alamat yg dalam hal ini merupakan protocol berikutnya yaitu Hyper Text Transfer Protocol (HTTP). HTTP ini merupakan protocol yg digunakan dalam World Wide Web (WWW) antar komputer yg terhubung dalam jaringan di dunia ini. Untuk mengenal protocol ini jelas sangan mudah sekali dimana setiap kali anda mengetik http://… anda telah menggunakannya, dan membawa anda ke dunia internet. Data yg di passing dari browser ke Web server disebut sebagai HTTP request yg meminta web page dan kemudian web server akan mencari data HTML yg ada dan di kemas dalam TCP protocol dan di kirim kembali ke browser. Data yg dikirim dari server ke browser disebut sebagai HTTP response. Jika data yg diminta oleh browser tidak ditemukan oleh si Web server maka akan meninbulkan error yg sering anda lihat di web page yaitu Error : 404 Page Not Found.

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.

Cara1:

Iinstal LAMP (Linux-Apache-MySQL-PHP) di Ubuntu 9.04 (Jaunty Jackalope) versi Desktop

Instalasi LAMP:
LAMP Ubuntu Jaunty Jackalope Gunakan Synaptic Package Manager dan command apt-get (lebih sering menggunakan apt-get karena lebih cepat). Repository paket langsung dari internet yang dihubungkan melalui Proxy Server di tempat kerja saya.

  1. Dari desktop Gnome, pilih System -> Administration -> Synaptic Package Manager.
  2. Setelah berada pada window Synaptic Package Manager, pilih Edit -> Mark Packages by Task.
  3. Kemudian pilih LAMP server dan jalankan instalasinya.
  4. Untuk instal phpMyAdmin, silahkan Search dan ketikkan phpmyadmin.

Jika teman2 ingin menggunakan command apt-get atau aptitude ini tutorialnya:

  1. Instal Apache: sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert
  2. Instal PHP: sudo apt-get install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
  3. Instal MySQL: sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
  4. Instal phpMyAdmin: sudo apt-get install phpmyadmin

Konfigurasi Web Server Apache:

Edit file /etc/apache2/sites-enabled/000-default, rubah pada bagian:


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

menjadi:


Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

  • Aktifkan module rewrite (untuk mengaktifkan URL ramah Drupal), gunakan command: $ sudo a2enmod rewrite, sehingga akan muncul:Module rewrite installed; run /etc/init.d/apache2 force-reload to enable.
  • Jalankan/restart web server apache untuk mengaktifkan perubahan yang sudah dilakukan dengan command: $ sudo /etc/init.d/apache2 restart, jika berhasil maka akan muncul:

Restarting web server apache2
…waiting [ok]

  • Rubah root direktory web server dengan command:$ sudo chown -R [nama-user] /var/www

Maksudnya agar [nama-user] memiliki akses full terhadap root direktori web server, sehingga memudahkan pengelolaan web saat kita login menggunakan user [nama-user] nantinya.

Konfigurasi MySQL:
phpMyAdmin Ubuntu Jaunty JackalopeUntuk mengelola database MySQL saya menggunakan phpMyAdmin. Saya hanya perlu menambahkan user baru selain root untuk akses database nantinya.
1.Dari browser arahkan URL ke: http://localhost/phpmyadmin. Kemudian masukkan username root dan password.
2.Setelah login dihalaman phpMyAdmin, pilih tab Hak Akses. Kemudian tambahkan pengguna baru, beri hak atas akses database untuk host localhost.


Cara2:

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