Итак, что у нас есть? Есть 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Примечание для новичков: имена директорий и названия хостов могут быть разными.