Установка phpMyAdmin на Linux CentOS
В данной инструкции рассмотрим процесс установки phpMyAdmin на CentOS версий 8 и 7.
1. Установка phpMyAdmin
Установка может быть выполнена из репозитория (для CentOS 7) или путем загрузки портала с сайта разработчика (CentOS 8 или CentOS 7). Рассмотрим оба варианта.
а) Установка из репозитория
Данный вариант доступен только для CentOS 7.
Устанавливаем расширенный репозиторий EPEL:
yum install epel-release
yum install phpmyadmin
* если мы увидим ошибку «пакета с названием phpmyadmin не найдено», проверяем еще раз наличие установленного репозитория epel.
б) Установка вручную
Данный способ универсальный — он подходит для CentOS 8 и CentOS 7.
Устанавливаем пакеты, необходимые для скачивания и распаковки архива:
yum install wget unzip
Переходим на сайт разработчика phpMyAdmin и копируем ссылку на нужную нам версию, например, последнюю:
Воспользовавшись скопированной ссылкой, скачиваем архив с установочными файлами:
* на момент написания инструкции, последняя стабильная версия была 4.9.1.
Распаковываем скачанный архив:
Создаем каталог для phpmyadmin, например:
. и переносим в него содержимое распакованного архива:
mv phpMyAdmin-*-all-languages/* /usr/share/phpMyAdmin/
Задаем владельца для каталога:
* как правило, сервис, которых обрабатываем php-запросы работает от пользователя apache.
2. Установка модулей php
Для корректной работы портала управления СУБД необходимо установить следующие расширения php:
yum install php-json php-mbstring php-mysqli
* скорее всего, они уже будут установлены, если установка выполнялась из репозитория.
После установки может понадобиться перезапуск сервера, который обрабатываем php.
systemctl restart php-fpm
systemctl restart httpd
3. Настройка виртуального домена
Настройка виртуального домена зависит от веб-сервера, который мы используем. Разберем примеры для NGINX и Apache.
NGINX
На отдельном домене
Создаем конфигурационный файл для виртуального домена:
Проверяем корректность настройки nginx:
. и если ошибок нет, перезапускаем сервис:
systemctl restart nginx
С помощью location /phpmyadmin
Открываем конфигурационный файл для домена по умолчанию:
* в вашей ситуации, файл с доменом по умолчанию может быть другим.
Добавляем location ^
/phpmyadmin со следующими настройками:
server <
listen 80 default_server;
location /phpmyadmin <
root /usr/share/;
index index.php;
location
* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ <
root /usr/share/;
>
>
>
Проверяем корректность настройки nginx:
. и если ошибок нет, перезапускаем сервис:
systemctl restart nginx
Apache
Создаем конфигурационный файл для виртуального домена:
Define root_domain phpmyadmin.dmosk.local
Define root_path /usr/share/phpMyAdmin
AllowOverride All
Options Indexes ExecCGI FollowSymLinks
Require all granted
Проверяем корректность настройки apache:
. и если ошибок нет, перезапускаем сервис:
systemctl restart httpd
4. Проверка
Открываем браузер и переходим по адресу нашего виртуального домена — в нашем случае, http://phpmyadmin.dmosk.local/ или http:// /phpmyadmin (если настраивали с помощью домена по умолчанию для запросов на /phpmyadmin).
Адрес phpmyadmin.dmosk.local должен разрешаться в IP-адрес с помощью DNS или локального файла hosts.
В итоге, мы должны увидеть страницу с формой ввода логина и пароля:
Необходимо ввести учетные данные для подключения к СУБД.
5. Дополнительная настройка
Наш phpMyAdmin работает, но не оптимально. Внесем коррекции в его конфигурационный файл.
Для начала сформируем случайную последовательность символов — их будем использовать в качестве парольной фразы:
После копируем полученную последовательность и создаем конфигурационный файл phpMyAdmin:
Приводим его к виду:
Создаем каталог для хранения временных файлов:
Задаем для нее правильного владельца и права:
chown apache:apache /usr/share/phpMyAdmin/tmp
Centos 7 + Apache + Mysql(MariaDB) + php + phpMyAdmin (LAMP)
В этой статье я расскажу как установить на CentOS 7 связку Apache + Mysql(MariaDB) + php + phpMyAdmin
Начнем с обновления общего:
Теперь о брэндмауэре:
1. Отключить можно так:
systemctl stop firewalld && systemctl disable firewalld
2. Правила разрешения 80 (http) и порт 443 (https):
Не забыть выключить selinux:
Добавим в автозапуск и стартуем:
systemctl enable mariadb.service
systemctl start mariadb.service
Установка Apache:
Добавим в автозапуск и стартуем:
systemctl enable httpd.service
systemctl start httpd.service
В дефолтовом конфиге Apache директория для веб расположена тут: /var/www/html/
Конфигурационный файл Apache тут: /etc/httpd/conf/httpd.conf
Дополнительно настраиваемые файлы тут: /etc/httpd/conf.d/
Тепрь он доступен: http://192.168.1.20/
Установка php
После установки необходимо перезагрузить apache:
systemctl restart httpd.service
Связка php + MySQL
После установки необходимо перезагрузить apache:
systemctl restart httpd.service
Установка phpMyAdmin
Необходимо инициализировать репозиторий EPEL:
Проблема, с которой столкнулся: phpmyadmin you don’t have not have permission to access
Редактируем: /etc/httpd/conf.d/phpMyAdmin.conf
# Apache 2.4
#Require ip 127.0.0.1
#Require ip ::1
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
# Apache 2.4
#Require ip 127.0.0.1
#Require ip ::1
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Установка Phpmyadmin CentOS 7
Система управления базами данных mysql набрала огромной популярности в последнее время. Она используется на большинстве веб-серверов, поскольку для работы современных веб-технологий нужно быстрое и надежное хранилище данных.
Время от времени нам нужно вручную внести изменения в хранимые данные, но по умолчанию mysql поддерживает работу только через терминал. Это достаточно сложно, поэтому был разработан веб-интерфейс phpmyadmin. В этой статье мы рассмотрим как выполняется установка Phpmyadmin CentOS 7 и как все настроить для максимально правильной работы.
Установка Phpmyadmin CentOS 7
В репозиториях, которые поставляются по умолчанию вместе с дистрибутивом Phpmyadmin нет. Он находится в репозитории EPEL или Extra Packages for Enterprise Linux. Поэтому сначала нам нужно установить этот репозиторий:
Затем обновляем списки доступных пакетов из нового репозитория. В CentOS это делать не обязательно в отличие от Ubuntu, но будет так будет более правильно:
Заодно команда установит все доступные обновления. Дальше можно устанавливать Phpmyadmin:

Установка новой версии Phpmyadmin
Но, таким образом, вы получите старую версию phpmyadmin 4.4, которая работает на php 5.4. Если вы хотите php 7 и самый свежий phpmyadmin, то его можно установить из репозитория remi. Сначала добавляем репозиторий в систему:
Обновляем доступные пакеты, как и выше:
Включаем поддержку новой версии PHP 7.1:
И теперь осталось только установить phpmyadmin Centos 7, нужную версию php он возьмет сам:
sudo yum install phpmyadmin
Дальше phpmyadmin будет доступен по тому же адресу при условии, что вы используете Apache.
Настройка Phpmyadmin Nginx
Если же вы используете Nginx, то перед тем, как вы сможете открыть веб-интерфейс, вам будет необходимо его включить. Для этого выполните команду:
sudo systemctl restart php-fpm
В основной конфигурационный файл nginx.conf, в секцию http добавьте такую команду, это включит поддержку перехода по символическим ссылкам:
sudo vi /etc/nginx/nginx.conf
И еще, если у вас ISPManager поищите строчку disable_symlinks if_not_owner в настройке сайта и удалите ее иначе тоже ничего не заработает. Перезапустите nginx:
Теперь вы сможете получить доступ к phpmyadmin добавив его адрес к адресу вашего рабочего проекта. Дальше про безопасность. Нам нужно, чтобы к этому адресу могли получить доступ только вы. Несмотря на то, что интерфейс запрашивает пароль, его можно пытаться перебрать, а это для нас очень нежелательно. Во-первых, вы можете переименовать ссылку во что-то более непонятное, например:
mv /var/www/html/phpmyadmin /var/www/html/pppma
Но для большей надежности можно использовать аутентификацию Nginx. Сначала создадим зашифрованный пароль:
Полученное значение нужно скопировать. Дальше создайте файл /etc/nginx/passwords и поместите в него имя пользователя и пароль через двоеточие, например:
sudo vi /etc/nginx/passwords
Теперь добавьте такой location в файл настройки вашего сайта, адрес pppma, в случае, если вы меняли название ссылки:
location /pppma <
auth_basic «Admin Login»;
auth_basic_user_file /etc/nginx/passwords;
>
Теперь при запросе этого адреса будет спрашиваться пароль.
И только после ввода этого пароля и пароля базы данных вы сможете войти в интерфейс управления.
Настройка phpmyadmin Apache
Радует то, что при работе с Apache Phpmyadmin будет доступен сразу же, без необходимости выполнять кучу дополнительных настроек. Но безопасность настраивать все же надо. Настройки phpmyadmin для Apache находится в файле /etc/httpd/conf.d/phpMyAdmin.conf нам будет достаточно добавить несколько строк. Но сначала создаем пароль:
Дальше редактируем файл настроек:
Добавьте в секцию такие строки:
Options Indexes FollowSymLinks
AllowOverride All
AuthType Basic
AuthName «Restricted Content»
AuthUserFile /etc/httpd/passwords
Require valid-user
Теперь, как и в предыдущем варианте, при попытке открыть phpmyadmin вы увидите запрос пароля.
Как удалить Phpmyadmin
Удаление Phpmyadmin выполняется такой командой:
sudo yum remove phpmyadmin
Не забудьте после этого удалить оставшиеся символические ссылки и конфигурации.
Выводы
В этой небольшой статье мы рассмотрели как выполняется установка Phpmyadmin Centos 7. Теперь вы знаете как установить самую новую версию программы и как заставить ее работать в вашей системе. Надеюсь эта информация была полезной, если у вас остались вопросы, спрашивайте в комментариях!
Настройка web сервера в CentOS 7
Данная статья является частью единого цикла статьей про сервер Centos.
Web сервер на CentOS 7
Подопытным сервером будет выступать виртуальная машина от ihor, характеристики следующие:
| Процессор | 2 ядра |
| Память | 8 Gb |
| Диск | 150 Gb SSD |
Это кастомная настройка параметров. Они не оптимальны по цене, но мне были нужны именно такие.
Хочу сразу уточнить, что разбираю базовую дефолтную настройку. Для улучшения быстродействия, повышения надежности и удобства пользования нужно установить еще несколько инструментов, о чем я расскажу отдельно. В общем случае для организации веб сервера будет достаточно того, что есть в этой статье.
Настройка apache в CentOS 7
В CentOS служба apache называется httpd. Когда я только знакомился с этим дистрибутивом, мне было непривычно. В Freebsd и Debian, с которыми я до этого работал служба веб сервера называлась apache, хотя где-то я замечал, кажется во фрюхе, что файл конфигурации имеет имя httpd.conf. До сих пор я не знаю, почему распространились оба эти названия. Был бы рад, если бы со мной кто-то поделился информацией на этот счет в комментариях.
Теперь приступим к установке apache. В CentOS 7 это делается очень просто:
Добавляем apache в автозагрузку:
Запускаем apache в CentOS 7:
Проверяем, запустился ли сервер:
Все в порядке, повис на 80-м порту, как и положено. Уже сейчас можно зайти по адресу http://ip-address и увидеть картинку:
Теперь займемся настройкой apache. Я предпочитаю следующую структуру веб хостинга:
| /web | раздел для размещения сайтов |
| /web/site1.ru/www | директория для содержимого сайта |
| /web/site1.ru/logs | директория для логов сайта |
Создаем подобную структуру:
Если нет, раскомментируем и идем в каталог /etc/httpd/conf.d. С оздаем там файл site1.ru.conf :
Перезапуск apache в centos
Теперь делаем restart apache :
где 192.168.1.25 ip адрес нашего веб сервера.
Сразу же обращу ваше внимание на настройку ротации логов виртуальных хостов. Частенько бывает, что если сразу не настроишь, потом забываешь. Но если сайт с хорошей посещаемостью, то логи будут расти стремительно и могут занять очень много места. Лучше настроить ротацию логов веб сервера сразу же после создания. Сделать это не сложно.
Мы добавили одну строку в самое начала файла. Теперь логи всех виртуальных хостов в папке /web будут ротироваться по общему правилу.
В принципе, простейший веб сервер уже готов и им можно пользоваться. Но вряд ли сейчас найдутся сайты со статическим содержимым, которым достаточно поддержки только html. Так что продолжим нашу настройку.
Если вам необходимо организовать работу сайта по протоколу https, то воспользуйтесь руководством по настройке ssl в apache.
Установка php в CentOS 7
Для поддержки динамического содержимого сайтов выполним следующий шаг. Установим php в CentOS 7:
И следом еще несколько полезных компонентов. Установим популярные модули для php:
Выполним перезапуск apache:
Создадим файл в директории виртуального хоста и проверим работу php:
Заходим по адресу http://site1.ru/index.php
Вы должны увидеть вывод информации о php. Если что-то не так, возникли какие-то ошибки, смотрите лог ошибок виртуального хоста, php ошибки будут тоже там.
Где лежит php.ini
После установки часто возникает вопрос, а где хранятся настройки php? Традиционно они находятся в едином файле настроек. В CentOS php.ini лежит в /etc, прямо в корне. Там можно редактировать глобальные настройки для все виртуальных хостов. Персональные настройки каждого сайта можно сделать отдельно в файле конфигурации виртуального хоста, который мы сделали раньше. Давайте добавим туда несколько полезных настроек:
Добавляем в самый конец, перед
Для применения настроек нужно сделать restart apache. Теперь в выводе phpinfo можно увидеть изменение настроек.
Обновление до php 5.6 в CentOS 7
В нашем примере мы установили на CentOS 7 php 5.4 из стандартного репозитория. А что делать, если нам нужна более новая версия, например php 5.6? В таком случае нужно выполнить обновление php.
Теперь обновляем php 5.4 до php 5.6:
Отлично, мы обновили php до версии 5.6.
Установка MySQL в CentOS 7
Устанавливаем mariadb на CentOS 7:
Добавляем mariadb в автозапуск:
Проверяем, запустилась или нет:
Не буду приводить весь вывод работы этого скрипта, там все достаточно просто и понятно. Сначала задаем пароль для root (текущий пароль после установки пустой), потом удаляем анонимных пользователей, отключаем возможность подключаться root удаленно, удаляем тестового пользователя и базу.
Файл настроек mysql/mariadb лежит в /etc/my.cnf. Для обычной работы достаточно настроек по-умолчанию. Но если вы решите изменить их, не забудьте перезапустить службу баз данных.
Перезапуск mariadb/mysql в CentOS 7:
На этом все. Базовый функционал web сервера на CentOS 7 настроен.
Если вам нужен phpmyadmin воспользуйтесь моим подробным руководством по установке и настройке phpmyadmin на centos 7.
Буду рад замечаниям и комментариям по теме статьи. Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.
Как установить и защитить phpMyAdmin с помощью Apache на CentOS 7
phpMyAdmin — это инструмент на основе PHP с открытым исходным кодом для управления серверами MySQL и MariaDB через веб-интерфейс.
phpMyAdmin позволяет взаимодействовать с базами данных MySQL, управлять учетными записями и привилегиями пользователей, выполнять SQL-операторы, импортировать и экспортировать данные в различных форматах данных и многое другое.
В этом руководстве мы рассмотрим шаги, необходимые для установки и защиты phpMyAdmin с помощью Apache в CentOS 7.
Подготовка
Прежде чем продолжить изучение этого руководства, убедитесь, что вы выполнили следующие предварительные требования:
Установка phpMyAdmin
Чтобы установить phpMyAdmin в системе CentOS 7, выполните следующие действия:
phpMyAdmin недоступен в основных репозиториях CentOS 7. Чтобы установить phpMyAdmin, нам нужно сначала включить репозиторий EPEL :
После включения репозитория EPEL мы можем установить phpMyAdmin и все его зависимости с помощью следующей команды:
Настройка и защита phpMyAdmin
Файл конфигурации Apache для phpMyAdmin создается автоматически во время установки. По умолчанию все соединения, кроме соединений с localhost, запрещены. Поскольку мы будем получать доступ к phpMyAdmin из удаленных мест, нам необходимо изменить файл конфигурации и указать разрешенные IP-адреса.
Откройте файл конфигурации Apache phpMyAdmin:
Измените две строки, которые читают Require ip 127.0.0.1 на IP-адрес вашего домашнего подключения. Если вы не знаете свой домашний IP-адрес, откройте поиск Google в своем веб-браузере и введите what is my ip IP-адрес.
Закройте и сохраните файл.
Для дополнительного уровня безопасности мы защитим паролем каталог phpMyAdmin, настроив базовую аутентификацию.
Приведенная выше команда предложит вам ввести и подтвердить пароль пользователя.
И вставьте следующие строки, выделенные желтым:
Сохраните файл и перезапустите службу Apache, чтобы изменения вступили в силу:
При доступе к вашему phpMyAdmin вам будет предложено ввести учетные данные для входа ранее созданного пользователя:
После входа в базовую аутентификацию вы попадете на страницу входа phpMyAdmin, где вам нужно будет ввести учетные данные администратора MySQL.
Доступ к phpMyAdmin
Чтобы получить доступ к интерфейсу phpMyAdmin, откройте свой любимый браузер и введите доменное имя вашего сервера или общедоступный IP-адрес, а затем /phpmyadmin :
После входа в систему вы увидите панель управления phpMyAdmin, которая будет выглядеть примерно так:
Выводы
Поздравляем, вы успешно установили phpMyAdmin на свой сервер CentOS 7. Теперь вы можете начать создавать базы данных MySQL, пользователей и таблицы, а также выполнять различные запросы и операции MySQL.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.



















