Добавление виртуальных хостов в Apache
По умолчанию после установки Apache создается виртуальный хост с именем localhost. Я расскажу как добавлять новые виртуальные хосты в Apache.
Я создам виртуальный хост с именем myhost (вместо myhost вы можете выбрать любое имя, которое вам захочется).
Сначала нужно создать каталог, в котором будут находиться файлы будущего сайта. Создайте в своем домашнем каталоге директорию myhost. Чтобы это сделать можно выполнить команду:
mkdir ~/myhost
Директорию можно создавать где угодно, я для простоты создал ее в корне своей домашней директории yuriy.
Создаем конфигурационный файл хоста
В каталоге /etc/apache2/sites-available хранятся конфигурационные файлы виртуальных хостов Apache. По умолчанию там хранится файл default, который соответствует хосту localhost. Мы возьмем за основу файл default и скопируем его в файл с именем myhost. Для этого выполните следующие команды:
cd /etc/apache2/sites-available sudo cp default myhost
Теперь отредактируем файл myhost. Откройте его в редакторе (например, в редакторе Gedit), выполнив команду:
sudo gedit myhost
Внесите в файл соответствующие изменения. В частности пропишите путь до директории, в которой будут храниться файлы хоста. В нашем случае это путь /home/yuriy/myhost, где yuriy вы должны заменить на название вашей домашней директории. Путь нужно прописать в двух местах: у параметра DocumentRoot и в заголовке секции <Directory /home/yuriy/myhost>. В самом начале файла (на второй строке) обязательно пропишите строку «ServerName myhost». Вот пример того, как должен выглядеть ваш файл myhost:
<VirtualHost *:80> ServerName myhost ServerAdmin webmaster@localhost DocumentRoot /home/yuriy/myhost <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/yuriy/myhost> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/error.log LogLevel debug CustomLog /var/log/apache2/access.log combined </VirtualHost>
Теперь нам нужно сделать наш хост активным. Apache использует каталог /etc/apache2/sites-enabled для определения хостов, которые нужно включить. Создадим символьную ссылку в каталоге sites-enabled, указывающую на наш файл myhost. Для этого выполните команды:
cd ../sites-enabled sudo ln -s ../sites-available/myhost myhost
Перезапускаем Apache
Перезапустите Apache, выполнив команду:
sudo /etc/init.d/apache2 restart
Редактируем /etc/hosts
Осталось отредактировать файл /etc/hosts. В нем прописывается соответствие IP адреса имени хоста. То есть это своего рода локальный DNS. Чтобы открыть файл, выполните следующую команду:
sudo gedit /etc/hosts
В файле после адреса 127.0.0.1 допишите название своего виртуального хоста. В моем случае это myhost.
127.0.0.1 localhost myhost