Standar dalam sebuah konfigurasi Apache adalah 1 website yang berada di direktori /var/www. Untuk keperluan pembelajaran (tentu bisa dikembangkan untuk keperluan lebih lanjut), konfigurasi Apache bisa dirubah untuk menjalankan beberapa aplikasi Web secara bersamaan. Salah satu solusinya adalah dengan membuat direktori yang berbeda dengan yang standar, sebagai tempat source/script aplikasi Web yang akan dijalankan oleh Apache. Seperti /var/www/site1 atau /webdev/site1 misalnya.

Untuk kemudahan dalam pembelajaran ini, disarankan membuat web direktori di bawah home/user direktori (Linux/Ubuntu), untuk memudahkan pengeditan script.

Pada contoh ini akan dibuat site dengan URL http://site1/ dan http://site2/ dengan langkah sebagai berikut :

Membuat Web Direktori
Disarankan menggunakan command line di terminal, dengan perintah

cd
mkdir webdev
cd webdev
mkdir site1 site2

Dengan perintah tersebut, sekarang ini sudah terbentuk direktori webdev dengan sub direkori site1 dan site2, di bawah home/user direktori.

Mengaktifkan Website Direktori
Setelah direktori dibuat, langkah selanjutnya mengaktifkan/menautkan direktori tadi ke Konfigurasi Apache, dengan cara :

Pindah ke direktori /etc/apache2/sites-available dengan perintah

cd /etc/apache2/sites-available

Sebagai root copy default (file) konfigurasi menjadi site1 atau site2, sbb :

sudo cp default site1
sudo cp default site1

Selanjutnya edit konfigurasi pada file site1 atau site2 (dengan text editor yg ada, dalam hal ini yg tersedia gedit), dengan perintah :

sudo gedit site1 atau sudo gedit site2

Rubah dan sesuaikan text yang ditebalkan pada script yang tampil, sbb :

ServerAdmin webmaster@localhost
ServerName site1

DocumentRoot /home/yourID/webdev/site1/

Options FollowSymLinks
AllowOverride None

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

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

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

catatan : rubah juga pada file konfigurasi site2 dg cara yg sama.

Setelah disimpan, lakukan pengaktivan dengan perintah :

sudo a2ensite site1 atau sudo a2ensite site2

Setelah enter, muncul pesan untuk reload Apache, tapi sebelumnya jalankan :

sudo gedit /etc/hosts

Lalu tambahkan baris pertama dengan site1 dan site2, seperti berikut :

127.0.0.1 localhost site1 site2

Simpan dan selanjutnya reload Apache dengan perintah :

sudo /etc/init.d/apache2 reload

Untuk mencoba, ketikkan URL http://site1/ atau http://site2/ di address browser.

Tambahan:
Jika muncul error pada saat reload Apache, seperti “apache2: Could not determine the server’s fully qualified domain name, using 127.0.0.1 for localhost,” dapat dilakukan perbaikan dengan perintah :

echo “ServerName localhost” | sudo tee /etc/apache2/conf.d/fqdn

lalu reload Apache, dg perintah :
sudo /etc/init.d/apache2 reload

Sumber : http://tuxtweaks.com/2009/07/how-to-configure-apache-linux/

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 belajar

2. edit file tersebut dan tambahkan konfigurasi Virtual host yang kita kehendaki

leafpad belajar

berikut adalah contoh konfigurasi Virtual Host untuk domain belajar.we.net

===begin file===
NameVirtualHost 212.241.214.21

<VirtualHost belajar.web.net:80>
ServerAdmin cyberbox@telkom.net
DocumentRoot /var/www/html

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

<Directory /var/www/html/>
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/
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

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/”
<Directory “/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
</Directory>

</VirtualHost>
===EOF===

Penjelasan :

1. NameVirtualHost 212.241.214.21 = nama virtual host kita ( masukkan ip anda )
2. <VirtualHost cyberbox.on.web.id:80> = domain dan listening port yang ingin kita gunakan
3. DocumentRoot /var/www/html = document ROOT tempat dimana file-file web kita di akses.
4. Save dan keluar dari text editor.

3. Buat file symbolic di direktori /etc/apache2/sites-enabled yang mengarah ke file /etc/apache2/sites-available/belajar

sudo a2ensite belajar /etc/apache2/sites-available/belajar

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 belajar.web.net belajar” >> /etc/hosts

atau

tambahkan secara manual ke /etc/hosts dengan
leafpad /etc/hosts
tambahkan baris baru dengan

212.241.212.21     belajar.web.net

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://belajar.web.net/

7. Untuk me non-aktifkannya menggunakan command :
sudo a2dissite mysiteavailable-site

Selesai… Anda dapat mendambahkan banyak domain ke dalam server Apache anda.

Diambil dari : http://wances.wordpress.com/

Sumber lain : https://help.ubuntu.com/community/LocalhostSubdomain

1. saya konfig file /etc/apache2/mods-available/userdir.conf. menambahkan :

#UserDir public_html => saya tutup dgn #
#UserDir disabled root => saya tutup dgn #
UserDir mydir => ini yg saya tambah
UserDir enabled user => ini yg saya tambah

#

AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

2. buat user dengan nama user
lemberto@nokturno:~$ sudo useradd user
3. buat folder user di home
lemberto@nokturno:~$ mkdir /home/user
4. buat folder mydir di dlm /home/user
lemberto@nokturno:~$ mkdir /home/user/mydir
5. Rubah hak akses dr direktori user
lemberto@nokturno:~$ chmod 755 /home/user
6. selanjutanya buatlah skrip standar dgn nama index.htm dan disimpan di /home/user/mydir/index.html
7. selanjutnya dicobo, buka web browser ketik http://localhost/~user
8. pada saat saya setting ternyata error page.

dilangkah ke 8 mengalami error saya mulain merunut satu persatu dimana letak kesalahannya, setelah saya yakin dgn konfigurasinya dan menganggap tidak ada yg salah, mulai saya merasa kl ada yg perlu di konfig pada apache2 nya. saya menjelajah oom google dapet satu cara.
9. saya kita harus mengaktifkan modul untuk userdir dlu
lemberto@nokturno:~$ sudo a2enmod userdir
10. nah setelah itu di coba lagi bru berhasil.

reset apache

– sudo /etc/init.d/apache2 restart

atau

– sudo  /etc/init.d/apache2 force-reload

sumber lain : http://www.krisna.web.id/blog/?s=apache