Sunday, 25 May 2014

Membuat Virtual Host

Sebelum membaca artikel ini sebaiknya sudah membaca artikel-artikel ini :

Karena tulisan ini sambungan dari dua tulisan di atas, saya beranggapan kebutuhan Apache, PHP dan MySQL telah tersedia di komputer masing-masing tapi tidak dalam bundle xammp, wamp atau aplikasi sejenisnya.

Sebelum melakukan beberapa perubahan pada file, kita buat sebuah folder dengan nama projects di C:/projects, ini adalah folder yang akan menjadi tempat virtual host yang didalamnya akan ada folder root application.

File yang pertama diubah adalah httpd.conf, buka file ini di folder c:/apache/conf/httpd.conf, buka dengan textedit seperti notepad. Uncomment httpd-vhosts.conf, menjadi seperti code dibawah:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Baris yang kita uncomment adalah baris yang memberi tahukan kepada apache bahwa kita memasukan file conf. virtual host. Sehingga file httpd-vhosts.conf pada folder extra dikenali oleh server apache. Dan kita bisa menggunakan fitur virtualhost. Bila baris ini tidak di uncomment virtualhost tidak dapat dijalankan.

Selanjutnya buka file hosts pada alamat C:/Windows/System32/drives/ets/hosts, bukan dengan notepad yang dijalankan sebagai administrator. Ubah seperti code di bawah:

Baris pertama adalah host localhost, mengapa localhost ikut dimasukkan ?, karena bila tidak apache server tidak akan mengenali localhost sebagai salah satu alamat host,localhost juga akan kita masukkan pada file extra httpd-vhosts.conf.

Note: Langkah ini dilakukan agar directory htdocs tetap menjadi salah satu root dengan serverName localhost

Baris selanjutnya adalah alamat dan nama host lain yang ingin kita tambahkan. Kita bisa menambahkan host sebanyak yang kita butuhkan.

Angka 127.0.0.1 maksudnya apa ?

Ini hanya sebuah alamat IP biasa yang digunakan sebagai sambungan ke localhost / host lain, dikarenakan ketika kita mengakses sebuah server atau melakukan permintaan ke sebuah alamat host, OS kita akan melihat file /etc/host untuk mengecek apakah ada aturan yang menyatakan IP 127.0.0.1 melakukan mapping kepada localhost/host lain, ini dilakukan sebelum system membuat permintaan ke DNS (Domain Name System).

Selanjutnya file yang kita edit adalah httpd-vhosts.conf pada alamat C:/apache/conf/extra/httpd-vhosts.conf, ubah codenya menjadi seperti ini:

Virtualhost pertama adalah localhost, di dalam syntax VirtualHost kita memberitahukan beberapa informasi yang dibutuhkan oleh server, diantaranya adalah:

  • ServerAdmin: adalah nama admin dari host yang dibuat.
  • DocumentRoot: adalah alamat root yang akan menjadi target host ketika dijalankan. Ini adalah tempat disimpannya file application.
  • ServerName: adalah nama server dari host, yang akan menjadi nama panggilan host.
  • ErrorLog: adalah alamat file .log yang akan digunakan menulis log error.
Note: *:80 adalah port yang digunakan oleh apache server.

Selanjutnya adalah host application yang kita buat, informasi yang dituliskan dalam syntax kurang lebih sama dengan yang localhost punya, hanya saja terdapat syntax yang di dalamnya memiliki code Require all granted, code dalam syntax ini berfungsi untuk memberi informasi permission yang benar kepada folder yang terdapat pada alamat yang dicantumkan dalam propety .

Note: Versi apache yang lebih tua menggunakan code Allow from all, apache yang digunakan dalam tutorial ini adalah 2.4.

Untuk melakukan test apakah setting virtualhost ini tidak memiliki error, buka command prompt dan tuliskan syntax berikut:

$ httpd -S

Bila menampilkan informasi virtualhost yang kita buat berarti kita sudah memiliki virtualhost dalam server local kita.

Untuk menjalankan semua perubahan sebaiknya kita restart apache server, dengan syntax berikut:

httpd -k restart

Terakhir adalah buat sebuah folder pada alamat C:/projects/namaHostApplication, lalu buat file index dengan code berikut

Simpan dengan nama index.php. Lalu buka browser dan jalankan dengan memengetikan nama server namaHostApplication, bila menampilkan tulisan dalam file index berarti kita berhasil membuat virtualhost.

Bila ada koreksi, masukan atau complain silakan tulis pada comment di bawah.

No comments:

Post a comment