Установка Midnight Commander для удобства
sudo dnf install mc
Установка Apache:
sudo dnf install httpd
Установка модуля SSL:
sudo dnf install mod_ssl
Установка MPM-ITK пакета для Centos 8:
subo dnf install https://disweb.ru/files/rpm/httpd-itk-2.4.7.04-31.el8.x86_64.rpm
Установка MPM-ITK пакета для Centos 9:
sudo dnf install https://pkgs.sysadmins.ws/el9/modular/x86_64/httpd/httpd-itk-2.4.7.04-31.el9.x86_64.rpm
Редактируем /etc/sysconfig/httpd и добавляем:
HTTPD=/usr/sbin/httpd.itk
Открыть файл /etc/httpd/conf.modules.d/00-mpm.conf и раскоментировать:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
и закомментировать:
LoadModule mpm_event_module modules/mod_mpm_event.so
Открыть файл /etc/httpd/conf.modules.d/01-mpm-itk.conf и раскоментировать:
<IfModule mpm_prefork_module>
LoadModule mpm_itk_module modules/mod_mpm_itk.so
</IfModule>
Открыть на редактирование /etc/httpd/conf/httpd.conf и добавить:
<IfModule itk.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
StartServers — устанавливает число дочерних процессов сервера при запуске;
MinSpareServers — задает минимальное число свободных процессов;
MaxSpareServers — устанавливает после скольки процессов лишние будут завершаться.;
ServerLimit — верхний предел установленного количества процессов;
MaxClients — максимальное количество соединений, которые будут обрабатываться одновременно;
MaxRequestsPerChild — лимит запросов дочернего процесса. После превышения процесс умирает.
Открыть файл /etc/httpd/conf.d/mod_deflate.conf и добавить (Включение сжатия):
<filesMatch "\.(js|html|css|svg)$">
SetOutputFilter DEFLATE
</filesMatch>
AddOutputFilterByType DEFLATE text/html application/xhtml+xml text/plain text/xml text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
Открыть порты 80 и 433:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
Создаем виртуальный хост в папке /etc/httpd/conf.d
mcedit /etc/httpd/conf.d/имя_вашего_домена.ru.conf
Добавляем в него запись:
<VirtualHost *:80>
ServerName site.ru
ServerAlias www.site.ru
AssignUserID user user
DocumentRoot /home/site.ru/www/
ScriptAlias /cgi-bin/ "/home/site.ru/www/cgi-bin/"
ErrorLog /home/site.ru/log/errors
CustomLog /home/site.ru/log/access combined
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
AddType application/x-httpd-php-source .phps
<Directory "/home/site.ru/www/">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
VirtualHost — на любом интерфейсе с 80 портом, если у вас используется защищенное соединение то указываете 443 порт
AssignUserID — укажите пользователя от которого будет работать Apache с данным сайтом
При включеном SELinux установить файлам chcon:
chcon -R unconfined_u:object_r:httpd_sys_content_t:s0 .
Добавить апач в автозагрузку и запустить:
systemctl enable httpd.service
systemctl start httpd.service
Установка репозитория EPEL:
dnf install epel-release
Установка репозитория REMI:
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Указать версию PHP для установки:
yum module enable php:remi-7.4
Для PHP 7.3 необходим пакет libedit-devel:
dnf --enablerepo=PowerTools install libedit-devel
Установка PHP:
dnf install php php-gd php-mbstring php-mysql php-pdo php-xml php-process php-mcrypt php-pear php-opcache php-ldap php-intl php-soap php-imap php-devel php-bcmath php-pecl-zip
Открыть файл /etc/php.ini и привети параметры к данным:
date.timezone = "Europe/Moscow"
short_open_tag = On
upload_max_filesize = 128M // Максимальный размер загружаемого файла
post_max_size = 128M // Максимальный размер POST
max_input_vars = 1000000
session.gc_maxlifetime = 86400
memory_limit = // ОЗУ
Открыть файл /etc/httpd/conf.modules.d/10-php.conf и привести к такому виду:
<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</IfModule>
<IfModule !prefork.c>
LoadModule php7_module modules/libphp7-zts.so
</IfModule>
Перезапускаем вебсервер:
systemctl start httpd.service