tło

Instalacja phpMyAdmin (Debian).

Możesz skorzystać z tego poradnika jeśli posiadasz: Serwer VPS SSD VPS KVM SSD VPS OpenVZ Serwer Dedykowany
Ostatnia modyfikacja: 23 lipca 2021
Przeczytanie zajmie Ci: 2 min

Instalacja phpMyAdmin do łatwiejszej obsługi naszej bazy danych MySQL z poziomu przeglądarki WWW.

Dystrybucja: Debian 10

Ten poradnik zakłada że na naszym serwerze jest już zainstalowany LAMP czyli Apache, MySQL oraz PHP.

 

Jeśli stos LAMP mamy zainstalowany i działający, przechodzimy do instalacji phpmyadmin.

  • W pierwszej kolejności logujemy się do swojego VPS po SSH np. za pomocą puTTy, na domyślny port 22
  • Następnie po zalogowaniu na konto ’root’ wydajemy polecenie aktualizacji listy pakietów poleceniem:
apt update

Wynik:

root@adamhitme:~# apt update
Hit:1 http://ftp.debian.org/debian buster InRelease
Hit:2 http://security.debian.org buster/updates InRelease
Hit:3 http://ftp.debian.org/debian buster-updates InRelease
Reading package lists... Done

 

Ręczna instalacja phpMyAdmin.

W odróżnieniu od Debian 9 czy Debian 11, Debian 10 nie ma w repozytorium dostępnego pakietu phpMyAdmin. W związku z tym musimy zainstalować go ręcznie.

  • Instalujemy pakiety potrzebne dla phpMyAdmin:
apt -y install wget php php-cgi php-mysqli php-pear php-mbstring php-gettext libapache2-mod-php php-common php-phpseclib php-mysql
  • Pobieramy archiwum phpMyAdmin
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip
  • Rozpakowujemy archiwum i przenosimy
unzip phpMyAdmin-5.1.1-all-languages.zip
mv phpMyAdmin-*/ /usr/share/phpmyadmin
  • Tworzymy katalog tymczasowy dla phpMyAdmin
mkdir -p /var/lib/phpmyadmin/tmp
  • zmieniamy właściciela dla katalogu
chown -R www-data:www-data /var/lib/phpmyadmin
  • Kopiujemy plik konfiguracyjny
cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php
  • Edytujemy plik konfiguracyjny
nano /usr/share/phpmyadmin/config.inc.php
  • Ustalamy sobie długie hasło-secret i wpisujemy w pliku konfiguracyjnym w linii
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
  • ma to wyglądać np. tak:
$cfg['blowfish_secret'] = 'naszedlugiehaslosecretxyz1234567890';
  • Ustalamy nowe hasło do mysql wpisując w miejsce 'haslo’ – nasze hasło
$cfg['Servers'][$i]['controluser'] = 'pma'; 
$cfg['Servers'][$i]['controlpass'] = 'haslo';
  • Następnie usuwamy oznaczenia zakomentowanych (nieaktywnych) linii usuwając podwójne slashe ’ // ’ w następujących liniach:
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
  • na końcu pliku konfiguracyjnego dodajemy linię wpisu z naszym katalogiem tymczasowym
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
  • Zapisujemy zmiany w pliku naciskając klawisz ’F2’ oraz potwierdzając nazwę pliku klawiszem [enter].

 

Konfiguracja Apache.

  • Tworzymy i edytujemy plik phpmyadmin.conf
nano /etc/apache2/conf-enabled/phpmyadmin.conf
  • Wklejając poniższy kod
Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>

</Directory>

<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>
  • Po czym restartujemy usługę Apache:
systemctl restart apache2

 

Konfiguracja bazy danych.

  • Importujemy potrzebne tabele do MySQL
mysql < /usr/share/phpmyadmin/sql/create_tables.sql
  • Następnie wydamy kilka poleceń SQL w MariaDB, w tym celu uruchamiamy poleceniem mysql

Wynik:

root@adamhitme:~# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 127
Server version: 10.3.29-MariaDB-0+deb10u1 Debian 10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
  • następnie wprowadzamy kwerendę SQL:
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'haslo';

Uwaga! W miejsce 'haslo’ – podajemy to samo hasło, które wpisaliśmy w pliku /usr/share/phpmyadmin/config.inc.php w pozycji $cfg['Servers'][$i]['controlpass']

  • Następnie tworzymy użytkownika np. 'janek’, który będzie mógł zalogować się do phpMyAdmin, ponownie w miejscu 'haslo’ nadajemy mu własne nowe hasło
GRANT ALL PRIVILEGES ON *.* TO 'janek'@'localhost' IDENTIFIED BY 'haslo' WITH GRANT OPTION;
  • Wychodzimy z MySQL poleceniem exit

 

Logowanie do panelu phpMyAdmin.

  • Otwieramy przeglądarkę i wpisujemy http://<adres IP serwera>/phpmyadmin
  • Podajemy login użytkownika np. (1) 'janek’ i (2) jego hasło, po czym klikamy w (3) „Wykonaj”
phpmyadmin

phpMyAdmin – okno logowania do panelu.

  • Po poprawnym logowaniu przenosi nas do panelu phpMyAdmin.
phpmyadmin

Panel phpMyAdmin.

 

 

Czy ten artykuł był pomocny?
0 0 z 0 uznało ten artykuł za pomocny .
Wyświetleń: 23
... ... ...
Czy kawa już zaparzona?

Polecamy nasz BLOG, gdzie publikujemy: #informacje, #poradniki, #tutoriale oraz #nowinki ze świata hostingu.

blog.hitme.pl

Masz pytania? Przeszukaj naszą Bazę Wiedzy