Установка ПО · 5 min read · Nov 29, 2025
Установка Apache, PHP и MySQL на CentOS 7 (LAMP)
Этот учебник показывает, как установить веб-сервер Apache2 на сервере CentOS 7.0 с поддержкой PHP5 (mod_php) и MySQL. LAMP — это сокращение от L inux, A pache, M ySQL, P HP.
1 Предварительная заметка
В этом учебнике я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти настройки могут отличаться для вас, поэтому вам нужно заменить их там, где это необходимо.
Я добавлю репозиторий EPEL здесь, чтобы установить последнюю версию phpMyAdmin следующим образом:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release2 Установка MySQL / MariaDB
MariaDB — это форк MySQL от оригинального разработчика MySQL Монти Уидениуса. MariaDB совместима с MySQL, и я выбрал использовать MariaDB здесь вместо MySQL. Чтобы установить MySQL, мы устанавливаем MariaDB следующим образом:
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
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
ПРИМЕЧАНИЕ: РЕКОМЕНДУЕТСЯ ЗАПУСКАТЬ ВСЕ ЧАСТИ ЭТОГО СКРИПТА ДЛЯ ВСЕХ СЕРВЕРОВ MariaDB В ПРОИЗВОДСТВЕ! Пожалуйста, внимательно прочитайте каждый шаг!
Чтобы войти в MariaDB и обеспечить его безопасность, нам потребуется текущий
пароль для пользователя root. Если вы только что установили MariaDB и
вы еще не установили пароль root, пароль будет пустым,
поэтому вам просто нужно нажать Enter здесь.
Введите текущий пароль для root (нажмите Enter для отсутствия):
<–ENTER
Хорошо, пароль успешно использован, продолжаем…
Установка пароля root гарантирует, что никто не сможет войти в MariaDB
под учетной записью root без надлежащей авторизации.
Установить пароль 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 Установка Apache2
CentOS 7 поставляется с apache 2.4. Apache2 доступен напрямую как пакет CentOS 7.0, поэтому мы можем установить его следующим образом:
yum -y install httpd[root@server1 ~]# yum install httpd
Загруженные плагины: fastestmirror, langpacks
Загрузка скоростей зеркал из кэшированного файла хоста
base: ftp.plusline.de
extras: mirror.23media.de
updates: mirror.23media.de
Пакет httpd-2.4.6-17.el7.centos.1.x86_64 уже установлен и является последней версией
Ничего не нужно делать
[root@server1 ~]#
По умолчанию apache будет установлен, если нет, то пожалуйста установите его, как показано выше.
Теперь настройте вашу систему для запуска Apache при загрузке…
systemctl start httpd.servicesystemctl enable httpd.serviceВ CentOS 7.0 используется Firewall-cmd, поэтому я настрою его, чтобы разрешить внешний доступ к порту 80 (http) и 443 (https).
firebase-cmd --permanent --zone=public --add-service=http
firebase-cmd --permanent --zone=public --add-service=https
firebase-cmd --reloadТеперь направьте ваш браузер на http://192.168.0.100, и вы должны увидеть страницу-заглушку Apache2:

4 Установка PHP5
Мы можем установить PHP5 и модуль Apache PHP5 следующим образом:
yum -y install phpНам нужно перезапустить Apache после этого:
systemctl restart httpd.service5 Тестирование PHP5 / Получение информации о вашей установке PHP5
Корневая директория по умолчанию для сайта — /var/www/html. Теперь мы создадим небольшой PHP-файл (info.php) в этой директории и вызовем его в браузере. Файл отобразит множество полезных деталей о нашей установке PHP, таких как установленная версия PHP.
vi /var/www/html/info.phpТеперь мы вызываем этот файл в браузере (например, http://192.168.0.100/info.php):

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

7 Установка phpMyAdmin
phpMyAdmin — это веб-интерфейс, через который вы можете управлять своими базами данных MySQL.
phpMyAdmin теперь можно установить следующим образом:
yum install phpMyAdminТеперь мы настраиваем phpMyAdmin. Мы изменяем конфигурацию Apache, чтобы phpMyAdmin разрешал подключения не только с localhost (закомментировав раздел
vi /etc/httpd/conf.d/phpMyAdmin.conf[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
#
#
# # Apache 2.4
#
# Require ip 127.0.0.1
# Require ip ::1
#
#
#
# # 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:
vi /etc/phpMyAdmin/config.inc.php[...]
$cfg['Servers'][$i]['auth_type'] = 'http'; // Метод аутентификации (config, http или cookie)?
[...]Перезапустите Apache:
systemctl restart httpd.serviceПосле этого вы можете получить доступ к phpMyAdmin по адресу http://192.168.0.100/phpmyadmin/:

8 Ссылки
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.