Cum se instalează phpMyAdmin pe Windows Server

phpMyAdmin
phpMyAdmin

phpMyAdmin este un sistem de gestiune a bazelor de date MySQL sau MariaDB liber și open source. Ca o aplicație web portabilă scrisă în principal în PHP, a devenit unul dintre cele mai populare instrumente de administrare MySQL, în special pentru serviciile de găzduire web. Prin phpMyAdmin se pot efectua diverse operații, cum ar fi:

  • crează, modifică sau șterge baze de date;
  • execută o interogare/interogări SQL (Structured Query Language/limbaj de interogare structurat);
  • exportă bazele de date de pe serverul curent;
  • importă bazele de date necomprimate .sql sau comprimate .sql.zip în serverul curent.
La ora actuală, phpMyAdmin este disponibil în 72 de limbi și poate fi descărcat de pe https://www.phpmyadmin.net/downloads/ sub forma phpMyAdmin-x.x.x.x-all-languages.zip unde x.x.x.x reprezintă ultima versiune disponibilă (ex. 4.9.0.1). phpMyAdmin urmează să fie instalat pe un sistem de operare Windows Server 2019 Standard Evaluation (Desktop Experience) având IIS (Internet Information Services) cu CGI (Common Gateway Interface), Microsoft Visual C++ Redistributable Package, PHP și MySQL. Urmați articolele Cum se instalează MySQL pe Windows Server și Cum se instalează PHP pe Windows Server dacă acestea nu sunt instalate în pregătirea folosirii corecte a gestionarului phpMyAdmin. După ce toți acești pași au fost urmați continuăm instalarea lui phpMyAdmin:
  1. Click dreapta pe fișierul phpMyAdmin-x.x.x.x-all-languages.zip, selectăm 7-Zip iar ca Destinație alegem Dezarhivează înphpMyAdmin-x.x.x.x-all-languages\„. După ce extragerea a fost completă redenumiți folderul phpMyAdmin-x.x.x.x-all-languages cu phpmyadmin unde îl copiați în C:\inetpub\wwwroot\; Dacă folosiți Extract All în loc de 7-Zip trebuie să știți că după extragere vor fi create 2 foldere, al doilea trebuie redenumit și copiat în C:\inetpub\wwwroot\;
  2. Deschideţi Internet Information Services (ISS) Manager prin Start\Windows Administrative Tools sau Server Manager\Tools\Internet Information Services (ISS) Manager şi faceţi extindere la site-ul implicit (Default Web Site) unde se găseşte phpmyadmin, click dreapta pe el şi apoi Convert to Application;
  3. În fereastra Add Application lăsaţi setările implicite şi daţi mai departe pe OK;
  4. Creaţi un folder C:\temp\phpsessions pentru ca sesiunile din PHP să fie salvate acolo. Sesiunea este un registru global în care se înregistrează date privind identitatea utilizatorului. Folderului temp și phpsessions îi veţi da drepturi depline prin click dreapta, PropertiesSecurityUsers apoi Edit şi în dreptul lui Full control bifaţi Allow;
  5. Edităm fişierul php.ini cu Notepad sau Notepad++ din C:\php\ și vom căuta cu ajutorul lui Ctrl+F următoarea linie de cod:
;session.save_path = "/tmp" unde îl vom înlocui cu session.save_path = "C:\temp\phpsessions"
Dacă tot sunteţi aici verificaţi extensiile de mai jos să fie necomentate, adică fară „;” pentru a fi încarcate automat:
extension=php_bz2
extension=curl
extension=gd2
extension=mysqli
extension=mbstring
În funcție de aplicațiile PHP, la cerere mai pot fi deschise și alte extensii. Le vom deschide la momentul potrivit. Ctrl+S pentru a salva modificarile din php.ini;
  1. Ca să repornim IIS deschidem Comand Prompt sau PowerShell și scriem iisreset

C:\Users\Administrator>iisreset

Attempting stop…
Internet services successfully stopped
Attempting start…
Internet services successfully restarted

  1. La IIS Manager faceţi din nou extindere la site-ul implicit (Default Web Site) la phpmyadmin. În fereastra din dreapta dăm două clickuri pe Default Document, căutam index.php, îl selectăm şi dăm Move up să apară primul în lista respectivă; Daca index.php nu există deja se dă Actions\Add și adăugați la Name: index.php
  2. În C:\inetpub\wwwroot\phpmyadmin căutaţi să editaţi fişierul config.sample.inc.php unde la sfârșit acesta o să fie salvat sub numele de config.inc.php prin Ctrl+Alt+S sau File\Save As…
Căutaţi linia
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
unde vom introduce o parolă puternică de maxim 32 caractere
$cfg['blowfish_secret'] = 'parolăputernică-1'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
  1. Următoarele linii ce vor fi modificate sunt
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
unde vor arăta necomentate şi cu pmapass modificat după alegere
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'parolăputernică-2';
  1. Următoarele linii de cod ce vor fi necomentate vor fi cele de la /* Storage database and tables */
şi anume
$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';
apoi salvați fişierul prin Save As (Ctrl+Alt+S) cu numele config.inc.php în C:\inetpub\wwwroot\phpmyadmin
  1. Tastați în browser-ul implicit adresa  http://localhost/phpmyadmin/index.php unde ne vom Autentifica cu Nume utilizator root şi parola de la instalarea lui MySQL;
  2. Erori apărute și de rezolvat:

Cannot log in to the MySQL server

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

Connection for controluser as defined in your configuration failed.

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

  1. Pentru a schimba metoda de autentificare a serverului navigați către 6.4.1 Authentication Plugins și alegeți una dintre metode pentru instalare;
  2. Default Authentication Plugin Considerations ne indică să modificăm

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

# The default authentication plugin to be used when connecting to the server
default_authentication_plugin=caching_sha2_password

cu

default_authentication_plugin=mysql_native_password

Dar acum avem altă eroare: mysqli_real_connect(): (HY000/2002): No connection could be made because the target machine actively refused it.

Winkey + R și scrieți services.msc apoi căutați MySQL să verificați dacă este pornit.

  1. La final, ca o soluție temporară vom alege pentru server Authentification Method: Legacy
  2. Vom dezinstala MySQL prin Control Panel\All Control Panel Items\Programs and Features și apoi ștergem folderul C:\ProgramData\MySQL;
  3. Deschidem MySQL Installer, urmăm pașii de la Cum se instalează MySQL pe Windows Server, iar la Authentication Method am schimbat cu Use Legacy Authentication Method (Retain MySQL 5.x Compatibility);
  4. Navigăm din nou către http://localhost/phpmyadmin/index.php, ne autentificăm prin utilizator root și parola de la instalarea MySQL;
  5. Alte erori apărute ce necesită a fi rezolvate:

The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why.
Or alternately go to ‘Operations’ tab of any database to set it up there.

Open new phpMyAdmin window

mysqli_real_connect(): (HY000/1045): Access denied for user ‘pma’@’localhost’ (using password: YES)

Connection for controluser as defined in your configuration failed.

The $cfg[‘TempDir’] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

Urmând toate aceste proceduri, intalări, reinstalări, schimbare linii de cod, avem până la urmă și un sistem de gestiune al bazelor de date instalat pe un server de web.

Ultima versiune de phpMyAdmin o puteţi găsi la https://www.phpmyadmin.net în sectorul Download.