Installeren en beveiligen van phpMyAdmin op Ubuntu 18.04 LTS

 

phpMyAdmin is een gratis en open source beheerstool voor MySQL en MariaDB. phpMyAdmin is een webgebaseerde tool waarmee u eenvoudig MySQL- of MariaDB-databases kunt beheren. U kunt beheertaken uitvoeren, zoals het maken, bewerken of verwijderen van databases, databasebackups importeren en exporteren, zoekopdrachten uitvoeren en gebruikers en machtigingen beheren met phpMyAdmin.

Kenmerken

  • Ondersteuning in meerdere talen.
  • Gegevens importeren uit CSV en SQL.
  • Geef live-grafieken op om MySQL-serveractiviteiten te controleren, zoals verbindingen, processen, CPU / geheugengebruik, enz.
  • Globaal zoeken in een database of een subset ervan.
  • Eenvoudige en gebruiksvriendelijke webinterface.
  • Exporteer gegevens naar verschillende indelingen zoals, CSV, SQL, XML, PDF, Word, Excel, LaTeX en anderen.

In deze tutorial zullen we uitleggen hoe phpMyAdmin op de Ubuntu 18.04-server moet worden geïnstalleerd en beveiligd.

Voorwaarden

    • Een server waarop Ubuntu 18.04 wordt uitgevoerd.
    • Een niet-rootgebruiker met sudo-privileges.

Installeer phpMyAdmin

Voordat u begint, moet u Apache en MySQL op uw server installeren. U kunt het met de volgende opdracht installeren:

sudo apt-get install apache2 mysql-server -y

Standaard is phpMyAdmin niet beschikbaar in de standaardrepository van Ubuntu 18.04. U moet dus de externe PHP-repository aan uw systeem toevoegen.

U kunt het toevoegen door gewoon de volgende opdracht uit te voeren:

sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php

Nadat de repository is toegevoegd, installeert u phpMyAdmin door de volgende opdracht uit te voeren:

sudo apt-get install phpmyadmin php-mbstring php-gettext -y

Tijdens de installatie wordt u gevraagd om de webserver te kiezen zoals hieronder getoond:

Installeer phpMyAdmin

Kies Apache en klik op OK knop. U wordt doorgestuurd naar de volgende pagina:

Configureer de database met dbconfig common

Klik nu op Ja knop. Je zou de volgende pagina moeten zien:

Stel het MySQL-app-wachtwoord in

Bevestig wachtwoord

Hier geeft u uw MySQL-toepassingswachtwoord op voor phpMyAdmin en klikt u op de OK knop.

Nadat de phpMyAdmin is geïnstalleerd, schakelt u de extensie mbstring PHP in met de volgende opdracht:

sudo phpenmod mbstring

Start vervolgens de Apache-service opnieuw om de wijzigingen toe te passen:

sudo systemctl restart apache2

Gebruikersauthenticatie configureren

phpMyAdmin creëerde automatisch een databasegebruiker met de naam phpmyadmin met het beheerderswachtwoord dat u tijdens de installatie hebt ingesteld. Maar het wordt aanbevolen om een ​​aparte gebruiker te maken voor het beheren van databases via de phpMyAdmin webinterface. In de nieuwste versie van MariaDB is de root MySQL-gebruiker standaard ingesteld om te authenticeren met de auth_socket-plug-in. Dus als u zich wilt aanmelden bij phpMyAdmin als uw root-MySQL-gebruiker, moet u de verificatiemethode van auth_socket wijzigen in mysql_native_password.

Log eerst in op MySQL-shell met de volgende opdracht:

sudo mysql

Controleer vervolgens de authenticatiemethode van MySQL-gebruiker met de volgende opdracht:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output:

+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | gebruiker | authentication_string | plugin | host | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | root | | auth_socket | localhost | | mysql.session | * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | * AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + 4 rijen in set (0.01 sec)

In de bovenstaande uitvoer zou je moeten zien dat rootgebruiker auth_socket plug-in gebruikt.

U kunt het root-account zo configureren dat het wordt geverifieerd met een wachtwoord door de volgende opdracht uit te voeren:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Spoel vervolgens de rechten door met de volgende opdracht:

mysql> FLUSH PRIVILEGES;

Controleer nu de verificatiemethoden door de volgende opdracht uit te voeren:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Output:

+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | gebruiker | authentication_string | plugin | host | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | root | * 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost | | mysql.session | * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | * AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + 4 rijen in set (0.01 sec)

Maak vervolgens een afzonderlijke gebruiker met de naam phpmyadminuser om verbinding te maken met phpMyAdmin.

Log eerst in op MySQL shell:

mysql -u root -p

Voer je root-wachtwoord in en maak vervolgens een gebruiker met de volgende opdracht:

MariaDB [(none)]> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';

Geef vervolgens de juiste rechten aan phpmyadminuser met de volgende opdracht:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;

Sluit ten slotte de MySQL-shell af met de volgende opdracht:

MariaDB [(none)]> exit;

Open nu uw webbrowser en typ de URL http: // uw-server-ip / phpmyadmin. U wordt doorgestuurd naar de volgende pagina:

phpMyAdmin login

Hier geef je je gebruikersnaam en wachtwoord op. Klik vervolgens op de Go knop. U zou het PhpMyAdmin-dashboard op de volgende pagina moeten zien:

phpMyAdmin dashboard

Secure PhpMyAdmin

phpMyAdmin is nu geïnstalleerd en geconfigureerd. Het wordt echter aanbevolen om uw phpMyAdmin-instantie te beveiligen om ongeautoriseerde toegang te voorkomen. U kunt phpMyAdmin beveiligen met de ingebouwde .htaccess-authenticatie- en autorisatiefuncties van Apache.

Om dit te doen, moet u eerst het gebruik van .htaccess bestandsoverschrijvingen inschakelen door het phpmyadmin.conf bestand te bewerken:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Breng de volgende wijzigingen aan:

Opties SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All

Sla het bestand op en sluit het. Start vervolgens de Apache-service opnieuw om de chnages toe te passen:

sudo systemctl restart apache2

Maak vervolgens een .htaccess-bestand aan in de map phpmyadmin:

sudo nano /usr/share/phpmyadmin/.htaccess

Voeg de volgende regels toe:

AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Vereist geldige gebruiker

Sla het bestand op en sluit het. Maak vervolgens een gebruiker met de naam admin met het hulpprogramma htpasswd:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin

Output:

Nieuw wachtwoord: Type nieuw wachtwoord opnieuw: Wachtwoord toevoegen voor gebruikersbeheerder

Uw phpMyAdmin-instantie is nu beveiligd met een extra authenticatielaag.

Open nu uw webbrowser en typ de URL http: // uw-server-ip / phpmyadmin. U wordt omgeleid naar de extra accountnaam en het wachtwoord dat u zojuist hebt geconfigureerd, zoals hieronder wordt weergegeven:

phpMyAdmin beveiligd met .htaccess

Geef nu uw gebruikersnaam en het wachtwoord op en klik op de Log In knop. U moet worden omgeleid naar de normale phpMyAdmin-verificatiepagina.

Links

 

bron