Як встановити phpMyAdmin на VPS? Покрокова інструкція для чайників і не тільки!
Привіт, колеги! Набридло колупатися в MySQL через командний рядок? Хочете зручний графічний інтерфейс для управління базами даних на своєму VPS хостинг? Тоді ви потрапили за адресою! У цьому посібнику я, як досвідчений розробник, який пройшов через вогонь і воду (і тонни помилок в phpMyAdmin), розповім вам, як встановити та налаштувати phpMyAdmin на вашому віртуальному сервері. Готуйтеся, буде спекотно! Ми пройдемо через всі етапи: від оновлення пакетів до тонкого налаштування безпеки. І так, я буду говорити простою мовою, без заумних термінів, тому що, ну серйозно, хто їх розуміє з першого разу? Поїхали!У цьому посібнику ви дізнаєтеся:
- Як оновити пакети та встановити необхідні залежності.
- Як встановити phpMyAdmin і налаштувати веб-сервер (Nginx або Apache).
- Як налаштувати аутентифікацію та авторизацію.
- Як підвищити безпеку phpMyAdmin (це *дуже* важливо!).
- Як перевірити працездатність і усунути типові проблеми.
Не хвилюйтеся, якщо ви новачок. Я постараюся пояснити все максимально докладно. І так, я буду використовувати багато реальних прикладів і команд. Готові?
Зміст
- Підготовка до установки: Оновлюємо і ставимо необхідне
- Установка phpMyAdmin: Найпростіший шлях
- Налаштування веб-сервера (Nginx/Apache): Робимо так, щоб працювало
- Конфігурація безпеки: Захищаємо від злому
- Верифікація і тестування: Перевіряємо, що все ок
- Усунення типових проблем: Розбираємо польоти
Підготовка до установки: Оновлюємо і ставимо необхідне

Окей, перше, що потрібно зробити – переконатися, що у нас все свіже і готове до роботи. Це як почистити зуби перед важливою зустріччю, тільки для вашого VPS. Без цього нікуди! Почнемо з оновлення списку пакетів і установки необхідних залежностей. Хочете переконатися, що все в актуальному стані, вірно? Використовуємо `apt` (або `yum`, якщо у вас CentOS/RHEL, але я буду показувати на прикладі Debian/Ubuntu, тому що я так звик). По правді кажучи, без цього далі рухатися – собі дорожче. Перевірено на особистому досвіді.
sudo apt update
sudo apt upgrade -y
sudo apt install -y php php-mysql php-common php-mbstring php-gd php-xml php-pear mysql-server
Ось це - святий грааль для роботи phpMyAdmin. Без `php-mysql` він просто не зможе спілкуватися з базою даних, а без `php-mbstring` у вас будуть проблеми з кодуванням. Я це проходив. Повірте мені в цьому.
А ще нам знадобиться веб-сервер. Якщо у вас вже встановлений Nginx або Apache – відмінно! Якщо ні, то саме час це виправити. Я особисто віддаю перевагу Nginx, він якось швидше і легше. Але це справа смаку. В кінцевому підсумку, і те, і інше підійде.
sudo apt install -y nginx
Або, якщо ви фанат Apache:
sudo apt install -y apache2
Після установки веб-сервера переконайтеся, що він працює. Це важливо!
sudo systemctl status nginx # Или sudo systemctl status apache2
Якщо бачите "active (running)" – все ок. Якщо ні – гугліть помилку. Серйозно, гугліть! Stack Overflow вам в допомогу.
І останнє на цьому етапі – налаштування MySQL. Потрібно задати пароль для користувача `root` і створити базу даних для phpMyAdmin. Ось тут *увага*: якщо ви тільки що встановили MySQL, то пароль для `root` може бути не заданий. В цьому випадку потрібно буде скористатися командою `mysql_secure_installation`. Вона допоможе вам задати пароль і виконати інші важливі налаштування безпеки.
sudo mysql_secure_installation
Відповідайте на питання уважно. Зазвичай я рекомендую відповідати "Y" на всі питання, крім питання про зміну пароля (якщо у вас вже є надійний пароль).
Після цього підключаємося до MySQL і створюємо базу даних:
sudo mysql -u root -p
CREATE DATABASE phpmyadmin;
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'phpmyadmin'@'localhost';
FLUSH PRIVILEGES;
exit;
Замініть `YOUR_PASSWORD` на надійний пароль. Не використовуйте "password" або "123456", я вас благаю! Однак, це основа безпеки.
Фух, перший етап пройдено. Тепер у нас є все необхідне для установки phpMyAdmin. Рухаємося далі!
Потрібен VPS для phpMyAdmin? Запустіть свій сервер миттєво!
Встановіть phpMyAdmin і керуйте базами даних без проблем. Почніть роботу на надійному VPS-хостингу сьогодні. — from €4.49/mo.
Вибрати VPS-хостинг →Установка phpMyAdmin: Найпростіший шлях

Окей, зараз буде найпростіший етап. Встановлюємо phpMyAdmin з репозиторію. Чесно кажучи, це самий безболісний спосіб. Не потрібно скачувати архіви, розпаковувати їх і налаштовувати вручну. Просто вводимо команду і чекаємо. Простіше простого!
sudo apt install -y phpmyadmin
Під час установки вам зададуть кілька питань. *Увага*: вибирайте "apache2" або "nginx" (в залежності від того, який веб-сервер ви використовуєте) і відповідайте "Yes", коли вас запитають, чи хочете ви налаштувати базу даних для phpMyAdmin. Також, коли запитають про пароль адміністратора MySQL, введіть той, який ви задали для користувача `root`.
Якщо ви щось наплутали під час установки, не хвилюйтеся! Все можна виправити. Просто перевстановіть phpMyAdmin:
sudo dpkg-reconfigure phpmyadmin
Ця команда запустить процес налаштування заново. Відповідайте на питання уважно. Я витратив години на налагодження цього, так що повірте мені, краще перепровірити.
Після установки потрібно налаштувати веб-сервер, щоб phpMyAdmin був доступний з браузера. Про це – в наступному розділі.
Налаштування веб-сервера (Nginx/Apache): Робимо так, щоб працювало
Ось тут починається найцікавіше. Потрібно налаштувати веб-сервер, щоб він знав, де шукати phpMyAdmin і як його обробляти. Тут у нас два варіанти: Nginx або Apache. Я покажу обидва, але з Nginx буду трохи більш детально, тому що, ну, він мені більше подобається. Домовились? Хіба вам не дошкуляє налаштовувати веб-сервери?
Налаштування Nginx
Створюємо символічне посилання на конфігураційний файл phpMyAdmin в директорії Nginx:
sudo ln -s /etc/phpmyadmin/nginx.conf /etc/nginx/conf.d/phpmyadmin.conf
Потім потрібно перезавантажити Nginx, щоб зміни вступили в силу:
sudo systemctl restart nginx
Якщо у вас вже є налаштований віртуальний хост для вашого сайту, то вам потрібно буде додати наступний блок в конфігураційний файл цього віртуального хоста (наприклад, `/etc/nginx/sites-available/default`):
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
try_files $uri $uri/ /phpmyadmin/index.php?$args;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
include /etc/nginx/snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # Замініть на вашу версію PHP
}
}
Зверніть увагу на рядок `fastcgi_pass unix:/run/php/php7.4-fpm.sock;`. Тут потрібно вказати шлях до сокету PHP-FPM. Порада профі: версія PHP може відрізнятися, тому перевірте її перед тим, як копіювати цей код.
І, звичайно ж, перезавантажуємо Nginx:
sudo systemctl restart nginx
Налаштування Apache
В Apache все трохи простіше. Після встановлення phpMyAdmin він автоматично створює конфігураційний файл для Apache. Єдине, що потрібно зробити – включити його:
sudo a2enconf phpmyadmin
І перезавантажити Apache:
sudo systemctl restart apache2
Ось і все! Тепер phpMyAdmin повинен бути доступний за адресою `http://ваша_ip_адреса/phpmyadmin` або `http://ваш_домен/phpmyadmin`. Момент істини! Якщо ви отримаєте помилку 404, перепровірте свої конфігураційні файли. Скажу прямо, це найчастіша помилка.
Конфігурація безпеки: Захищаємо від зламу
Окей, ось це *дуже* важливий розділ. Безпека – це не жарти! phpMyAdmin – це ласий шматочок для хакерів, тому потрібно вжити всіх заходів, щоб його захистити. Однак, це як повісити замок на свій дім.
Перше і найпростіше – змінити стандартний URL. Don't use `/phpmyadmin`. Це занадто очевидно! Змініть його на щось більш складне, наприклад, `/mysecretadminpanel`. Для цього потрібно відредагувати конфігураційний файл Nginx або Apache.
Для Nginx це робиться в файлі `/etc/nginx/conf.d/phpmyadmin.conf` (або в конфігураційному файлі вашого віртуального хоста):
location /mysecretadminpanel {
root /usr/share/;
index index.php index.html index.htm;
try_files $uri $uri/ /mysecretadminpanel/index.php?$args;
location ~ ^/mysecretadminpanel/(.+\.php)$ {
try_files $uri =404;
include /etc/nginx/snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # Замініть на вашу версію PHP
}
}
Для Apache потрібно відредагувати файл `/etc/phpmyadmin/apache.conf` (або `/etc/phpmyadmin/apache2.conf`) і замінити `/phpmyadmin` на `/mysecretadminpanel` у всіх рядках.
Після цього, звичайно ж, перезавантажуємо веб-сервер.
Друге – налаштувати аутентифікацію та авторизацію. За замовчуванням phpMyAdmin використовує аутентифікацію MySQL. Це не найбезпечніший спосіб. Краще використовувати HTTP Basic Authentication або HTTP Digest Authentication. Але це вимагає додаткових налаштувань веб-сервера.
Третє – налаштувати firewall. Дозвольте доступ до phpMyAdmin тільки з певних IP-адрес. Попередження: це може бути незручно, якщо ви часто змінюєте IP-адресу, але це значно підвищує безпеку.
Для цього можна використовувати `iptables` або `ufw`. Наприклад, щоб дозволити доступ тільки з IP-адреси `192.168.1.100`, використовуйте наступні команди:
sudo ufw allow from 192.168.1.100 to any port 80,443
sudo ufw enable
Четверте – відключити можливість завантаження файлів. phpMyAdmin дозволяє завантажувати файли на сервер. Це може бути небезпечно, якщо зловмисник зможе завантажити шкідливий файл. Щоб відключити цю можливість, потрібно відредагувати конфігураційний файл phpMyAdmin (`/etc/phpmyadmin/config.inc.php`) і додати наступні рядки:
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
П'яте – регулярно оновлювати phpMyAdmin. Однак, це як ставити оновлення на телефон. Чим новіша версія, тим менше вразливостей.
Конфігураційний файл `/etc/phpmyadmin/config.inc.php` – це святая святих phpMyAdmin. Тут зберігаються всі налаштування, включаючи паролі та шляхи. Тому його потрібно захищати як зіницю ока.
<?php
/* Servers configuration */
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = 3306;
$cfg['Servers'][$i]['user'] = 'phpmyadmin';
$cfg['Servers'][$i]['password'] = 'YOUR_PASSWORD';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
/* Directories for saving/uploading files */
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
/* Other settings */
$cfg['blowfish_secret'] = 'YOUR_BLOWFISH_SECRET';
$cfg['DefaultLang'] = 'ru';
$cfg['ServerDefault'] = 1;
$cfg['LoginCookieValidity'] = 1440;
/**
* phpMyAdmin configuration storage settings.
*/
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['controlhost'] = '';
$cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
/**
* End of servers configuration
*/
/**
* Disallow insecure transport
*/
$cfg['ForceSSL'] = true;
/**
* Allow only local connections
*/
$cfg['AllowArbitraryServer'] = false;
?>
Замініть `YOUR_PASSWORD` на пароль користувача `phpmyadmin`, а `YOUR_BLOWFISH_SECRET` на випадковий рядок. Без жартів, цей рядок повинен бути дійсно випадковим. Використовуйте якийсь генератор випадкових рядків. Наприклад, `openssl rand -base64 32`.
«Безпека — це не продукт, а процес.»
Bruce Schneier
І, звичайно ж, не забувайте про бекапи! Регулярно робіть бекапи бази даних і конфігураційних файлів. Ось несподіванка: якщо щось піде не так, бекапи врятують ваше життя (і ваш VPS).
Верифікація та тестування: Перевіряємо, що все ок
Окей, тепер потрібно переконатися, що все працює як треба. Заходимо в phpMyAdmin через браузер (за адресою, яку ви налаштували в попередньому розділі) і пробуємо залогінитися. Використовуйте ім'я користувача і пароль, які ви задали для користувача `phpmyadmin` в MySQL. Бум! Ось і все!
Якщо бачите сторінку phpMyAdmin – чудово! Якщо ні – перевіряйте логи веб-сервера. Там напевно буде якась корисна інформація. Так, це повідомлення про помилку неприємне, але принаймні воно є.
Перевірте, що ви можете підключатися до баз даних, створювати таблиці, додавати дані і т.д. Не соромтеся, експериментуйте! Але не зламайте нічого цінного.
Можна створити тестову базу даних і таблицю:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE testtable (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255)
);
INSERT INTO testtable (name) VALUES ('Test data');
SELECT * FROM testtable;
Якщо все працює – вітаю! Ви успішно встановили та налаштували phpMyAdmin. Це налаштування — вогонь!
Але це ще не все. Потрібно перевірити, що phpMyAdmin працює стабільно і не вилітає з помилками. Для цього можна скористатися наступними командами:
sudo systemctl status php7.4-fpm # Замініть на вашу версію PHP
sudo journalctl -u php7.4-fpm
sudo nginx -t # Або sudo apachectl -t
Ці команди покажуть вам статус PHP-FPM, логи PHP-FPM і синтаксис конфігураційних файлів веб-сервера. Якщо бачите помилки – гугліть їх. Звучить знайомо?
| Перевірка | Команда | Очікуваний результат |
|---|---|---|
| Статус PHP-FPM | sudo systemctl status php7.4-fpm | active (running) |
| Логи PHP-FPM | sudo journalctl -u php7.4-fpm | Немає помилок |
| Синтаксис Nginx | sudo nginx -t | syntax is ok |
| Синтаксис Apache | sudo apachectl -t | Syntax OK |
І наостанок – перевірте, що phpMyAdmin доступний тільки з тих IP-адрес, які ви дозволили в firewall. Це важливо! Серйозно, це реально важливо.
Усунення типових проблем: Розбираємо польоти
Окей, навіть у найдосвідченіших розробників іноді щось йде не так. І phpMyAdmin – не виняток. Зараз ми розберемо найчастіші проблеми і способи їх вирішення. Уф, ця частина завжди ставить людей в глухий кут.
Проблема 1: 404 Not Found
Це найчастіша проблема. Вона означає, що веб-сервер не може знайти phpMyAdmin. Причини можуть бути різні:
- Неправильно налаштовано веб-сервер. Перевірте конфігураційні файли Nginx або Apache.
- Неправильний URL. Переконайтеся, що ви вводите правильний URL в браузері.
- Не створено символічне посилання на конфігураційний файл phpMyAdmin (для Nginx).
Рішення:
- Перепровірте конфігураційні файли веб-сервера. Переконайтеся, що в них немає помилок.
- Переконайтеся, що ви вводите правильний URL в браузері.
- Перевірте, що символічне посилання на конфігураційний файл phpMyAdmin існує (для Nginx).
- Перезавантажте веб-сервер.
Проблема 2: Access denied for user 'phpmyadmin'@'localhost'
Ця проблема означає, що phpMyAdmin не може підключитися до бази даних MySQL. Причини:
- Неправильний пароль для користувача `phpmyadmin` в MySQL.
- Не створено користувача `phpmyadmin` в MySQL.
- У користувача `phpmyadmin` немає прав на базу даних `phpmyadmin`.
Рішення:
- Перевірте пароль для користувача `phpmyadmin` в конфігураційному файлі phpMyAdmin (`/etc/phpmyadmin/config.inc.php`).
- Переконайтеся, що користувач `phpmyadmin` існує в MySQL і у нього є права на базу даних `phpmyadmin`.
- Перезавантажте веб-сервер.
Проблема 3: Fatal error: The mbstring extension is missing. Please check your PHP configuration.
Ця проблема означає, що в PHP не встановлена бібліотека `mbstring`. Причини:
- Не встановлена бібліотека `mbstring`.
Рішення:
- Встановіть бібліотеку `mbstring`:
sudo apt install php-mbstring. - Перезавантажте веб-сервер.
Проблема 4: Cannot connect: invalid settings.
Ця помилка говорить про проблеми з налаштуваннями з'єднання з базою даних.
Рішення:
- Переконайтеся, що сервер бази даних (MySQL) запущено:
sudo systemctl status mysql. - Перевірте правильність hostname, порту, імені користувача і пароля в файлі
/etc/phpmyadmin/config.inc.php.
sudo systemctl status mysql
sudo nano /etc/phpmyadmin/config.inc.php
| Проблема | Рішення |
|---|---|
| 404 Not Found | Перевірити конфігурацію веб-сервера, URL, символічне посилання |
| Access denied | Перевірити пароль, користувача, права в MySQL |
| mbstring missing | Встановити php-mbstring, перезавантажити веб-сервер |
| Cannot connect: invalid settings | Перевірити статус MySQL, hostname, port, user, password |
Якщо ви зіткнулися з іншою проблемою – не впадайте у відчай! Гугліть помилку. Чесно кажучи, Google – ваш найкращий друг. І Stack Overflow теж.
«Завжди кодуй так, ніби хлопець, який буде підтримувати твій код, — буйний психопат, який знає, де ти живеш.»
John Woods
І пам'ятайте: краще запобігти проблемі, ніж її вирішувати. Тому робіть бекапи, налаштовуйте безпеку і регулярно оновлюйте phpMyAdmin. Попередження: скупий платить двічі. В даному випадку – своїм часом і нервами.
Ось і все! Сподіваюся, цей посібник був корисним для вас. Удачі вам у встановленні та налаштуванні phpMyAdmin! Якщо у вас є питання, не соромтеся задавати їх в коментарях.
Зовнішні посилання:
- Офіційна документація phpMyAdmin
- Stack Overflow
Потрібно більше потужності для баз даних? Переходьте на виділений сервер!
Ваші проекти ростуть? Отримайте максимальну продуктивність і контроль з NVMe виділеними серверами.
Підібрати сервер →




