Найти в Дзене

CentOS 8, Apache+PHP+MySQL

Установка Apache в CentOS 8 # dnf -y install httpd
# systemctl enable --now httpd
# netstat -tulnp | grep httpd Создаем директорию для виртуального хоста
# mkdir -p /var/www/mysite.ru/{www,log}
# chown -R apache. /var/www Редактируем конфиг
# nano /etc/httpd/conf/httpd.conf
Снимаем комментарий строчки - IncludeOptional conf.d/*.conf Создаем конфиг для виртуального хоста
# nano /etc/httpd/conf.d/mysite.ru.conf <VirtualHost *:80>
ServerName mysite.ru
ServerAlias www.mysite.ru
DocumentRoot /var/www/mysite.ru/www
ErrorLog /var/www/mysite.ru/log/error.log
CustomLog /var/www/mysite.ru/log/access.log common
<Directory /var/www/mysite.ru/www>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
#php_admin_value date.timezone 'Europe/Moscow'
#php_admin_value max_execution_time 300
#php_admin_value upload_max_filesize 300M
</VirtualHost> Создадим тестовую страничку
# nano /var/www/mysite.ru/www/index.html <h1>ТЕСТ ТЕ
Оглавление

Установка Apache в CentOS 8

# dnf -y install httpd
# systemctl enable --now httpd
# netstat -tulnp | grep httpd

Создаем директорию для виртуального хоста
# mkdir -p /var/www/mysite.ru/{www,log}
# chown -R apache. /var/www

Редактируем конфиг
# nano /etc/httpd/conf/httpd.conf
Снимаем комментарий строчки - IncludeOptional conf.d/*.conf

Создаем конфиг для виртуального хоста
# nano /etc/httpd/conf.d/mysite.ru.conf

<VirtualHost *:80>

ServerName mysite.ru
ServerAlias www.mysite.ru
DocumentRoot /var/www/mysite.ru/www

ErrorLog /var/www/mysite.ru/log/error.log
CustomLog /var/www/mysite.ru/log/access.log common

<Directory /var/www/mysite.ru/www>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

#php_admin_value date.timezone 'Europe/Moscow'
#php_admin_value max_execution_time 300
#php_admin_value upload_max_filesize 300M

</VirtualHost>

Создадим тестовую страничку
# nano /var/www
/mysite.ru/www/index.html

<h1>ТЕСТ ТЕСТОВИЧ</h1>

# chown apache. /var/www/mysite.ru/www/index.html

Установка PHP в CentOS 8

Ставим репозиторий Remi

# dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Выводим список модулей PHP

# dnf module list php

Включаем необходимый модуль для установки

# dnf -y module enable php:remi-7.4

Устанавливаем PHP и дополнительные модули

# dnf -y install php php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip php-imap

Настроим модуль mod_php (Для 7 версии)
# nano /etc/httpd/conf.modules.d/15-php.conf
Закомментируем все строки кроме
LoadModule php7_module modules/libphp7.so

Настроим модуль mpm_prefork
# nano /etc/httpd/conf.modules.d/00-mpm.conf
Приводим к виду:

-2

Проверяем конфиг Apache и перезапускаем
# apachectl -t
# systemctl restart httpd

Создадим проверочную страничку для PHP

# nano /var/www/mysite.ru/www/phpinfo.php

<?php phpinfo(); ?>

# chown apache. /var/www/mysite.ru/www/phpinfo.php

Переходим на наш сайт http://mysite.ru/phpinfo.php
Должна быть страничка с параметрами PHP

Открываем порты
# nano /etc/iptables.sh

$IPT -A INPUT -i $LAN -p tcp --dport 80 -j ACCEPT # http
$IPT -A INPUT -i $LAN -p tcp --dport 443 -j ACCEPT # https

# /etc/iptables.sh

Установка MySQL в CentOS 8

# dnf -y install mariadb mariadb-server

Запускаем mariadb и добавляем в автозагрузку.

# systemctl start mariadb
# systemctl enable mariadb

Запускаем скрипт начальной конфигурации mysql # /usr/bin/mysql_secure_installation

Enter current password for root (enter for none):
Set root password? [Y/n]
Y
New password:
Задаем пароль
Re-enter new password:
Повторим ввод пароля
Remove anonymous users? [Y/n]
Y
Disallow root login remotely? [Y/n]
n
Remove test database and access to it? [Y/n]
Y
Reload privilege tables now? [Y/n]
Y

# systemctl restart mariadb

Установка phpmyadmin

Создадим директорию для нашей админки
# mkdir -p /var/www/pma.mysite.ru/{www,log}

Создаем конфиг для виртуального хоста
# nano /etc/httpd/conf.d/pma.mysite.ru.conf

<VirtualHost *:80>

ServerName pma.mysite.ru
DocumentRoot /var/www
/pma.mysite.ru/www

ErrorLog /var/www
/pma.mysite.ru/log/error.log
CustomLog /var/www
/pma.mysite.ru/log/access.log common

<Directory /var/www
/pma.mysite.ru/www>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

php_admin_value date.timezone 'Europe/Moscow'
php_admin_value max_execution_time 300
php_admin_value upload_max_filesize 300M

</VirtualHost>

# apachectl restart

На сайте https://www.phpmyadmin.net можно скопировать ссылку на последнюю версию phpmyadmin. Загружаем через консоль и распаковываем в директорию виртуального хоста:
# cd ~
# wget
https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip

# unzip phpMyAdmin-5.2.0-all-languages.zip
# cp -R
phpMyAdmin-5.2.0-all-languages/* /var/www/pma.mysite.ru/www
# chown -R apache. /var/www/pma.mysite.ru/www