Apache - настройка виртуальных хостов в Ubuntu

13/12/2022

Настройка пользователя, от которого работает apache:

файл - /etc/apache2/envvars


export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

если задать имя пользователя - то apache будет работать от этого пользователя

Конфигурационный файл для каждого сайта в Ubuntu должен быть свой. Хранятся они в директории /etc/apache2/sites-available.

Содержимое файла test-template описывает правила работы Apache с одним конкретным сайтов (для примера возмем сайт testhost):


<VirtualHost *:80>
ServerName testhost
ServerAlias www.testhost
ServerAdmin webmaster@example.com


DocumentRoot /home/olga/sites/testhost/www
<Directory /home/olga/sites/test/www>

Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /home/user/sites/testhost/logs/error.log
LogLevel warn
ServerSignature On

</VirtualHost>

Подключение файла конфигурации для хоста testhost:

a2ensite testhost

При выполнении этой компанды создается ссылка на файл конфигурации

Отключение хоста производится командой:

a2dissite testhost

В файл /etc/hosts нужно добавить созданный виртуальный хост:

127.0.0.1 testhost

Перезапустить Apache командой для применения новой конфигурации

/etc/init.d/apache2 restart

После перезапуска Apache в каталоге /home/user/sites/testhost/logs/ создастся файл лога ошибок error.log. Владельцем данного файла будет являться root. Для того чтобы этот файл мог просматривать пользователь user нужно выполнить команду :

sudo chmod -R 774 /home/user/sites/testhost/logs/error.log

Теперь, при открытии в браузере http://testhost - будет открываться индексный файл в нужном каталоге

Подключение модулей в Apache производится командой a2enmod

Чтобы подключить модуль mod_rewrite нужно выполнить:

a2enmod rewrite

Теги - Linux , Ubuntu