Полный цикл в digital

Установка PhpMyAdmin на Nginx + Apache

У нас на сервере установлено два веб-сервера Nginx для обработки статики который динамику в свою очередь проксирует на Apache, по этой причине phpMyAdmin будем устанавливать на Apache.

Установка phpMyAdmin

Прежде чем мы сможем установить phpMyAdmin, необходимо убедиться, что у вас установлено расширение php для работы с текстовыми строками в формате юникода. Для его установки выполните в терминале команду:

sudo apt -y install php-mbstring

Теперь можно установить сам пакет phpMyAdmin при помощи команды:

sudo apt -y install phpmyadmin

Установщик спросит вас, какой веб-сервер будет использоваться для работы программы. Отметьте с помощью кнопки Пробел пункт apache2, а затем с помощью Tab и Enter нажмите кнопку Ок:

Далее установщик предложит создать базу данных для phpMyAdmin, в которой будет находиться служебная информация программы и необходимые настройки, необходимо согласиться выбрав пункт Yes:

На следующем этапе необходимо придумать пароль для пользователя phpMyAdmin, который будет использоваться программой для доступа к собственной базе данных:

Далее программа попросит вас повторить заданный ранее пароль:

После этого установка phpMyAdmin завершена.

Проксирование работы phpMyAdmin Апачу

В существующем шаблоне Nginx виртуального хоста /etc/nginx/sites-available/название_домена.com зададим расположение скрипта запуска phpMyAdmin, передачу запросов с расширением .php Апачу который работает на порту 8080.

Открываем файл виртуального хоста:

sudo nano /etc/nginx/sites-available/название_домена.com

Добавляем следующий код в нужную секцию server:

location /phpmyadmin {
root /usr/share/;
index index.php;

location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
proxy_pass http://127.0.0.1:8080;
}

location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}

Проверим на синтаксические ошибки Nginx:

sudo nginx -t

Перезапустим службу Nginx:

sudo systemctl restart nginx

Настройка пользователя phpMyAdmin

Теперь phpMyAdmin будет доступен по адресу название_домена.com/phpmyadmin. Вы можете проверить, всё ли работает, просто открыв этот адрес в браузере:

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

sudo mysql -u root -p

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

Создаём нового пользователя с именем test, ему был присваеваем пароль:

CREATE USER 'test'@'localhost' IDENTIFIED BY 'пароль';

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

GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';

Обновляем заданные ранее привилегии:

FLUSH PRIVILEGES;

Теперь необходимо авторизоваться в phpMyAdmin при помощи созданного пользователя:

Защита phpMyAdmin

Если phpMyAdmin установлен на производственном сервере, который доступен из сети, то его необходимо обезопасить, добавив авторизацию. Для этого создайте файл /usr/share/phpmyadmin/.htaccess со следующим содержимым:

sudo nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Данные строки означают:

  • AuthType Basic устанавливает тип аутентификации, мы указываем, что будем использовать пароль
  • AuthName задает сообщение, которое будет видеть пользователь
  • AuthUserFile файл, откуда программа будет брать имена пользователей и пароли
  • Require указываем, что аутентификация обязательна

Далее создайте новый пароль для своего пользователя:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd пользователь

Чтобы настройки из файла .htaccess заработали в этой директории, необходимо, чтобы для неё в файле /etc/apache2/apache2.conf значение AllowOverride было All:

sudo nano /etc/apache2/apache2.conf
<Directory /usr/share>
AllowOverride All
Require all granted
</Directory>

Сохраните изменения и закройте файл. Далее перезапустите apache:

sudo systemctl restart apache2

Теперь, если вы попытаетесь открыть phpMyAdmin, то вам необходимо пройти авторизацию.

Как удалить phpMyAdmin с Ubuntu

Чтобы удалить phpMyAdmin, необходимо выполнить команду:

sudo apt purge phpmyadmin

После выполнения этой команды программа будет удалена с вашего компьютера.

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг