Установка LAMP · 7 min read · Dec 06, 2025
Как установить Apache, PHP 7.2 и MySQL на CentOS 7.4 (LAMP)
Этот учебник показывает, как установить веб-сервер Apache на сервере CentOS 7 с PHP (mod_php) и базой данных MySQL. Аббревиатура LAMP расшифровывается как L инукс, A pache, M ySQL, P HP.
Этот обновленный учебник показывает установку последних версий PHP (7.0, 7.1 и 7.2) на CentOS 7.4.
1 Предварительная заметка
В этом учебнике я использую имя хоста server1.example.com с IP-адресом 192.168.1.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: РЕКОМЕНДУЕТСЯ ЗАПУСКАТЬ ВСЕ ЧАСТИ ЭТОГО СКРИПТА ДЛЯ ВСЕХ СЕРВЕРОВ MariaDB В ПРОИЗВОДСТВЕННОМ ИСПОЛЬЗОВАНИИ! Пожалуйста, внимательно прочитайте каждый шаг!
Чтобы войти в MariaDB и обеспечить ее безопасность, нам понадобится текущий
пароль для пользователя root. Если вы только что установили MariaDB и
еще не установили пароль root, пароль будет пустым,
поэтому вам просто нужно нажать Enter здесь.
Введите текущий пароль для root (нажмите Enter для отсутствия): <--ENTER
OK, пароль успешно использован, продолжаем...
Установка пароля root гарантирует, что никто не сможет войти в учетную запись root MariaDB
без надлежащей авторизации.
Установить пароль root? [Y/n]
Новый пароль: <--yourmariadbpassword
Повторите новый пароль: <--yourmariadbpassword
Пароль успешно обновлен!
Перезагрузка таблиц привилегий..
... Успех!
По умолчанию установка MariaDB имеет анонимного пользователя, позволяя любому
войти в MariaDB без необходимости создания учетной записи пользователя для
них. Это предназначено только для тестирования и для того, чтобы установка
проходила немного легче. Вы должны удалить их перед переходом в
производственную среду.
Удалить анонимных пользователей? [Y/n] <--ENTER
... Успех!
Обычно root должен иметь возможность подключаться только с 'localhost'.
Это гарантирует, что кто-то не сможет угадать пароль root из сети.
Запретить удаленный вход root? [Y/n] <--ENTER
... Успех!
По умолчанию MariaDB поставляется с базой данных с именем 'test', к которой любой может
получить доступ. Это также предназначено только для тестирования и должно быть удалено
перед переходом в производственную среду.
Удалить тестовую базу данных и доступ к ней? [Y/n] <--ENTER
- Удаление тестовой базы данных...
... Успех!
- Удаление привилегий на тестовую базу данных...
... Успех!
Перезагрузка таблиц привилегий гарантирует, что все изменения, сделанные до сих пор,
вступят в силу немедленно.
Перезагрузить таблицы привилегий сейчас? [Y/n] <--ENTER
... Успех!
Очистка...
Все готово! Если вы выполнили все вышеперечисленные шаги, ваша установка MariaDB
теперь должна быть безопасной.
Спасибо за использование MariaDB!
[root@server1 ~]#
## 3 Установка Apache
CentOS 7 поставляется с Apache 2.4. Apache доступен напрямую как пакет CentOS 7, поэтому мы можем установить его следующим образом:
yum -y install httpd
Вот скриншот процесса установки.

Теперь настройте вашу систему для автоматического запуска 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.1.100, и вы должны увидеть страницу-заглушку Apache:

## 4 Установка PHP
Версия PHP, которая поставляется с CentOS по умолчанию, довольно старая (PHP 5.4). Поэтому я покажу вам в этой главе несколько вариантов установки более новых версий PHP, таких как PHP 7.0 или 7.1 из репозитория 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.1 используйте главу 4.4. Следуйте только одной из глав 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
В этом примере и в загружаемой виртуальной машине я буду использовать PHP 7.2.
Мы должны перезапустить 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.1.100/info.php):

Как вы видите, PHP 7.2 работает, и он работает через обработчик 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.1.100/info.php в вашем браузере и прокрутите вниз до раздела модулей снова. Теперь вы должны увидеть множество новых модулей, таких как curl и т.д.:

Если вам больше не нужен вывод информации о 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 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[…]
Далее мы изменяем метод аутентификации в phpMyAdmin с cookie на http:
nano /etc/phpMyAdmin/config.inc.php
[…]
$cfg[‘Servers’][$i][‘auth_type’] = ‘http’; // Метод аутентификации (config, http или cookie)?
[…]
Перезапустите Apache:
systemctl restart httpd.service
После этого вы можете получить доступ к phpMyAdmin по адресу http://192.168.1.100/phpmyadmin/:

## 8 Скачивание в виде виртуальной машины
Эта настройка доступна для загрузки в виде виртуальной машины в формате ova/ovf (совместим с VMWare и Virtualbox) для подписчиков howtoforge.
Данные для входа в виртуальную машину
- Пароль root для Linux: howtoforge.
- Пароль root для MySQL: howtoforge
Пожалуйста, измените оба пароля при первом входе.
- IP-адрес виртуальной машины: 192.168.1.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.