Установка Midnight Commander для удобства
sudo dnf install mc
Установка Apache:
subo dnf install httpd
Установка модуля SSL:
subo 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
Редактируем /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