phpMyAdmin® je bezplatný a open source administrační nástroj pro MySQL® a MariaDB®. Jako přenosná webová aplikace napsaná primárně v PHP se phpMyAdmin stal jedním z nejpopulárnějších nástrojů pro správu MySQL, zejména pro webhostingové služby.
Tento článek popisuje, jak nainstalovat a nakonfigurovat phpMyAdmin na váš webový server pro CentOS® 7, Red Hat® Enterprise Linux® (RHEL) 7 a Ubuntu® 16.04 LTS.
Předpoklady
Než budete moci nainstalovat phpMyAdmin, musíte mít na svém serveru nainstalováno následující:
- Webový server, jako je Apache® nebo NGINX®
- PHP
Zkontrolujte, zda je nainstalován webový server
Pomocí příkazů v následující tabulce zkontrolujte, zda je nainstalován webový server:
Operační systém | Webový server | Příkaz |
---|---|---|
CentOS a RHEL | Apache | rpm -qa | grep httpd |
CentOS a RHEL | NGINX | rpm -qa | grep nginx |
Operační systém Ubuntu | Apache | dpkg -l | grep apache |
Operační systém Ubuntu | NGINX | dpkg -l | grep nginx |
Zkontrolujte, zda je nainstalováno PHP
Pomocí následujícího příkazu zkontrolujte, zda je PHP nainstalováno na CentOS nebo RHEL:
rpm -qa | grep php
Pomocí následujícího příkazu zkontrolujte, zda je PHP nainstalováno v operačním systému Ubuntu:
dpkg -l | grep php
Nainstalovat phpMyAdmin
Pro instalaci phpMyAdmin použijte pokyny v následujících částech.
CentOS a RHEL
Nainstalujte phpMyAdmin pomocí následujícího příkazu:
yum install phpmyadmin
Výstup by měl být podobný následujícímu příkladu:
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.mhd.uk.as44574.net
* epel: mirror.freethought-internet.co.uk
* extras: mirror.mhd.uk.as44574.net
* updates: mirror.mhd.uk.as44574.net
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.4.15.10-3.el7 will be installed
--> Processing Dependency: php-mysqli >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-mbstring >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-gd >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-xmlwriter for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf-dejavu-sans-fonts for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-php-gettext for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Running transaction check
Operační systém Ubuntu
Nainstalujte phpMyAdmin pomocí následujícího příkazu:
apt-get install php phpmyadmin
Výstup by měl být podobný následujícímu příkladu:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
dbconfig-common dbconfig-mysql fontconfig-config fonts-dejavu-core javascript-common libfontconfig1 libgh3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml
Suggested packages:
libgd-tools php-libsodium php-gmp php-imagick www-browser
The following NEW packages will be installed:
dbconfig-common dbconfig-mysql fontconfig-config fonts-devaju-core javascript-common libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml phpmyadmin
0 upgraded, 28 newly installed, 0 to remove and 6 not upgraded.
Need to get 16.3 MB of archives.
After this operation, 61.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Stiskněte Y a poté stiskněte Enter pokračujte v procesu konfigurace. Viz Konfigurace phpMyAdmin v operačním systému Ubuntu sekce pro další pokyny.
Konfigurace phpMyAdmin na CentOS a RHEL
Po instalaci phpMyAdmin na váš webový server použijte pokyny v následujících částech pro konfiguraci phpMyAdmin.
Webový server Apache
Nejprve musíte přidat adresu internetového protokolu (IP), kterou chcete používat pro přístup k phpMyAdmin, do /etc/phpMyAdmin/config.inc.php konfigurační soubor.
-
Otevřete /etc/phpMyAdmin/config.inc.php soubor v textovém editoru.
-
V sekci začínající řádkem
<IfModule !mod_authz_core.c>
, přidejte adresu IP, jak je znázorněno v následujícím příkladu:<IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 Allow from Require ip 94.236.7.190 </IfModule> </Directory>
-
Uložte a zavřete soubor.
Nastavit alias adresy URL (volitelné)
Standardní adresa URL pro instalaci phpMyAdmin jehttps://ipaddress/phpMyAdmin , kde adresa IP je IP adresa, kterou jste přidali do konfiguračního souboru v předchozí části. Pokud chcete změnit adresu URL, můžete nastavit alias.
-
Otevřete /etc/httpd/conf.d/phpMyAdmin.conf soubor v textovém editoru.
-
Najděte řádky začínající
Alias
a změňte/phpMyAdmin
na thealias dle vašeho výběru, jak ukazuje následující příklad:Alias /NewName /usr/share/phpMyAdmin Alias /newname /usr/share/phpMyAdmin
-
Uložte a ukončete soubor.
Konfigurační soubor databáze
Pokud databázový server MySQL nebo MariaDB, který chcete používat s phpMyAdminis, není umístěn na stejném serveru jako váš webový server, musíte upravit konfigurační soubor databáze, abyste definovali umístění databázového serveru.
Existují dvě možnosti konfigurace:
- Hostitel MySQL nebo IP adresa
- Port MySQL/MariaDB
Pomocí následujících kroků definujte umístění databázového serveru:
-
Otevřete /etc/phpMyAdmin/config.inc.php soubor v textovém editoru.
-
Upravte soubor podle následujícího příkladu:
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address $cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port $cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket $cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket') $cfg['Servers'][$i]['extension'] = 'mysqli'; // The php MySQL extension to use ('mysql' or 'mysqli') $cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection // (requires PHP >= 4.3.0) $cfg['Servers'][$i]['controluser'] = ''; // MySQL control user settings // (this user must have read-only $cfg['Servers'][$i]['controlpass'] = ''; // access to the "mysql/user" // and "mysql/db" tables).
-
Uložte a ukončete soubor.
Chcete-li provést změny, musíte zkontrolovat syntaxi démona webového enginu a poté jej elegantně restartovat nebo znovu načíst.
Zkontrolujte syntaxi pomocí následujícího příkazu:
apachectl configtest
Pokud v konfiguračním souboru nejsou žádné chyby, měli byste vidět Syntax OK
ve výstupu.
Znovu načtěte webový server Apache pomocí následujícího příkazu:
CentOS a RHEL 6
service httpd graceful
CentOS a RHEL 7
systemctl status httpd
Pomocí následujícího příkazu zkontrolujte stav služby httpd a ujistěte se, že funguje podle očekávání:
CentOS a RHEL 6
service httpd status
CentOS a RHEL 7
systemctl status httpd
Nyní byste měli být schopni zobrazit phpMyAdmin prostřednictvím webového prohlížeče, jak je znázorněno na následujícím obrázku:
Webový server NGINX
Na NGINX balíček phpMyAdmin nepřichází s konfiguračním souborem, takže musíte vytvořit blok serveru, který bude odkazovat na konfigurační soubor phpMyAdmin.
-
Otevřete textový editor a vytvořte soubor /etc/nginx/conf.d/phpMyAdmin.conf .
-
Zadejte následující konfigurační nastavení:
server { listen 80; server_name 95.138.162.233; root /var/www; location /phpMyAdmin { root /usr/share/; index index.php; # auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security # auth_basic_user_file /etc/nginx/.pma_pass; # uncomment if using .htaccess & .htpasswd security location ~\.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpmyadmin { rewrite ^/* /phpMyAdmin last; } }
-
Uložte a ukončete soubor.
Chcete-li provést změny, musíte zkontrolovat syntaxi démona webového enginu a poté jej elegantně restartovat nebo znovu načíst.
Ke kontrole syntaxe použijte následující příkaz:
nginx -t
Pokud v konfiguračním souboru nejsou žádné chyby, měli byste vidět Syntax OK
ve výstupu.
Znovu načtěte webový server NGINX pomocí následujícího příkazu:
CentOS a RHEL 6
service nginx graceful
CentOS a RHEL 7
systemctl reload nginx
Pomocí následujícího příkazu zkontrolujte stav služby NGINX, abyste se ujistili, že funguje podle očekávání:
CentOS a RHEL 6
service nginx status
CentOS a RHEL 7
systemctl status nginx
Nyní byste měli být schopni zobrazit phpMyAdmin prostřednictvím webového prohlížeče, jak je znázorněno na následujícím obrázku:
Konfigurace phpMyAdmin v operačním systému Ubuntu
Ke konfiguraci phpMyAdmin v operačním systému Ubuntu použijte kroky v následujících částech.
Webový server Apache
Instalační proces přidá konfigurační soubor phpMyAdmin Apache do /etc/apache2/conf-enabled/ adresář, kde se automaticky načte. Jediné, co musíte udělat, je povolit mbstring
PHP rozšíření, které můžete provést spuštěním následujícího příkazu:
sudo phpenmod mbstring
Po instalaci phpMyAdmin se zobrazí konfigurační obrazovka balíčku, jak je znázorněno na následujícím obrázku.
Pomocí mezerníku vyberte apache2 , stiskněte Tab vyberte možnostOK a poté stiskněte Enter .
Proces instalace pokračuje, dokud se nezobrazí další konfigurační obrazovka, která vás vyzve k potvrzení, zda chcete nakonfigurovat databázi pro phpMyAdmin pomocí dbconfig-common
.
Vyberte možnost Ano a poté stiskněte Enter .
Budete vyzváni k zadání hesla správce databáze. Zadejte heslo a stiskněte Tab vyberte OK a poté stiskněte Enter .
Dále zadejte heslo pro samotnou aplikaci phpMyAdmin, stiskněte Tab vyberte OK a poté stiskněte Enter .
Potvrďte heslo výběrem OK a poté stiskněte Enter .
Po dokončení procesu instalace je konfigurační soubor phpMyAdmin přidán do /etc/apache2/conf-enabled/phpmyadmin.conf .
Pokud tento soubor po dokončení instalace neexistuje, můžete jej zkopírovat z /etc/phpmyadmin/apache.conf do /etc/apache2/conf-enabled . Pokud tento soubor neexistuje, musíte vytvořit virtuálního hostitele pro phpMyAdmin s následujícím nastavením:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/vhosts/example.com;
..
location /phpMyAdmin {
root /usr/share/;
index index.php;
# auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd; # uncomment if using .htaccess & .htpasswd security
location ~\.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpmyadmin {
rewrite ^/* /phpMyAdmin last;
}
...
}
Pokud kdykoli potřebujete překonfigurovat phpMyAdmin, můžete použít následující příkaz:
dpkg-reconfigure phpmyadmin
Konfigurace vzdálené databáze
Pokud je databázový server, který chcete spravovat pomocí phpMyAdmin, vzdálený, musíte phpMyAdmin nakonfigurovat jinak. Konfigurační soubory jsou umístěny v /etc/phpmyadmin adresář. Hlavní konfigurační soubor je/etc/phpmyadmin/config.inc.php , který obsahuje možnosti konfigurace, které se globálně vztahují na phpMyAdmin.
Chcete-li použít phpMyAdmin ke správě databáze MySQL hostované na jiném serveru, otevřete /etc/phpmyadmin/config.inc.php v textovém editoru a poté upravte následující řádek:
Starý řádek | Nový řádek |
---|---|
$cfg['Servers'][$i]['host'] = '$dbserver'; | $cfg['Servers'][$i]['host'] = '192.168.71.21'; |
Poznámka: Nahraďte $dbserver
se skutečným názvem vzdáleného databázového serveru nebo IP adresou. Také se ujistěte, že hostitel phpMyAdmin má oprávnění pro přístup ke vzdálené databázi.
Další konfigurační soubor, který musíte upravit, je/etc/phpmyadmin/apache.conf . Tento soubor je symbolicky propojen s /etc/apache2/conf-available/phpmyadmin.conf . Po jeho aktivaci se používá ke konfiguraci Apache2, aby obsluhoval stránku phpMyAdmin. Soubor obsahuje direktivy pro načítání PHP, oprávnění k adresářům a tak dále.
Spuštěním následujícího příkazu povolte konfigurační soubor a poté znovu načtěte službu:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin.conf sudo systemctl reload apache2.service
Nyní, když je na klientském počítači nainstalován phpMyAdmin, připojte se k vzdálenému serveru, kde je nainstalována databáze MySQL nebo MariaDB. Otevřete soubor /etc/mysql/mysql.conf.d/mysql.cnf a upravte následující řádek:
bind-address = 0.0.0.0
Nahraďte 0.0.0.0
s IP adresou vzdáleného serveru a poté soubor uložte a ukončete.
Spuštěním následujícího příkazu povolíte uživateli root přístup k serveru z klientského počítače:
sudo mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.71.20' IDENTIFIED BY 'root_password_here' WITH GRANT OPTION;
Nahraďte IP adresu adresou vzdáleného serveru a root_password_here
s heslem uživatele root.
Po úpravě nastavení konfigurace otevřete prohlížeč a přejděte na https://clientPC/phpmyadmin pomocí adresy IP klientského počítače nebo názvu hostitele. Měli byste být schopni se vzdáleně přihlásit k serveru z webového portálu phpMyAdmin klienta.
Znovu načtěte webový server
Chcete-li provést změny v konfiguračních souborech, musíte nejprve zkontrolovat syntaxi souboru a poté řádně restartovat nebo znovu načíst webový server.
Ke kontrole syntaxe konfiguračních souborů použijte následující příkaz:
apache2ctl configtest
Poté znovu načtěte webový server Apache spuštěním následujícího příkazu:
systemctl reload apache2
Zkontrolujte stav služby a ujistěte se, že funguje podle očekávání spuštěním následujícího příkazu:
system status apache2
Nyní byste měli být schopni zobrazit phpMyAdmin prostřednictvím webového prohlížeče, jak je znázorněno na následujícím obrázku:
Webový server NGINX
Po instalaci phpMyAdmin se zobrazí konfigurační obrazovka balíčku, jak je znázorněno na následujícím obrázku:
Pomocí mezerníku vyberte apache2 , stiskněte Tab vyberte možnostOK a poté stiskněte Enter .
Proces instalace pokračuje, dokud se nezobrazí další konfigurační obrazovka, která vás vyzve k potvrzení, zda chcete nakonfigurovat databázi pro phpMyAdmin pomocí dbconfig-common
.
Vyberte možnost Ano a poté stiskněte Enter .
Budete vyzváni k zadání hesla správce databáze. Zadejte heslo a stiskněte Tab vyberte OK a poté stiskněte Enter .
Dále zadejte heslo pro samotnou aplikaci phpMyAdmin, stiskněte Tab vyberte OK a poté stiskněte Enter .
Potvrďte heslo výběrem OK a poté stiskněte Enter .
Po dokončení procesu instalace musíte vytvořit konfigurační soubor phpMyAdmin zde:/etc/nginx/sites-enabled/phpmyadmin.conf .
Zadejte do souboru následující informace a poté jej uložte:
server {
listen 80;
server_name 95.138.162.233;
root /var/www;
location /phpmyadmin {
root /usr/share/;
index index.php;
try_files $uri $uri/ =404;
# auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/nginx/.pma_pass; # uncomment if using .htaccess & .htpasswd security
location ~ ^/phpmyadmin/(doc|sql|setup)/ {
deny all;
}
location ~ /phpmyadmin/(.+\.php)$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; include snippets/fastcgi-php.conf;
}
}
}
Vaše soubory phpMyAdmin jsou umístěny v /usr/share/phpmyadmin/ adresář. Výše uvedená konfigurace říká NGINX, že pokud návštěvníci zadajíhttps://ip_address/phpmyadmin v adresním řádku prohlížeče by měl najít index.php soubor v /usr/share/phpmyadmin/ adresář a zobrazte jej.
Znovu načtěte webový server
Chcete-li provést změny v konfiguračních souborech, musíte nejprve zkontrolovat syntaxi souboru a poté řádně restartovat nebo znovu načíst webový server.
Ke kontrole syntaxe konfiguračních souborů použijte následující příkaz:
nginx -t
Poté znovu načtěte webový server Apache spuštěním následujícího příkazu:
RHEL a CentOS 6
service nginx graceful
RHEl a CentOS 7
systemctl reload nginx
Zkontrolujte stav služby a ujistěte se, že funguje podle očekávání spuštěním následujícího příkazu:
RHEL a CentOS 6
service nginx status
RHEL a CentOS 7
systemctl status nginx
Nyní byste měli být schopni zobrazit phpMyAdmin prostřednictvím webového prohlížeče, jak je znázorněno na následujícím obrázku:
Nakonfigurujte další zabezpečení (volitelné)
htpasswd
se používá k vytváření a aktualizaci plochých souborů, které ukládají uživatelská jména a hesla pro základní ověřování uživatelů HTTP. Ifhtpasswd
nemůže získat přístup k souboru (nemůže zapisovat do výstupního souboru nebo číst soubor za účelem jeho aktualizace), vrací chybový stav a neprovádí žádné změny.
Pomocí kroků v následujících částech nastavte základní ověřování na webovém serveru se spuštěným phpMyAdmin.
Webový server Apache
Ve výchozím nastavení Apache nepovoluje použití .htaccess
. Apache musíte nakonfigurovat tak, aby umožňoval .htaccess
-založené ověřování.
Otevřete konfigurační soubor Apache v textovém editoru a najděte sekci, která začíná <Directory "/var/www/html">
.
Pro RHEL a CentOS je konfigurační soubor /etc/httpd/conf/httpd.conf .
Pro operační systém Ubuntu je konfigurační soubor /etc/apache2/conf/httpd.conf .
Změňte řádek z AllowOverride none
na AllowOverride AuthConfig
.
Poznámka :Pokud tento řádek zní AllowOverride All
, pak není nutná žádná změna.
Uložte a zavřete soubor.
htpasswd
příkaz se používá k vytváření a aktualizaci souborů, které ukládají uživatelská jména a hesla pro základní ověřování uživatelů Apache. Pomocí následujícího příkazu vytvořte skrytý soubor pro uložení uživatelského jména a zašifrovaného hesla pro každého uživatele:
htpasswd -c /etc/phpMyAdmin/.phpmyadmin-htpasswd username
Po vytvoření uživatele spusťte následující příkaz, abyste viděli uživatelské jméno a heslo v /etc/phpMyAdmin/.phpmyadmin-htpasswd soubor:
cat /etc/phpMyAdmin/.phpmyadmin-htpasswd
Výstup by měl být podobný následujícímu příkladu:
user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1
Nyní musíte povolit apache
uživatel, aby si přečetl .htpasswd
soubor spuštěním následujících příkazů:
chown apache:apache /etc/phpMyAdmin/.phpmyadmin-htpasswd
chmod 0660 /etc/phpMyAdmin/.phpmyadmin-htpasswd
Nakonec musíte odkomentovat následující řádky z konfiguračních souborů phpMyAdmin:
# auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd; # uncomment if using .htaccess & .htpasswd security
Webový server NGINX
htpasswd
příkaz se používá k vytváření a aktualizaci souborů, které ukládají uživatelská jména a hesla pro základní ověřování uživatelů Apache. Pomocí následujícího příkazu vytvořte skrytý soubor pro uložení uživatelského jména a zašifrovaného hesla pro každého uživatele:
htpasswd -c /etc/nginx/.pma_pass username
Po vytvoření uživatele spusťte následující příkaz, abyste viděli uživatelské jméno a heslo v /etc/nginx/.pma_pass soubor:
cat /etc/nginx/.pma_pass
Výstup by měl být podobný následujícímu příkladu:
user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1
Nyní musíte povolit apache
uživatel, aby si přečetl .htpasswd
soubor spuštěním následujících příkazů:
chown nginx:nginx /etc/nginx/.pma_pass
chmod 0660 /etc/nginx/.pma_pass
Nakonec musíte odkomentovat následující řádky z konfiguračních souborů phpMyAdmin:
# auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd; # uncomment if using .htaccess & .htpasswd security