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/:
Дискуссия
Написал Rocky 9
Опубликовано в: Установка nginx c PHP-FPM под CentOS 7.0 in LinuxНаписал Константин
Опубликовано в: Докеризация стека LEMP под Ubuntu c помощью Compose in LinuxНаписал bammbr
Опубликовано в: Шлюз для маленького отдела на Red Hat 9 in LinuxНаписал Федор
Опубликовано в: Установка и конфигурация Samba на CentOS 7 in LinuxНаписал Evgenytrl
Опубликовано в: Загрузка файлов с помощью Wget in Linux