Виртуальные хосты в Апаче2

Пришло мне недавно письмо от одного из читателей с просьбой написать о виртуальных хостах в Апаче. Сложного там ничего нет, а потому приведу один из своих конфигов, а после его разберем построчно. Первое, что нужно сделать — это удалить симлинк /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 webmaster@domain.tld

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 -fwebmaster@domain.tld"
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. Это уж разберите сами. Типа домашнее задание. :)

 

Вы можете оставить комментарий, или поставить трэкбек со своего сайта.

17 комментариев(я)

(Обязательно)
(Обязательно, не публикуется)

Яндекс.Метрика beget