Виртуальные хосты Apache
Добавил пользователя apache в группу каждого сайта:
usermod -a -G site apache
Сделал каталоги под конфигурационные файлы виртуальных хостов Apache:
mkdir /etc/httpd/sites-created
mkdir /etc/httpd/sites-enabled
Создал конфигурационный файл под каждый сайт, отредактировал и сохранил:
touch /etc/httpd/sites-created/site.conf
nano /etc/httpd/sites-created/site.conf
Содержимое конфигурационных файлов - site.conf
<VirtualHost *:80>
</VirtualHost>
Внутри каждого блока VirtualHost находятся настройки под конкретный сайт.
Основное доменное имя:
ServerName site
Возможный псевдоним домена:
ServerAlias www.site
Каталог где находятся файлы сайта:
DocumentRoot /serves/site/www
Переопределил индексный файл по умолчанию:
DirectoryIndex index.php
Ошибки связанные с работой сервера:
ErrorLog /serves/site/logs/error.log
Ошибки связанные с запросами к серверу:
CustomLog /serves/site/www/requests.log combined
Получается:
<VirtualHost *:80>
ServerName site
ServerAlias www.site
DocumentRoot /serves/site/www
DirectoryIndex index.php
ErrorLog /serves/site/logs/error.log
CustomLog /serves/site/www/requests.log combined
</VirtualHost>
Поставил символические ссылки под каждый сайт:
ln -s /etc/httpd/sites-created/site.conf /etc/httpd/sites-enabled/site.conf
Добавил строки в httpd.conf, если уже есть заменить:
nano /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
DocumentRoot "/serves"
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
ErrorLog "logs/error_log"
<IfModule mime_module>
TypesConfig /etc/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
DefaultLanguage ru
AddDefaultCharset utf-8
EnableSendfile on
IncludeOptional sites-enabled/*.conf
Apache при старте будет подхватывать *.conf виртуальных хостов по указанному пути:
IncludeOptional sites-enabled/*.conf
Не забудьте создать в корне каждого сайта index.php и перезапустить сервер Apache:
systemctl restart httpd
А если у вас 403 ошибка - проверьте права на каталоги или проверьте эти сроки:
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "/serves"
<Directory "/serves">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
Таким образом на сервере Apache отдаются файлы конкретного сайта.
_____________
Принимаю заказы, писать в ЛС