Настройка Virtualhost в Apache 2

Долго думал у чём написать сегодня, и всё же решил осветить такую проблему, как настройка VirtualHost в Apache 2. Лично меня, по началу конфигурация сервера apache 2 немного ввела в ступор. Дело в том, что, вспоминая конфигурационные файлы виртуальных хостов в старом apache, а именно virtual.conf, в apache 2 я и близко такое не нашёл:). Но как говорится: глаза боятся, а руки делают.

Открыл по привычке файл httpd.conf в /etc/apache2, я с удивлением обнаружил, что он пуст. Оглядевшись вокруг, я заметил файл apache2.conf, в нём и были привычные параметры конфигурации апач.

Среди параметров конфигурации я не нашёл привычного подключения файла virtual.conf, но нашёл включении целой директории /etc/apache2/sites-enable/. Не много полазив по папкам всё стало ясно. Дело в том, что, а apache 2 для подключения новых виртуальных хостов используются символический ссылки на файлы которые находятся в директории sites-available. А в этой директории лежат отдельные файлы, для настройки под каждый виртуальный хост. Далее я привожу пример такого файла с подобными пояснениями.

‹VirtualHost *:80› // звёдочка означает что сайт будет доступен с любого интерфейса.
ServerAdmin webmaster@localhost // email адрес администратора сайта
ServerName adm-blog.ru // имя нашего виртуального хоста
ServerAlias www.adm-blog.ru //алиас – используется для того, чтобы сайты был доступен и с www и без

DocumentRoot /home/adm-blog.ru/www/ // директория в которой лежит наш сайт
‹Directory /home/adm-blog.ru/www/› // задаём параметры для директории.
Options None
AllowOverride All // директива говорит апач, читать ли файлы .htaccess
Order allow,deny // устанавливает порядок работы директив Deny и Allow
allow from all // разрешает доступ для всех
‹/Directory›

ErrorLog /home/adm-blog.ru/error.log // путь к файлу лога ошибок

LogLevel warn // уровень ведения лога. В данном случае стоит уровень «предупреждение»

CustomLog /home/adm-blog.ru/access.log combined // путь в файлу логу доступа

‹/VirtualHost›

А теперь давайте с Вами всё обобщим и соберём всё воедино. Для того, чтобы добавить виртуальный домен в apache 2 надо, создать файл, например, с именем adm-blog_ru содержанием как показано выше, и сохранить его в каталоге sites-available. Затем добавить символическую ссылку на него в каталог sites-enable:

ln /etc/apache2/sites-enable/adm-blog_ru /etc/apache2/ sites-enable/

Ну а после просто перезагрузить сервер apache командой:

/etc/init.d/apache2 restart

Как видите, всё гениальное как всегда просто.

Кстати, многие модули Apache могу быть крайне полезны. Например, модуль mod_status, может быть полезен в мониторинге нагрузки на сервер.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.