Apache2

Перед началом настройки необходимо изменить правила обработки .htaccess файлов. Для этого необходимо отредактировать файл /etc/apache2/apache.conf Необходимо найти блок настроек <Directory /var/www> и изменить внутри него значение AllowOverride на значение All (значение после пробела:))

Файлы виртуальных хостов хранятся в отдельных папках:

  • /etc/apache2/sites-available - доступные сайты

  • /etc/apache2/sites-enabled - включенные сайты

Скопируем существующую конфигурацию для хоста по умолчанию - 000-default, отключаем стандартный конфиг и открываем новый конфиг для редактирования:

sudo cp /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/egocms.conf
sudo rm /etc/apache2/sites-enabled/000-default.conf
sudo nano /etc/apache2/sites-enabled/egocms.conf

Далее этот же файл приведем к следующему виду:

<VirtualHost *:80>
    ServerName mydomain.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/egocms/public
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Далее открываем файл /etc/apache2/apache2.conf и ищем этот участок:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

В нем нужно изменить AllowOverride None на AllowOverride All, в итоге должно получиться это:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Далее выключаем возможно включенные модули, которые могут вызвать конфликты:

sudo a2dismod mpm_prefork
sudo a2dismod mpm_event

Устанавливаем необходимые модули и включаем их:

sudo apt install libapache2-mod-php8.0
sudo a2enmod rewrite
sudo a2enmod php8.0

После изменения настроек перезагружаем Apache2:

sudo service apache2 restart

Иногда необходимо поправить владельца:

chown -R www-data:www-data /var/www/egocms

Last updated