По давно принятой практике, домены принято хранить в папке пользователя, а не в /var/www как по дефолту предлагает нам апач.
И так, предположим есть у нас пользователь petya и нам нужно настроить виртуальный хост mysite.ru.
В директории /home/petya создаем директорию mysite.ru (в неё будут складываться логи) и поддиректорию www (тут будет лежать сам сайт). Пишем в консоли:
Далее в директории /etc/apache2 есть две папки sites-available и sites-enabled. Логично, что в папке sites-available лежат конфиги всех сайтов, что есть на сервере, а в sites-enabled символические ссылки на конфиги сайтов, что должны быть включены.
Создаем конфиг нашего сайта:sudo touch /etc/apache2/sites-available/mysite.ru
Если мы делаем это на виртуальной машине и у нас включен графический интерфейс (на примере убунты), то набираем в консоли:sudo gedit /etc/apache2/sites-available/mysite.ru
Если у нас удаленный сервер и голая консоль, то:sudo nano /etc/apache2/sites-available/mysite.ru
*В разных дистрибутивах могут быть установлены по дефолту разные текстовые редакторы, если примеры выше не сработали, можно попробовать вместо gedit прописать kate, а вместо nano - vim
В открывшемся текстовом редакторе вводим:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName mysite.ru DocumentRoot /home/petya/mysite.ru/www/ <Directory /home/petya/mysite.ru/www/> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /home/petya/mysite.ru/cgi-bin/ <Directory "/home/petya/mysite.ru/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn </VirtualHost>
Добавляем ссылку на этот конфиг в папку sites-enabled:sudo ln -s /etc/apache2/sites-available/mysite.ru /etc/apache2/sites-enabled/mysite.ru
Добавляем информацию о нашем сайте в файл hosts:sudo gedit /etc/hosts
*или sudo nano /etc/hosts если нет графического интерфейса
дописываем в конце строчку:127.0.0.1 mysite.ru
если настраиваем сервер на виртуалке
Если настраиваем на рабочем серваке, то вместо 127.0.0.1 прописываем айпишник сервака.
Теперь осталось перезапустить апач:sudo /etc/init.d/apache2 restart
Все! Если вы настраивали виртуальную машину и хотите чтобы сайт был доступен в браузере основной системы, для этого в файле hosts прописываем айпишник нашей виртуалки и имя сайта, например так:192.168.1.13 mysite.ru
В Windows этот файл можно найти по адресу c:\Windows\System32\drivers\etc\hosts