Установка ПО · 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-release

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

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.