Настройка виртуальных хостов в apache
Создание хоста test
1. Для начала создадим директорию, в которой у нас будут храниться файлы нашего хоста. В моем случае это /home/user/sites/test Внутри папки test нужно создать еще две: log и www. Самое важное – вторая из них. В ней будут храниться все файлы вашего сайта, например. Теперь возьмем файл info.php, который мы создавали в прошлом посте (информационный файл о php). Можно взять любой другой, главное, чтобы он что-то содержал такое, что может отобразить браузер. Помещаем его в папку www.
2. Открываем root-терминал. Приступаем к конфигурации нашего хоста test. Вводим команду:
cd /etc/apache2/sites-available
Так мы переходим в папку /etc/apache2/sites-available, которая cодержит файлы конфигурации виртуальных хостов.Здесь лежить файл default, который является конфигурационным файлом хоста по-умолчанию. Нам нужно сделать его копию. Для этого в терминале вводим команду:
sudo cp default test
Мы задаем ему название нашего хоста test. Теперь, когда конфигурация нашего хоста создана, нужно ее отредактировать. Вводим команду:
sudo gedit test
В открывшемся окне надо произвести некоторые изменения: NameVirtualHost указываем test, VirtualHost также пишем test, DocumentRoot пишем путь к нашей папке, которую создавали раньше -в моем случае, как вы помните, это home/user/sites/test. Этот же путь добавляем в Directory. То есть, по большому счету ваш файл test должен будет выглядеть примерно так:
NameVirtualHost test<VirtualHost test>ServerAdmin webmaster@testDocumentRoot /home/user/sites/test/www<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/user/sites/test/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</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>
Как вы поняли, надо заменить некоторые строки на свои значения.
3. Теперь нужно создать ссылку на ваш хост в папке /etc/apache2/sites-enabled Для этого в терминале ведите следующую команду:
cd ../sites-enabled
sudo ln -s /etc/apache2/sites-available/test 001-test
Ссылка создана.
4. Теперь нужно добавитьнаш хост в файл Ubuntu, где эти самые хосты хранятся. Для этого в терминале введите команду:
sudo gedit /etc/hosts
и добавьте в открывшемся файле строку «127.0.0.2 test», сохраните и закройте.
5. Перезапустите Apache2 командой:
sudo /etc/init.d/apache2 restart
Если возникнут проблемы и apache будет выдавать ошибку, сделайте так : добавьте в файл /etc/apache2/httpd.conf (он по умолчанию пустой в этой сборке) строку:
ServerName <localhost>
Вот собственно и все.
Ну а если при попытке открыть php-файл браузер предлагает его сохранить, то добавьте в конфиг апача, либо создайте в корне сайта файл .htaccess и добавьте в него строку