Debian 10 - phpMyAdmin
Debian 10-re való frissítéskor észrevehetjük, hogy a phpMyAdmin csomag obsolete lett, azaz hivatalos tárolóból már nem telepíthető. Nem nagy baj, többnyire eddig is kerültük az
apt install webescuccrengetegfüggőséggelésésdisztribúcióspecifikuskonfigurációval
típusú megoldásokat, de ha esetleg van még ilyenünk, akkor ideje eltakarítani és beüzemelni egy jobb megoldást.
Először tehát takarítunk
apt --purge remove phpmyadmin
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: dbconfig-common dbconfig-mysql libjs-sphinxdoc libjs-underscore php-bz2 php-curl php-gd php-mysql php-php-gettext php-phpseclib php7.3-bz2 php7.3-curl php7.3-gd php7.3-mysql Use 'apt autoremove' to remove them. The following packages will be REMOVED: phpmyadmin* 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. After this operation, 24.8 MB disk space will be freed. Do you want to continue? [Y/n]y (Reading database ... 55135 files and directories currently installed.) Removing phpmyadmin (4:4.6.6-4+deb9u2) ... Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
A felmerülő kérdésekre igent mondunk, azaz:
Deconfigure database for phpmyadmin with dbconfig-common?
Yes.
Delete the database for phpmyadmin?
Yes.
dbconfig-common: dumping mysql database phpmyadmin to /var/tmp/phpmyadmin.phpmyadmin.2020-12-01-10.08.mysql.5w9c3U. dbconfig-common: dropping mysql database phpmyadmin. dropping database phpmyadmin: success. verifying database phpmyadmin was dropped: success. dbconfig-common: revoking privileges for user phpmyadmin on phpmyadmin. revoking access to database phpmyadmin from phpmyadmin@localhost: success. Processing triggers for man-db (2.8.5-2) ... (Reading database ... 53470 files and directories currently installed.) Purging configuration files for phpmyadmin (4:4.6.6-4+deb9u2) ...
Jobb megoldás 1 - Adminer
Egyetlen PHP fájlból álló MySQL adminisztrációs felület, amit bemásolhatunk bármely PHP projektünkbe.
Jobb megoldás 2 - Docker
docker-compose.yml
version: '3'
services:
phpmyadmin:
image: phpmyadmin
container_name: phpmyadmin
network_mode: bridge
environment:
- PMA_HOSTS=172.17.0.1
restart: always
ports:
- 127.0.0.1:81:80
Megjegyzések
A
PMA_HOSTS
(vesszővel tagolt lista) környezeti változóval adhatjuk meg a MySQL szervek ip címeit, vagy hosztneveit.
Indítás az yml fájlt tartalmazó könyvtárból
docker-compose up -d
Nginx vhost
server {
listen 80;
server_name phpmyadmin.domain.hu;
location / {
proxy_pass http://127.0.0.1:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header X-Real-IP $remote_addr;
}
}
MySQL konfiguráció
/etc/mysql/mariadb.conf.d/50-server.cnf
A MySQL szerver figyeljen az összes interface-en.
[server]
bind-address = 0.0.0.0
És még
mysql -h localhost -u root -p
SHOW GRANTS FOR 'root'@'localhost';
+--------------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for root@localhost | +--------------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` IDENTIFIED VIA unix_socket USING '*...' WITH GRANT OPTION | | GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION | +--------------------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.000 sec)
SHOW GRANTS FOR 'root'@'%';
ERROR 1141 (42000): There is no such grant defined for user 'root' on host '%'
UPDATE mysql.user SET Host='%' WHERE Host='localhost';
UPDATE mysql.user SET plugin='mysql_native_password';
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'root'@'%';
+--------------------------------------------------------------------------------------------------------------------------------+ | Grants for root@% | +--------------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO `root`@`%` IDENTIFIED BY PASSWORD '*...' WITH GRANT OPTION | +--------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.001 sec)
Működik

Címkék
Biztonság
Azzal itt most nem foglakozunk. A dokumentum arról szól, hogy hogyan érhetjük el a működőképes állapotot.