Установка серверов · 7 min read · Nov 25, 2025
Как установить Apache, PHP 7.3 и MySQL на CentOS 7.6

Этот учебник показывает, как установить веб-сервер Apache на сервере CentOS 7 с PHP (mod_php) и базой данных MySQL. Аббревиатура LAMP означает L inux, A pache, M ySQL, P HP.
Этот обновленный учебник показывает установку последних версий PHP (7.0, 7.1, 7.2 и 7.3) на CentOS 7.6.
1 Предварительная заметка
В этом учебнике я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти настройки могут отличаться у вас, поэтому вам нужно заменить их, где это необходимо.
Я добавлю репозиторий EPEL здесь, чтобы установить последнюю версию phpMyAdmin следующим образом:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-releaseЧтобы редактировать файлы в оболочке, я установлю редактор nano. Если вы предпочитаете vi для редактирования файлов, пропустите этот шаг.
yum -y install nano2 Установка MySQL / MariaDB
MariaDB является ответвлением MySQL от оригинального разработчика MySQL Монти Уидениуса. MariaDB совместима с MySQL, и я выбрал использовать MariaDB здесь вместо MySQL. Выполните эту команду для установки MariaDB с помощью yum:
yum -y install mariadb-server mariadbЗатем мы создаем системные ссылки для автозапуска MySQL (чтобы MySQL запускался автоматически при загрузке системы) и запускаем сервер MySQL:
systemctl start mariadb.service
systemctl enable mariadb.serviceУстановите пароли для учетной записи root MySQL:
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): <--ENTER
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n]
New password: <--yourmariadbpassword
Re-enter new password: <--yourmariadbpassword
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <--ENTER
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <--ENTER
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <--ENTER
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <--ENTER
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
[root@server1 ~]#3 Установка Apache
CentOS 7 поставляется с Apache 2.4. Apache доступен напрямую как пакет CentOS 7, поэтому мы можем установить его следующим образом:
yum -y install httpdВот скриншот процесса установки.

Теперь настройте вашу систему для автоматического запуска Apache при загрузке…
systemctl start httpd.servicesystemctl enable httpd.serviceЧтобы иметь возможность получить доступ к веб-серверу снаружи, нам нужно открыть порты HTTP (80) и HTTPS (443) в брандмауэре. По умолчанию брандмауэр на CentOS - это firewalld, который можно настроить с помощью команды firewalld-cmd.
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reloadТеперь направьте ваш браузер на IP-адрес вашего сервера, в моем случае http://192.168.0.100, и вы должны увидеть страницу-заглушку Apache:

4 Установка PHP
Версия PHP, которая поставляется с CentOS по умолчанию, довольно старая (PHP 5.4). Поэтому я покажу вам в этой главе несколько вариантов установки более новых версий PHP, таких как PHP 7.0 до 7.3 из репозитория Remi.
Добавьте репозиторий Remi CentOS.
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpmУстановите yum-utils, так как нам нужна утилита yum-config-manager.
yum -y install yum-utilsи выполните обновление yum
yum updateТеперь вам нужно выбрать, какую версию PHP вы хотите использовать на сервере. Если вы хотите использовать PHP 5.4, тогда переходите к главе 4.1. Чтобы установить PHP 7.0, следуйте командам в главе 4.2, для PHP 7.1 глава 4.3, для PHP 7.4 используйте главу 4.4, а для PHP 7.3 следуйте главе 4.5. Следуйте только одной из глав 4.x, а не всем, так как вы можете использовать только одну версию PHP одновременно с Apache mod_php.
4.1 Установка PHP 5.4
Чтобы установить PHP 5.4, выполните эту команду:
yum -y install php4.2 Установка PHP 7.0
Мы можем установить PHP 7.0 и модуль Apache PHP 7.0 следующим образом:
yum-config-manager --enable remi-php70yum -y install php php-opcache4.3 Установка PHP 7.1
Если вы хотите использовать PHP 7.1, используйте:
yum-config-manager --enable remi-php71yum -y install php php-opcache4.4 Установка PHP 7.2
Если вы хотите использовать PHP 7.2, используйте:
yum-config-manager --enable remi-php72yum -y install php php-opcache4.5 Установка PHP 7.3
Если вы хотите использовать PHP 7.3, используйте:
yum-config-manager --enable remi-php73yum -y install php php-opcacheВ этом примере и в загружаемой виртуальной машине я буду использовать PHP 7.3.
Мы должны перезапустить Apache, чтобы применить изменения:
systemctl restart httpd.service5 Тестирование PHP / Получение информации о вашей установке PHP
Корневая директория по умолчанию для веб-сайта - /var/www/html. Мы создадим небольшой PHP файл (info.php) в этой директории и вызовем его в браузере, чтобы протестировать установку PHP. Файл отобразит множество полезных деталей о нашей установке PHP, таких как установленная версия PHP.
nano /var/www/html/info.phpТеперь мы вызываем этот файл в браузере (например, http://192.168.0.100/info.php):

Как вы видите, PHP 7.3 работает, и он работает через обработчик Apache 2.0, как показано в строке Server API. Если вы прокрутите вниз, вы увидите все модули, которые уже включены в PHP. MySQL там не указан, что означает, что у нас еще нет поддержки MySQL в PHP.
6 Получение поддержки MySQL в PHP
Чтобы получить поддержку MySQL в PHP, мы можем установить пакет php-mysqlnd. Это хорошая идея установить некоторые другие модули PHP, так как они могут понадобиться для ваших приложений. Вы можете искать доступные модули PHP5 вот так:
yum search phpВыберите те, которые вам нужны, и установите их следующим образом:
yum -y install php-mysqlnd php-pdoНа следующем этапе я установлю несколько общих модулей PHP, которые требуются системам CMS, таким как Wordpress, Joomla и Drupal:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-develТеперь перезапустите веб-сервер Apache:
systemctl restart httpd.serviceТеперь обновите http://192.168.0.100/info.php в вашем браузере и снова прокрутите вниз до раздела модулей. Теперь вы должны увидеть множество новых модулей, таких как curl и т.д.:

Если вам больше не нужен вывод информации о PHP, удалите этот файл по соображениям безопасности.
rm /var/www/html/info.php7 Установка phpMyAdmin
phpMyAdmin - это веб-интерфейс, через который вы можете управлять своими базами данных MySQL.
phpMyAdmin теперь можно установить следующим образом:
yum -y install phpMyAdminТеперь мы настраиваем phpMyAdmin. Мы изменяем конфигурацию Apache, чтобы phpMyAdmin разрешал подключения не только с localhost (закомментировав блок
nano /etc/httpd/conf.d/phpMyAdmin.conf[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
AddDefaultCharset UTF-8
# Apache 2.4
#
# Require ip 127.0.0.1
# Require ip ::1
#
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Options none
AllowOverride Limit
Require all granted
[...] Перезапустите Apache, чтобы применить изменения в конфигурации:
systemctl restart httpd.serviceПосле этого вы можете получить доступ к phpMyAdmin по адресу http://192.168.0.100/phpmyadmin/:


8 Загрузка в виде виртуальной машины
Эта настройка доступна для загрузки в виде виртуальной машины в формате ova/ovf (совместимом с VMWare и Virtualbox) для подписчиков howtoforge.
Данные для входа в виртуальную машину
- Пароль root для Linux: howtoforge.
- Пароль root для MySQL: howtoforge
Пожалуйста, измените оба пароля при первом входе.
- IP-адрес виртуальной машины: 192.168.0.100
9 Ссылки
Apache: http://httpd.apache.org/
PHP: http://www.php.net/
MySQL: http://www.mysql.com/
CentOS: http://www.centos.org/
phpMyAdmin: http://www.phpmyadmin.net/
Get new posts in your inbox
No spam. Unsubscribe anytime.