Пришло мне недавно письмо от одного из читателей с просьбой написать о виртуальных хостах в Апаче. Сложного там ничего нет, а потому приведу один из своих конфигов, а после его разберем построчно. Первое, что нужно сделать – это удалить симлинк /etc/apache2/sites-enabled/default.
Потом добавляем в httpd.conf строку:
NameVirtualHost *:80
Создаем файл domain.tld.vhost в каталоге /etc/apache2/sites-available с настройками виртуального хоста:
<VirtualHost *:80> DocumentRoot /var/www/domain.tld/web ServerName domain.tld ServerAlias www.domain.tld ServerAdmin [email protected] ErrorLog /var/www/domain.tld/log/error.log <Directory /var/www/domain.tld/web> Options FollowSymLinks AllowOverride Indexes AuthConfig Limit FileInfo Order allow,deny Allow from all </Directory> # mod_php enabled AddType application/x-httpd-php .php .php3 .php4 .php5 php_admin_value sendmail_path "/usr/sbin/sendmail -t -i [email protected]" php_admin_value upload_tmp_dir /var/www/domain.tld/tmp php_admin_value session.save_path /var/www/domain.tld/tmp php_admin_value open_basedir /var/www/domain.tld:/usr/share/php5:/tmp </VirtualHost>
Вот так выглядит конфиг для моего сайта. Дальше делем симлинк:
ln /etc/apache2/sites-available/domain.tld.vhost /etc/apache2/sites-enabled/domain.tld.vhost
Рестартуем Апач и все готово.
Теперь разберем сам конфиг:
- DocumentRoot – корневой каталог сайта
- ServerName – домен сайта
- ServerAlias – второй домен сайта, например, с www
- ServerAdmin – EMail администратора сайта
- ErrorLog – где будет лежать лог-файл ошибок
Дальше идут параметры каталога сайта и тонкие настройки для PHP. Это уж разберите сами. Типа домашнее задание. 🙂