Установка серверов · 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 nano

2 Установка 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 на CentOS

Теперь настройте вашу систему для автоматического запуска Apache при загрузке…

systemctl start httpd.service
systemctl 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:

Страница по умолчанию Apache на CentOS

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 php

4.2 Установка PHP 7.0

Мы можем установить PHP 7.0 и модуль Apache PHP 7.0 следующим образом:

yum-config-manager --enable remi-php70
yum -y install php php-opcache

4.3 Установка PHP 7.1

Если вы хотите использовать PHP 7.1, используйте:

yum-config-manager --enable remi-php71
yum -y install php php-opcache

4.4 Установка PHP 7.2

Если вы хотите использовать PHP 7.2, используйте:

yum-config-manager --enable remi-php72
yum -y install php php-opcache

4.5 Установка PHP 7.3

Если вы хотите использовать PHP 7.3, используйте:

yum-config-manager --enable remi-php73
yum -y install php php-opcache

В этом примере и в загружаемой виртуальной машине я буду использовать PHP 7.3.

Мы должны перезапустить Apache, чтобы применить изменения:

systemctl restart httpd.service

5 Тестирование 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

Как вы видите, 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 теперь имеет включенную поддержку MySQL

Если вам больше не нужен вывод информации о PHP, удалите этот файл по соображениям безопасности.

rm /var/www/html/info.php

7 Установка phpMyAdmin

phpMyAdmin - это веб-интерфейс, через который вы можете управлять своими базами данных MySQL.
phpMyAdmin теперь можно установить следующим образом:

yum -y install phpMyAdmin

Теперь мы настраиваем phpMyAdmin. Мы изменяем конфигурацию Apache, чтобы phpMyAdmin разрешал подключения не только с localhost (закомментировав блок и добавив строку ‘Require all granted’):

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/:

Вход в PHPMyAdmin

PHPMyAdmin на CentOS

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/

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.