phpMyAdmin is een gratis en open source beheertool voor MySQL en MariaDB. Als een draagbare webtoepassing die voornamelijk in PHP is geschreven, is het een van de meest populaire MySQL-beheertools geworden, vooral voor webhostingservices. In deze handleiding gaan we phpMyAdmin met Apache installeren op CentOS 7.
Een belangrijke voorwaarde voordat u deze handleiding gebruikt, is dat u een LAMP-stack (Linux, Apache, MariaDB en PHP) op uw CentOS 7-server installeert. De LAMP-stack is het platform dat zal worden gebruikt om onze phpMyAdmin-interface te bedienen (MariaDB is ook de databasebeheersoftware die we willen beheren). Als je nog geen LAMP-installatie op je server hebt, klik dan hier om te lezen onze tutorial over het installeren van LAMP op CentOS 7.
Stap 1:EPEL-repo toevoegen:
We moeten de EPEL-repo (Extra Packages for Enterprise Linux) aan onze server toevoegen voordat we verder gaan met de installatie. Deze bevat veel extra pakketten, waaronder het phpMyAdmin-pakket waarnaar we op zoek zijn. Typ de onderstaande opdracht om te installeren:
sudo yum install epel-release
Stap 2:installeer phpMyAdmin:
Typ de onderstaande opdracht om het phpMyAdmin-pakket te installeren met behulp van het yum-verpakkingssysteem, gevolgd door y om door te gaan:
sudo yum install phpmyadmin
Na een succesvolle installatie zou u een vergelijkbaar resultaat moeten krijgen zoals hieronder weergegeven:
De installatie bevat een Apache-configuratiebestand dat in de juiste map is geplaatst. We moeten dit configuratiebestand aanpassen om onze installatie perfect te laten werken voor onze behoeften.
Open de phpMyAdmin.conf
in de /etc/httpd
bestand in de teksteditor (nano in deze handleiding) om een paar wijzigingen aan te brengen:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Momenteel is de instelling in het configuratiebestand zo geconfigureerd dat toegang wordt geweigerd tot verbindingen die niet vanaf de server zelf worden gemaakt. Aangezien we onze server op afstand beoordelen (via ssh), moeten we enkele regels aanpassen om het IP-adres van uw thuisverbinding te specificeren.
De eerste locatie is de <Directory /usr/share/phpMyAdmin/>
sectie zoals hieronder getoond:
Wijzig alle regels met de tekst Require ip 127.0.0.1
of Allow from 127.0.0.1
om naar het IP-adres van uw thuisverbinding te verwijzen.
Opmerking: Als je hulp nodig hebt bij het vinden van het IP-adres van je thuisverbinding, klik dan hier om het te controleren.
De tweede locatie is de <Directory /usr/share/phpMyAdmin/setup/>
sectie zoals hieronder getoond:
Wijzig ook alle regels met de tekst Require ip 127.0.0.1
of Allow from 127.0.0.1
om naar het IP-adres van uw thuisverbinding te verwijzen.
Opmerking: Het IP-adres van je thuisverbindingen verschilt van het IP-adres van je VPS.
Nadat u de configuraties heeft gemaakt, start u de Apache-webserver opnieuw door te typen:
sudo systemctl restart httpd.service
Om toegang te krijgen tot de interface, gaat u naar uw openbare IP-adres of de domeinnaam van de server, gevolgd door /phpMyAdmin, in uw webbrowser:
http://server_domain_or_IP/phpMyAdmin
Log in op de phpmyadmin-interface met de root-gebruikersnaam en het beheerderswachtwoord dat u hebt ingesteld tijdens de MySQL-installatie. Na het inloggen ziet de gebruikersinterface eruit als de onderstaande schermafbeelding:
UW PHPMYADMIN-INSTANCE BEVEILIGEN
Het beveiligen van uw phpmyadmin is belangrijk om ongeautoriseerde toegang te voorkomen. Een gemakkelijke manier om dit te doen, is door de locatie van de interface te wijzigen van /phpMyAdmin naar iets anders om geautomatiseerde brute-force-pogingen te voorkomen.
Open het configuratiebestand met de onderstaande opdracht:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
De twee onderstaande regels zijn de standaard aliassen die ons inhoud van de /usr/share/phpMyAdmin
locatie als we toegang krijgen tot de domeinnaam of het IP-adres van onze site, gevolgd door /phpMyAdmin
of /phpmyadmin
.
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
We gaan deze standaardaliassen uitschakelen vanwege de hoge snelheid waarmee ze het doelwit zijn van bots en kwaadwillende gebruikers. Om veiligheidsredenen moeten we onze eigen alias kiezen, rekening houdend met deze twee regels:
- Het mag niet het doel van de URL-locatie aangeven.
- Het moet gemakkelijk te onthouden zijn, maar niet gemakkelijk te raden.
In deze handleiding gebruiken we /somethingelse
.
Om onze wijzigingen toe te passen, gaan we commentaar geven op de bestaande regels (u kunt ze volledig verwijderen) en onze eigen regels toevoegen:
#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /somethingelse /usr/share/phpMyAdmin
Sla het bestand op en sluit het en ga verder met het herstarten van httpd met de onderstaande opdracht:
sudo systemctl restart httpd.service
Als u de vorige locatie van uw phpMyAdmin-installatie bezoekt, krijgt u een 404-fout:
http://server_domain_or_IP/phpMyAdmin
http://server_domain_or_IP/nothingtosee
Je kunt phpMyAdmin ook beveiligen door een gateway voor de hele applicatie te plaatsen met behulp van Apache's ingebouwde .htaccess
authenticatie- en autorisatiefuncties.
Ten eerste moeten we het gebruik van .htaccess-bestandsoverschrijvingen inschakelen door ons Apache-configuratiebestand te bewerken. Open de phpmyadmin.conf met het onderstaande commando:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
AllowOverride All
toevoegen onderaan de <Directory /usr/share/phpmyadmin>
sectie van het configuratiebestand zoals hieronder getoond:
Sla het bestand op voordat u het sluit en ga verder met het herstarten van Apache met het commando:
sudo systemctl restart apache2
Nadat we het gebruik van .htaccess hebben ingeschakeld, moeten we het bestand maken om de beveiliging volledig te implementeren door de onderstaande opdracht te typen:
sudo nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
U kunt meer lezen op htaccess
hier.
Typ de onderstaande opdracht om het wachtwoord toe te voegen aan de htaccess
bestand:
sudo htpasswd -c /etc/httpd/pma_pass username
Om extra gebruikers toe te voegen om te verifiëren, typt u dezelfde opdracht opnieuw, maar deze keer zonder de -c
vlag, en met een nieuwe gebruikersnaam:
sudo htpasswd /etc/httpd/pma_pass seconduser
Hiermee wordt u, wanneer u phpMyAdmin op uw domein opent, gevraagd om de extra accountnaam en het wachtwoord die u zojuist hebt geconfigureerd zoals hieronder weergegeven:
Hiermee wordt u elke keer dat u phpMyAdmin op uw domein opent, gevraagd om de extra accountnaam en het wachtwoord die u zojuist hebt geconfigureerd, zoals hieronder weergegeven:
Nadat u het Apache-verificatiewachtwoord hebt getypt, wordt u doorgestuurd naar de originele phpMyAdmin-verificatiepagina om uw andere inloggegevens in te voeren.