---
title: 'ustanovka-i-hardening-phpmyadmin-51-na-ubuntu-2004 | Zomro'
description: ''
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/06/04/dalle-2025-06-04-093230-a-modern-16_9-digital-illustration-representing-the-concept-of-installing-and-hardening-phpmyadmin-51-on-ubuntu-2004-the-image-shows-a-computer-s_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Установка и харденинг phpMyAdmin 5.1 на Ubuntu 20.04 



# Установка и харденинг phpMyAdmin 5.1 на Ubuntu 20.04

24-05-2025

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/06/04/dalle-2025-06-04-093230-a-modern-16_9-digital-illustration-representing-the-concept-of-installing-and-hardening-phpmyadmin-51-on-ubuntu-2004-the-image-shows-a-computer-s_q50.jpg)

phpMyAdmin давно зарекомендовал себя как универсальный веб‑клиент для администрирования MySQL и MariaDB. Он избавляет от рутины командной строки, позволяя выполнять всё — от создания баз до тонкой настройки привилегий — через привычный браузер. Но развёртывание интерфейса на публичном сервере несёт риски: устаревшие пакеты в репозиториях, неверные права на каталоги, отсутствие HTTPS и открытый для всего мира root‑доступ могут обернуться компрометацией данных.

В этой статье мы рассмотрим, как **правильно** и **безопасно** развернуть свежий релиз phpMyAdmin 5.1.x на Ubuntu 20.04 Focal Fossa: мы вручную скачаем актуальную сборку, настраиваем Apache 2.4 и PHP 7.4, закрываем уязвимости через алиасы и файервол. Следуя шагам, вы получите надёжный инструмент DBA без лишних дыр в безопасности.

**Особенности версии Ubuntu 20.04**

  * Focal Fossa поставляется с PHP 7.4 и Apache 2.4.

  * В репозиториях имеется phpMyAdmin 4.x, поэтому ставим актуальный релиз 5.1.x вручную.




1\. Предпосылки

Компонент |  Команда проверки  
---|---  
MySQL/MariaDB |  `mysql -V`  
Apache 2.4 |  `apache2 -v`  
PHP ≥ 7.4 |  `php -v`  
  
Установите MySQL заранее: `sudo apt install mysql-server`.

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/001_q50.jpg)

**2\. Установка Apache и модулей PHP**
    
    
    sudo apt update && sudo apt install -y \
      apache2 wget unzip \
      php php-mysql php-json php-zip php-mbstring php-xml
    
    sudo systemctl enable --now apache2

> Модуль `php-mbstring` обязателен для авторизации, `php-zip` — для импорта/экспорта дампов.

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/002_q50.jpg)

**3\. Загрузка phpMyAdmin 5.1.x**
    
    
    cd /tmp
    PMA_VER="5.1.1"
    wget "https://files.phpmyadmin.net/phpMyAdmin/${PMA_VER}/phpMyAdmin-${PMA_VER}-all-languages.zip"
    unzip phpMyAdmin-${PMA_VER}-all-languages.zip
    sudo mv phpMyAdmin-${PMA_VER}-all-languages /usr/share/phpmyadmin

Создаём временную директорию и назначаем права Apache:
    
    
    sudo mkdir /usr/share/phpmyadmin/tmp
    sudo chown -R www-data:www-data /usr/share/phpmyadmin
    sudo chmod 770 /usr/share/phpmyadmin/tmp

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/003_q50.jpg)

**4\. Конфигурация Apache**

Создайте файл `/etc/apache2/conf-available/phpmyadmin.conf`:
    
    
    Alias /phpmyadmin /usr/share/phpmyadmin
    Alias /phpMyAdmin /usr/share/phpmyadmin
    
    <Directory /usr/share/phpmyadmin/>
        Options SymLinksIfOwnerMatch
        AddDefaultCharset UTF-8
        Require all granted
    </Directory>
    
    <Directory /usr/share/phpmyadmin/setup/>
        Require all granted
    </Directory>

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/004_q50.jpg)

Активируйте конфиг и перезапустите Apache:
    
    
    sudo a2enconf phpmyadmin
    sudo systemctl restart apache2

> **Hardening:** замените алиас на нестандартный (`/dbadmin`) и ограничьте доступ по IP или Basic Auth.

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/005_q50.jpg)

**5\. Настройка Firewall (UFW / FirewallD)**

UFW:
    
    
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw reload

FirewallD:
    
    
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload

**6\. Тестовый вход в phpMyAdmin**

Откройте:
    
    
    http://SERVER_IP/phpmyadmin

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/006_q50.jpg)

Войдите учётными данными MySQL.

**Возможные ошибки:**

Если при подключении к панели наблюдается ошибка:
    
    
    Composer detected issues in your platform: Your Composer dependencies require the following PHP extensions to be installed: xml
    

Composer ругается, потому что в системе нет модуля **XML** для вашей версии PHP. Подключение решается в два-три шага.

Узнайте, какая у вас версия PHP
    
    
    php -v

  
Например, вывод может показать 7.4, 8.1 или 8.2. На данном сервере установлена версия 7.4

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/007_q50.jpg)

Для решения данного вопроса, установите соответствующий пакет с расширением XML

### 

Версия PHP | Команда установки  
---|---  
7.4 | `sudo apt install php-xml` _(метапакет подтянет php7.4-xml)_  
8.0 | `sudo apt install php8.0-xml`  
8.1 | `sudo apt install php8.1-xml`  
8.2 | `sudo apt install php8.2-xml`  
  
После установки перезапустите веб-сервер.Проверьте, что расширение загрузилось:
    
    
    php -m | grep -i xml

Теперь зависимость **xml** закрыта, можете повторно подключиться к phpMyAdmin. 

**Дополнительные меры безопасности**

**Переместите интерфейс** :
    
    
    Alias /dbadmin /usr/share/phpmyadmin

и отключите старые алиасы.

**Включите HTTPS** : воспользуйтесь Certbot:
    
    
    sudo apt install certbot python3-certbot-apache
    sudo certbot --apache -d db.example.site

**Fail2Ban** : настройте фильтр по `/var/log/apache2/*access.log`, чтобы блокировать брутфорс.

**Заключение**

Развёртывание phpMyAdmin — это не просто «скинуть файлы и открыть в браузере». Без грамотного hardening интерфейс быстро становится мишенью для ботов и брутфорса. В этом руководстве вы:

  1. **Установили актуальную версию 5.1.x вручную** , минуя устаревший пакет 4.x из репозитория Ubuntu.

  2. **Настроили Apache 2.4 и PHP 7.4** с обязательными модулями, обеспечив корректную работу импорта/экспорта и мультиязычность.

  3. **Закрыли основные уязвимости** : верные права на `tmp`, нестандартный алиас, файервол, Basic Auth/ограничение IP и отключение root‑логина.

  4. Получили **чек‑лист «10 пунктов до продакшена»** , который поможет не забыть критичные моменты перед публикацией.




Следите за обновлениями phpMyAdmin и PHP, регулярно проверяйте журналы Apache на предмет Unauthorized/404, а также тестируйте восстановление из бэкапов. Такой подход гарантирует, что веб‑GUI для MySQL будет не только удобным, но и безопасным.

> **Помните:** безопасность — это процесс. Добавляйте новые меры защиты (Fail2Ban, ModSecurity, WAF) по мере роста проекта и трафика. Только так phpMyAdmin останется вашим надёжным помощником, а не точкой входа для злоумышленников.

Похожие статьи

[Как установить PHP-FPM 8.* на Debian 13](https://zomro.com/rus/blog/faq/655-how-to-install-php-fpm-8-on-debian-13) [Как запустить круглосуточную трансляцию YouTube на linux](https://zomro.com/rus/blog/faq/213-kak-zapustit-kruglosutochnuju-transljaciju-youtube-na-linux) [Настройка IPv6 на VPS: адресация, брандмауэр, reverse DNS](https://zomro.com/rus/blog/faq/729-setting-up-ipv6-on-a-vps-addressing-firewall-reverse-dns) [Как попасть в phpMyAdmin из популярных панелей управления сервером](https://zomro.com/rus/blog/faq/389-in-this-article-we-will-look-at-how-to-use-phpmyadmin-to-importexport-databases-on-various-control-panels-such-as-ispmanager-cpanel-vestacp-and-hestiacp-how-to-get-into-phpmyadmin-from-popular-server) [Сканирование на вирусы на Linux-сервере](https://zomro.com/rus/blog/faq/716-virus-scanning-on-linux-maldet)

[ Выделенные серверы от €88.80/мес ](/rus/dedicated-servers)
