Ставим Apache, PHP 7.1 и MariaDB на CentOS 7.3

В этом руководстве показано, как можно установить веб-сервер Apache на сервере CentOS 7.1 с поддержкой PHP (mod_php) и MySQL.

LAMP - это короткое обозначение связки Linux, Apache, MySQL, PHP. Выполним установку последних версий PHP 7.1 на CentOS 7.3.

1 Предварительное замечание

В этом руководстве используются имя хоста server1.example.com с IP 192.168.1.100. Эти параметры могут отличаться, поэтому в таком случае их необходимо заменить.

Добавляем Epel repo, чтобы установить последнюю версию 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

Установка паролей для корневой учетной записи MySQL:

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation
/
usr/bin/mysql_secure_installation: line 379: find_mysql_client: command
not found

ПРИМЕЧАНИЕ: Запуск всех частей этого скрипта РЕКОМЕНДУЕТСЯ ДЛЯ ВСЕХ MariaDB
СЕРВЕРА В ПРОИЗВОДСТВЕННОМ ИСПОЛЬЗОВАНИИ! ПРОЧТИТЕ ВНИМАТЕЛЬНО каждый шаг!

Введите текущий пароль для root (ввод не нужен):
<- ENTER
OK, успешно используется пароль, далее ...

Установка пароля гарантирует, что никто не сможет войти в MariaDB
корневого пользователя без требующегося разрешения.

Установить пароль? [Y / N]
Новый пароль:
<- yourmariadbpassword
Повторно ввести новый пароль:
<- yourmariadbpassword
Пароль успешно обновлен!
Перезагрузка таблицы привилегий.....

Успешно!
Удалить анонимных пользователей? [Y / N]
<- ENTER...

Успешно!
Запретить логин root удаленно? [Y / N]
<- ENTER...

Успешно!
Удалить тестовую базу данных и доступ к ней? [Y / N]
<- ENTER
- Удаление тестовой базы данных ......

Успешно!
- Удаление привилегий на тестовой базе ......

Успешно!
Обновить таблицы привилегий сейчас? [Y / N]
<- ENTER
... Успешно!
Очистка ...
Готово!

 

Если были выполнены все описанные выше действия, то установка MariaDB
теперь должна стать безопасной.

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-утилит, если нужна утилита

yum-

config-

manager.

yum -y install yum-utils

и запуск

yum обновления

yum update

Теперь надо выбрать, какая версия PHP будет использоваться на сервере. Если PHP 5.4, то приступить к следующей команде. Если PHP 7.0, то следовать командам в разделе 4.1, а для PHP 7.1 использовать раздел 4.2.

Чтобы установить PHP 5.4, требуется выполнить следующую команду:

yum –y install php

4.1 Установка PHP 7.0 (опционально)

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

yum-config-manager --enable remi-php70

yum -y install php php-opcache

4.2 Установка PHP 7.1 (опционально)

Если PHP 7.1 то нужно использовать:

yum-config-manager --enable remi-php71

yum -y install php php-opcache

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

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

systemctl restart httpd.service

5 Тестирование PHP / Получение более полной информации о PHP. Установка

Корень документа веб-сайта по умолчанию является / Var / WWW / HTML. Нужно создадать маленький PHP файл (info.php) в этом каталоге и назвать его в браузере, чтобы проверить установку PHP. Файл будет отображать множество полезных деталей о установке PHP, таких как установленная версия PHP.

nano /var/www/html/info.php

<? PHP

phpinfo ();

?>

Теперь надо назвать этот файл в браузере (например , http://192.168.1.100/info.php ):

 

Как видно, PHP 7.1 работает и работает через Apache 2.0 Handler, как показано на Server API Line . Если прокрутить дальше вниз, то можно увидеть все модули, которые уже включены в PHP. MySQL отсутствует в списке, что означает отсутствие поддержки MySQL в PHP.

6 Поддержка MySQL в PHP

Чтобы получить поддержку MySQL в PHP, нужно установить php71w-MySQL пакет. Это хорошая идея: установить некоторые другие модули PHP, а также они могут понадобиться для других приложений. Можно выполнить поиск доступных 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-soap curl curl-devel

Теперь перезапуск веб-сервера Apache:

systemctl restart httpd.service

Теперь требуется загрузить http://192.168.1.100/info.php в браузере и снова прокрутить вниз до раздела модулей. Теперь надо найти там много новых модулей , таких как

curl и т.д.:

 

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

rm /var/www/html/info.php

7 установка PhpMyAdmin

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

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

yum -y install PhpMyAdmin

Теперь, пока устанавливается PhpMyAdmin, надо поменять конфигурацию Apache так, чтобы PhpMyAdmin позволял устанавливать соединение не только с локального хоста (закомментировать строфу <RequireAny> и добавить строку "Require all granted"):

nano /etc/httpd/conf.d/phpMyAdmin.conf

[...]
[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>
[...]
[...]

Далее, нужно изменить аутентификацию в PhpMyAdmin из cookie в HTTP:

[...]
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
[...]

Перезапустить Apache:

systemctl restart httpd.service

После этого, получен доступ к

phpMyAdmin в разделе http://192.168.1.100/phpmyadmin/:

4 комментарии

  • Марк Заславский

    написал Марк Заславский

    Понедельник, 19 Июнь 2017 21:29

    Вашими силами и установил на VDS. Простой юзер.
    Только зачем с phpmyadmin не понял, (я ведь простой уч. врач).
    remove и снова install
    требует javascript
    Но , я так для порядку поставил phpmyadmin (без Ваших непонятных корректив)
    А так я в консоли справляюсь без этих 2 mb (да и изменять не надо).
    С уважением. Огромное спасибо. Сейчас поставлю друпал 8.

  • Владимир Драч

    написал Владимир Драч

    Пятница, 23 Июнь 2017 21:26

    Конечно, можно не устанавливать phpmyadmin, если он Вам не нужен. Если можете работать без него - прекрасно!

  • RicсhardSar

    написал RicсhardSar

    Воскресенье, 30 Сентябрь 2018 04:59

    Всё-таки MariaDB не лучший выбор. Я бы рекомендовал проверенный mySQL.

  • WesleyKam

    написал WesleyKam

    Понедельник, 15 Октябрь 2018 09:19

    Онко препараты купить

    сутент sutent sunitinib сунитиниб
    имбрувика imbruvica
    препарат стиварга
    имбрувика купить
    зелбораф инструкция

    тасигна цена
    стиварга цена
    стиварга купить
    caprelsa капрелса вандетаниб vandetanib
    имбрувика цена

Оставить комментарий

Ваше мнение очень важно для нас! Обязательно выскажите Ваши мысли, пожелания и критику! Не стесняйтесь задавать вопросы. Скорее всего, ответ появится уже через 2-3 дня. Спасибо заранее.

Go to top