Настройка виртуальных хостов в Apache на Ubuntu Linux 7.10

Итак, что у нас есть? Есть Ubuntu Linux а также свежеустановленный Apache, MySQL, PHP. Тестировать свои сайты мы можем по адресу http://localhost. Но что делать, если нам надо несколько отдельных хостов. В сервере Apache есть возможность обслуживать несколько виртуальных хостов на одной машине. Рассмотрим это чуть подробнее...

В результате нижеприведенных действий мы получим кроме хоста localhost еще и localhost1 и localhost2.

Первым делом в домашнем катологе (у меня /home/roman) создадим два каталога для новых виртуальных хостов:

cd ~
mkdir localhost1
mkdir localhost2

Примечание: каталоги виртуальных хостов вы можете создавать в любом месте, все зависит от вашего желания.

Дальше редактируем файл /etc/apache2/sites-available/default:

gksudo gedit /etc/apache2/sites-available/default

В нем есть определение хоста localhost:

Добавим в конец файла следующие строки:

<VirtualHost *>
ServerName localhost1
DocumentRoot /home/roman/www/localhost1
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/roman/www/localhost1>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *>
ServerName localhost2
DocumentRoot /home/roman/www/localhost2
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/roman/www/localhost2>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Сохраним файл.

Перезапустим Apache2

sudo /etc/init.d/apache2 restart

В файле /etc/hosts ищем строку наподобие:

127.0.0.1 localhost tuzn

добавляем имена новых хостов. Получаем что-то вроде:

127.0.0.1 localhost tuzn localhost1 localhost2

Все готово. Доступ к новым хостам: http://localhost1 и http://localhost2

Примечание для новичков: имена директорий и названия хостов могут быть разными.