Поиск по сайту:

Установите Apache, MySQL 8 или MariaDB 10 и PHP 7 на CentOS 7.


В этом практическом руководстве объясняется, как установить последнюю версию Apache, MySQL 8 или MariaDB 10 и PHP 7 . вместе с необходимыми модулями PHP в RHEL/CentOS 7/6 и Fedora 24–29.

Это сочетание операционной системы (Linux) с веб-сервером (Apache), сервером базы данных (MariaDB/MySQL) и серверными сценариями. язык (PHP) известен как стек LAMP.

Не пропустите: Как установить Nginx 1.15, MariaDB 10 и PHP 7 на CentOS 7

С сентября 2015 года PHP 5.4 больше не поддерживается командой PHP, и срок его эксплуатации подошел к концу, однако PHP 5.4 поставляется с RHEL/CentOS 7. /6 с незначительным изменением версии, и Red Hat поддерживает его, поэтому обновление до более высокой версии не требуется. Однако настоятельно рекомендуется обновить PHP 5.4 до PHP 5.5+ для большей безопасности и производительности.

Вот что поставляется с вашим текущим дистрибутивом Linux:

PHP Current Version RHEL/CentOS 7 RHEL/CentOS 6
7.3 5.4 5.3

Для этого мы включим репозитории EPEL и Remi и будем использовать yum и dnf (новый инструмент управления пакетами, доступный в Fedora).

Шаг 1. Установка EPEL и репозитория Remi

EPEL (Дополнительные пакеты для Enterprise Linux) — это репозиторий сообщества, предлагающий дополнительные пакеты программного обеспечения для дистрибутивов Linux на основе RHEL.

Remi — это репозиторий, в котором можно найти последние версии стека PHP (полнофункциональный) для установки в дистрибутивах Fedora и Enterprise Linux.

На RHEL/CentOS 7

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------ For RHEL 7 Only ------
subscription-manager repos --enable=rhel-7-server-optional-rpms

На RHEL/CentOS 6

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

------ For RHEL 6 Only ------
subscription-manager repos --enable=rhel-6-server-optional-rpms

В Федоре 24-29

rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm  [On Fedora 29]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm  [On Fedora 28]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm  [On Fedora 27]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm  [On Fedora 26]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm  [On Fedora 25]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm  [On Fedora 24]

Шаг 2. Установка веб-сервера Apache

Apache — это бесплатный HTTP-веб-сервер с открытым исходным кодом, который работает в большинстве операционных систем на базе UNIX, а также в Windows. Таким образом, его можно использовать для обслуживания статических веб-страниц и обработки динамического контента. Недавние отчеты показывают, что Apache является сервером номер один, используемым на веб-сайтах и компьютерах с выходом в Интернет.

Чтобы установить веб-сервер Apache, сначала обновите пакеты системного программного обеспечения и установите его, используя следующие команды.

yum -y update
yum install httpd

После установки веб-сервера Apache вы можете включить его автоматический запуск при загрузке системы.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Если вы используете firewalld, обязательно разрешите трафик Apache на брандмауэре.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

Шаг 3. Установка PHP с использованием репозитория Remi

PHP (препроцессор гипертекста) – это бесплатный серверный язык сценариев с открытым исходным кодом, который лучше всего подходит для веб-разработки. Его можно использовать для создания динамических веб-страниц веб-сайта, и он чаще всего встречается на серверах *nix. Одним из преимуществ PHP является то, что его легко расширять за счет использования самых разных модулей.

Чтобы установить PHP, сначала необходимо включить репозиторий Remi, установив yum-utils, набор полезных программ для управления репозиториями и пакетами yum.

yum install yum-utils

После установки вы можете использовать yum-config-manager, предоставляемый yum-utils, чтобы включить репозиторий Remi в качестве репозитория по умолчанию для установки различных версий PHP, как показано.

Например, чтобы установить версию PHP 7.x, используйте следующую команду.

------------- On CentOS & RHEL ------------- 
yum-config-manager --enable remi-php70 && yum install php       [Install PHP 7.0]
yum-config-manager --enable remi-php71 && yum install php       [Install PHP 7.1]
yum-config-manager --enable remi-php72 && yum install php       [Install PHP 7.2]
yum-config-manager --enable remi-php73 && yum install php       [Install PHP 7.3]

------------- On Fedora ------------- 
dnf --enablerepo=remi install php70      [Install PHP 7.0]
dnf --enablerepo=remi install php71      [Install PHP 7.1]
dnf --enablerepo=remi install php72      [Install PHP 7.2]
dnf --enablerepo=remi install php73      [Install PHP 7.3]

Далее мы собираемся установить все следующие модули PHP, описанные в этой статье. Вы можете найти дополнительные модули, связанные с PHP (возможно, для интеграции определенной функциональности, необходимой вашим веб-приложениям), с помощью следующей команды:

------ RHEL/CentOS 7/6------
yum search all php     

------ Fedora ------
dnf search all php   

Независимо от дистрибутива, приведенные выше команды возвращают список пакетов в активных в данный момент репозиториях, которые содержат слово php в имени пакета и/или описании.

Вот пакеты, которые мы установим. Имейте в виду, что соединители MySQL (PHP, Perl, Python, Java и т. д.) будут работать с MariaDB без изменений, поскольку обе системы используют один и тот же клиентский протокол и клиентские библиотеки. двоично совместимы.

  1. MariaDB/MySQL (php-mysql) – динамический общий объект, который добавит поддержку MariaDB в PHP.
  2. PostgreSQL (php-pgsql) – поддержка базы данных PostgreSQL для PHP.
  3. MongoDB (php-pecl-mongo) – интерфейс для связи с базой данных MongoDB на PHP.
  4. Generic (php-pdo) – динамический общий объект, который добавит в PHP уровень абстракции доступа к базе данных.
  5. Memcache (php-pecl-memcache). Memcached — это демон кэширования, разработанный специально для динамических веб-приложений и позволяющий снизить нагрузку на базу данных за счет хранения объектов в памяти.
  6. Memcached (php-pecl-memcached) – расширение, использующее библиотеку libmemcached для предоставления API для связи с серверами memcached.
  7. GD (php-gd) – динамический общий объект, который добавляет поддержку использования графической библиотеки gd в PHP.
  8. XML (php-xml) – динамические общие объекты, которые добавляют в PHP поддержку для управления XML-документами.
  9. MBString (php-mbstring) – расширение для обработки многобайтовых строк в приложениях PHP.
  10. MCrypt (php-mcrypt) – библиотека Mcrypt для PHP-скриптов.
  11. APC (php-pecl-apcu) – модуль APC, используемый для оптимизации и кэширования PHP-кода.
  12. CLI (php-cli) – интерфейс командной строки для PHP.
  13. PEAR (php-pear) – платформа репозитория приложений для PHP.

Установите следующие необходимые модули PHP с помощью команды ниже.

------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

------ On Fedora ------
dnf --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

Шаг 4. Установка базы данных MySQL или MariaDB

В этом разделе мы покажем вам установку обеих баз данных: MySQL и MariaDB, поэтому вам решать, что выбрать в зависимости от ваших требований.

Установка сервера базы данных MySQL 8

MySQL — одна из самых популярных в мире систем управления реляционными базами данных (СУБД) с открытым исходным кодом, которая запускает любой сервер и обеспечивает многопользовательский доступ к нескольким базам данных. MySQL работает с Apache.

Чтобы установить последнюю версию MySQL 8.0, мы установим и включим официальный репозиторий программного обеспечения MySQL Yum, используя следующие команды.

rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm        [On RHEL/CentOS 7]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm     [On RHEL/CentOS 6]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc25-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc24-1.noarch.rpm    [On Fedora 29]

После установки репозитория программного обеспечения MySQL Yum для вашей платформы Linux установите последнюю версию MySQL (в настоящее время 8.0), используя следующую команду.

yum install mysql-community-server      [On RHEL/CentOS]
dnf install mysql-community-server      [On Fedora]

После успешной установки MySQL пришло время запустить сервер MySQL с помощью следующей команды.

service mysqld start

Прочтите нашу статью о том, как защитить установку базы данных MySQL 8.

Установка сервера базы данных MariaDB 10

MariaDB — это ответвление известной MySQL, одной из самых популярных в мире систем управления реляционными базами данных (СУРБД). Он полностью разработан сообществом и поэтому должен оставаться открытым и совместимым с лицензией GPL.

Если вы являетесь или были пользователем MySQL, переход на MariaDB будет очень простым процессом: популярные команды для подключения, резервного копирования и восстановления, а также управления базами данных идентичны в обеих СУБД.

В последнем выпуске RHEL/CentOS 7 MariaDB является полной заменой MySQL, а в RHEL/CentOS 6 MySQL остается прежним, и вам не разрешено устанавливать MariaDB на RHEL/CentOS 6 из репозитория по умолчанию, но вы можете установить MariaDB, используя официальный репозиторий MariaDB.

Чтобы включить репозиторий MariaDB в дистрибутивах RHEL/CentOS 7, создайте файл с именем /etc/yum.repos.d/mariadb.repo со следующим содержимым:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Примечание. Как я уже говорил выше, вы также можете установить MariaDB на RHEL/CentOS 6, используя официальный репозиторий MariaDB, как указано выше.

После включения репозитория MariaDB выполните:

------ On RHEL/CentOS 7 ------
yum --enablerepo=remi install httpd MariaDB-client MariaDB-server

------ On Fedora ------
dnf --enablerepo=remi install httpd MariaDB-client MariaDB-server

Шаг 5. Включите/запустите Apache и MySQL/MariaDB.

В системеD

------ Enable Apache and MariaDB on Boot ------
systemctl enable httpd
systemctl enable mariadb

------ Start Apache and MariaDB ------
systemctl start httpd
systemctl start mariadb

На СисВините

------ Enable Apache and MySQL on Boot ------
chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld on

------ Start Apache and MySQL ------
/etc/init.d/httpd start
/etc/init.d/mysqld start

Шаг 6. Проверка установки PHP

Давайте придерживаться классического способа тестирования PHP. Создайте файл с именем test.php в папке /var/www/html и добавьте в него следующие строки кода.

Функция phpinfo() показывает большой объем информации о текущей установке PHP:

<?php
	phpinfo();
?>

Теперь укажите в веб-браузере http://[server]/test.php и проверьте наличие установленных модулей и дополнительного программного обеспечения, прокрутив страницу вниз (замените [server] с вашим доменом или IP-адресом вашего сервера). Ваш вывод должен быть похож на:

Поздравляем! Теперь у вас есть последняя рабочая версия стека LAMP. Если что-то пошло не так, как ожидалось, свяжитесь с нами, используя форму ниже. Вопросы и предложения также приветствуются.

Примечание: вы также можете установить MariaDB в других дистрибутивах, создав собственный репозиторий, следуя инструкциям, представленным здесь.