phpMyAdmin är ett gratis och öppen källkodsadministrationsverktyg för MySQL och MariaDB. Som en bärbar webbapplikation som huvudsakligen är skriven i PHP, har den blivit ett av de mest populära MySQL-administrationsverktygen, särskilt för webbhotelltjänster. I den här guiden kommer vi att installera phpMyAdmin med Apache på CentOS 7.
En viktig förutsättning innan du använder den här guiden är att installera en LAMP-stack (Linux, Apache, MariaDB och PHP) på din CentOS 7-server. LAMP-stacken är plattformen som kommer att användas för att betjäna vårt phpMyAdmin-gränssnitt (MariaDB är också programvaran för databashantering som vi vill hantera). Om du ännu inte har en LAMP-installation på din server, klicka här för att läsa vår handledning om att installera LAMP på CentOS 7.
Steg 1:Lägg till EPEL repo:
Vi måste lägga till EPEL-repo (Extra Packages for Enterprise Linux) till vår server innan vi fortsätter med installationen om den innehåller många ytterligare paket, inklusive phpMyAdmin-paketet vi letar efter. För att installera, skriv kommandot nedan:
sudo yum install epel-release
Steg 2:Installera phpMyAdmin:
Skriv kommandot nedan för att installera phpMyAdmin-paketet med yum-paketeringssystemet följt av y för att fortsätta:
sudo yum install phpmyadmin
Efter framgångsrik installation bör du få ett liknande resultat som visas nedan:
Installationen inkluderar en Apache-konfigurationsfil som har placerats i dess lämpliga katalog. Vi måste ändra den här konfigurationsfilen för att vår installation ska fungera perfekt för våra behov.
Öppna phpMyAdmin.conf
i /etc/httpd
fil i textredigeraren (nano i den här guiden) för att göra några ändringar:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
För närvarande är inställningen i konfigurationsfilen konfigurerad för att neka åtkomst till alla anslutningar som inte görs från själva servern. Eftersom vi utvärderar vår server på distans (via ssh), måste vi ändra några rader för att ange IP-adressen för din hemanslutning.
Den första platsen är <Directory /usr/share/phpMyAdmin/>
avsnitt som visas nedan:
Ändra alla rader som läser Require ip 127.0.0.1
eller Allow from 127.0.0.1
för att referera till din hemanslutnings IP-adress.
Obs! Om du behöver hjälp med att hitta din hemanslutnings IP, klicka här för att kontrollera.
Den andra platsen är <Directory /usr/share/phpMyAdmin/setup/>
avsnitt som visas nedan:
Ändra också alla rader som läser Require ip 127.0.0.1
eller Allow from 127.0.0.1
för att referera till din hemanslutnings IP-adress.
Obs! Dina hemanslutningars IP-adress skiljer sig från IP-adressen för din VPS.
Efter att ha gjort konfigurationerna, starta om Apache-webbservern genom att skriva:
sudo systemctl restart httpd.service
För att komma åt gränssnittet, besök din offentliga IP-adress eller serverns domännamn följt av /phpMyAdmin, i din webbläsare:
http://server_domain_or_IP/phpMyAdmin
Logga in på phpmyadmin-gränssnittet med hjälp av root-användarnamnet och det administrativa lösenordet du ställde in under MySQL-installationen. Efter att ha loggat in ser användargränssnittet ut som på skärmdumpen nedan:
SÄKRA DIN PHPMYADMIN-INSTANS
Att säkra din phpmyadmin är viktigt för att förhindra obehörig åtkomst. Ett enkelt sätt att göra detta är att ändra platsen för gränssnittet från /phpMyAdmin till något annat för att förhindra automatiska bot-brute-force-försök.
Öppna konfigurationsfilen med kommandot nedan:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
De två raderna nedan är standardaliasen som visar oss innehåll från /usr/share/phpMyAdmin
plats om vi kommer åt vår webbplats domännamn eller IP-adress, följt av antingen /phpMyAdmin
eller /phpmyadmin
.
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
Vi kommer att inaktivera dessa standardalias på grund av den höga hastigheten med vilken de riktas mot av botar och skadliga användare. Av säkerhetsskäl bör vi besluta om vårt eget alias med dessa två regler i åtanke:
- Det bör inte ange syftet med URL-platsen.
- Det ska vara lätt att komma ihåg men inte lätt att gissa.
I den här guiden kommer vi att använda /somethingelse
.
För att tillämpa våra ändringar kommer vi att kommentera de befintliga raderna (du kan ta bort dem helt) och lägga till våra egna:
#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /somethingelse /usr/share/phpMyAdmin
Spara och stäng filen och fortsätt sedan för att starta om httpd med kommandot nedan:
sudo systemctl restart httpd.service
Om du besöker den tidigare platsen för din phpMyAdmin-installation får du ett 404-fel:
http://server_domain_or_IP/phpMyAdmin
http://server_domain_or_IP/nothingtosee
Du kan också säkra att phpMyAdmin placerar en gateway framför hela applikationen genom att använda Apaches inbyggda .htaccess
autentiserings- och auktoriseringsfunktioner.
För det första måste vi aktivera användningen av .htaccess-filöverstyrningar genom att redigera vår Apache-konfigurationsfil. Öppna phpmyadmin.conf med kommandot nedan:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Lägg till AllowOverride All
längst ner i <Directory /usr/share/phpmyadmin>
avsnitt av konfigurationsfilen enligt nedan:
Spara filen innan du stänger och fortsätt sedan för att starta om Apache med kommandot:
sudo systemctl restart apache2
Efter att ha aktiverat .htaccess-användning måste vi skapa filen för att fullt ut implementera säkerheten genom att skriva kommandot nedan:
sudo nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Du kan läsa mer på htaccess
här.
Skriv kommandot nedan för att lägga till lösenordet till htaccess
fil:
sudo htpasswd -c /etc/httpd/pma_pass username
För att lägga till ytterligare användare att autentisera, skriv samma kommando igen men denna gång utan -c
flagga och med ett nytt användarnamn:
sudo htpasswd /etc/httpd/pma_pass seconduser
Med detta, när du kommer åt phpMyAdmin på din domän, kommer du att bli tillfrågad om det ytterligare kontonamnet och lösenordet som du just konfigurerade enligt nedan:
Med detta, när du kommer åt phpMyAdmin på din domän, kommer du att bli tillfrågad om det extra kontonamnet och lösenordet som du just konfigurerade enligt nedan:
När du har skrivit in Apache-autentiseringslösenordet omdirigeras du till den ursprungliga phpMyAdmin-autentiseringssidan för att ange dina andra referenser.