VirtualHost Apache

Attention: open in a new window. PDFPrintE-mail

 

 

Apache dapat menjalankan banyak situs sekaligus. Misalkan www.myhost.com, www.yourhost.net, www.fgsas.org, semua situs ini dapat dijalankan dengan fasilitas virtual host.

Untuk bagian ini, virtual host dijalankan dengan share IP Address. Jadi sebuah IP Address dapat menjalankan banyak situs sekaligus. Untuk vitual host berbasis IP, lihat bagian HostBaseIP

Untuk Slackware 11

    • #NameVirtualHost *:80

      (Hilangkan tanda # sehingga menjadi dibawah ini)

      NameVirtualHost *:80


      ServerAdmin This e-mail address is being protected from spambots. You need JavaScript enabled to view it
      DocumentRoot /home/mic/public_html
      ServerName xdevel.net
      ErrorLog logs/xdevel.net-error_log

      DocumentRoot /home/mic/joomla
      ServerName joomla.xdevel.net

      DocumentRoot /var/www/htdocs
      ServerName apache.xdevel.net
  • Edit file httpd.conf yang terletak di /etc/apache/httpd.conf

    Aktfikan VirtualHost :

    Mengatur Direktive : Misalkan saya punya 3 situs sekaligus :)

    Situs Utama saya :

    Situs Eksperimen :

    Situs belajar apache :

Untuk Slackware 12


    • # Virtual hosts
      #Include /etc/httpd/extra/httpd-vhosts.conf
      hilangkan tanda "#" pada #Include /etc/httpd/extra/httpd-vhosts.conf, sehingga menjadi :

      Include /etc/httpd/extra/httpd-vhosts.conf
      Direktif minimal :)


      DocumentRoot /var/www/htdocs
      ServerName situsgue.com


      Direktif lengkap :


      ServerAdmin This e-mail address is being protected from spambots. You need JavaScript enabled to view it
      DocumentRoot /var/www/htdocs
      ServerName domain.com
      ErrorLog /var/log/httpd/situsgue.com-error_log
      CustomLog/var/log/httpd/situsgue.com-access_log

      #apachectl -k restart
  • Edit file httpd.conf yang terletak di /etc/httpd/httpd.conf
    Aktifkan Virtual Host, cari pada bagian :

    Jangan lupa untuk menambahkan direktive dari file web anda, ini sebagai contoh dari virtual host :
    (file ini terletak di /etc/httpd/extra/httpd-vhosts.conf )

    Jangan lupa untuk simpan hasil konfigurasi, lalu restart service apache anda dengan menjalankan :

    Lakukan testing pada browser anda dengan mengetikkan alamat http://situsgue.com, nah muncul "IT WORKS" :)
    Selamat virtual host anda sudah berjalan.

----------
User direktory / public_html
----------

    • Jadi untuk user Michael punya folder website

      /home/michael/public_html

      Untuk user Harry p :

      /home/harry/public_html

      Untuk user Yulius :

      /home/yulius/public_html

      Untuk user Lenny :

      /home/lenny/public_html

      Begitu seterusnya.

  • Jika server Anda terdiri dari puluhan sampai ratusan user dengan homepagenya masing2, maka cara paling praktis meletakkan homepage pada alamat home direktorinya masing2.

    Misalkan 6 user bernama Michael, Harry, Yulius, Lenny, Eko, dan Indra.

    Karena tiap user punya home direktorynya masing2, maka buat konvensi untuk meletakkan index.html atau index.php di /home/user/public_html

Untuk Slackware 12

    • /etc/httpd/extra/httpd-userdir.conf

      # User home directories
      #Include /etc/httpd/extra/httpd-userdir.conf
      hilangkan tanda "#" pada #Include /etc/httpd/extra/httpd-userdir.conf, sehingga menjadi :

      Include /etc/httpd/extra/httpd-userdir.conf
  • Konfigurasi terdapat di :

    Untuk mengaktifkan user directory anda edit di httpd.conf dan cari bagian :

    Jangan lupa untuk menyimpan hasil perubahan ini, lalu restart service apache anda.
    Lakukan testing pada browser anda dengan mengetikkan alamat http://domainanda.com/~useranda, nah kalo ada muncul "Parent Directory", maka anda telah berhasil.
    Selamat sekarang tiap user anda dapat mempunyai homepage sendiri.

    userdir dapat jalan tanpa mengaktifkan virtualhost. Btw, jika menggunakan virtualhost userdir Anda juga tetap jalan :)

    Oh ya ! Jika Anda pengguna Slackware 11, user-dir langsung aktif.

Catatan Slacker :

Catatan 1 :

    Jika Anda mengaktifkan VirtualHost, maka pengaturan direktory situs utama (pada contoh awal tanpa virtualhost) akan diabaikan. Jadi letakkan situs utama Anda pada direktive virtualhost.

Catatan 2 :

    • # For loopbacking.
      127.0.0.1 localhost
      # Ini yang ditambahkan.
      192.168.1.111 xdevel.net xdevel
      192.168.1.111 joomla.xdevel.net joomla
      192.168.1.111 apache.xdevel.net apache

      # End of hosts.
      Penambahan di /etc/hosts sangat vital jika Anda menjalankan server juga di jaringan internal. Jika tidak, maka komputer lain dalam jaringan akan mengakses webserver Anda dengan IP address.

      Definisikan juga resolve domain (local) Anda di komputer client. Sehingga komputer client dapat mengakses webserver dengan nama domain lokal Anda.
      Dalam kasus ini, resolve nama cukup di /etc/hosts. Kecuali Anda mempunyai banyak server yang perlu diresolve lewat dns server.

      /etc/hosts tidak mutlak dperlukan oleh webserver untuk domain yang dijalankan sebagai virtualhost jika Anda mendeploy sebuah server didata center. (Anda dapat menggunakan dns pihak ISP atau pihak luar)Kecuali Anda ingin membangun dns server sendiri. (dalam kasus ini Anda membuka perusahaan hosting misalnya :)

  • Edit file /etc/host Anda dan tambahkan virtualHost.

Catatan 3 :

    Anda dapat membuat folder public_html otomatis setiap penambahan user baru dengan meletakkan prototip folder public_html pada /etc/skel

    Contoh :

    Saya membuat folder public_html pada
    /etc/skel/public_html
    Maka setiap melakukan #adduser folder public_html akan ditambahkan otomatis. (Plus file tambahan lain bila perlu :)

    Tentu tidak harus bernama public_html kalau tidak suka :), bisa www atau yang lain.

catatan 4:

    Anda tidak perlu membuat directive virtual host jika Anda menggunakan model public_html berbasis home direktory.

    Sehingga alamat tiap user menjadi

    http://domainAnda.com/~user

    misal saya mempunyai domain http://xdevel.net maka untuk user Michael punya alamat :

    http://xdevel.net/~michael

    Sedang untuk user Lenny punya alamat :

    http://xdevel.net/~lenny

    Begitu seterusnya.