introduktion
medan många användare behöver funktionaliteten i ett databashanteringssystem som MySQL, kanske de inte känner sig bekväma att interagera med systemet enbart från MySQL-prompten.
phpMyAdmin skapades så att användare kan interagera med MySQL via ett webbgränssnitt. I den här guiden diskuterar vi hur du installerar och säkrar phpMyAdmin så att du säkert kan använda den för att hantera dina databaser från ett Ubuntu 16.04-system.
förutsättningar
innan du börjar med den här guiden måste du ha några grundläggande steg slutförda.
först antar vi att du använder en icke-root-användare med sudo-privilegier, som beskrivs i steg 1-4 i den ursprungliga serverinställningen av Ubuntu 16.04.
Vi kommer också att anta att du har slutfört en LAMP (Linux, Apache, MySQL och PHP) installation på din Ubuntu 16.04-server. Om detta inte är klart ännu kan du följa den här guiden för att installera en LAMP-stack på Ubuntu 16.04.
slutligen finns det viktiga säkerhetshänsyn när du använder programvara som phpMyAdmin, eftersom det:
- kommunicerar direkt med din MySQL-installation
- hanterar autentisering med MySQL-referenser
- kör och returnerar resultat för godtyckliga SQL-frågor
av dessa skäl, och eftersom det är en allmänt distribuerad PHP-applikation som ofta är inriktad på attack, bör du aldrig köra phpMyAdmin på fjärrsystem över en vanlig HTTP-anslutning. Om du inte har en befintlig domän konfigurerad med ett SSL/TLS-certifikat kan du följa den här guiden för att säkra Apache med Let ’ s Encrypt på Ubuntu 16.04.
När du är klar med dessa steg är du redo att komma igång med den här guiden.
steg ett-Installera phpMyAdmin
för att komma igång installerar vi phpMyAdmin från standard Ubuntu repositories.
Vi kan göra detta genom att uppdatera vårt lokala paketindex och sedan användaapt
förpackningssystem för att dra ner filerna och installera dem på vårt system:
- sudo apt-get update
- sudo apt-get install phpmyadmin php-mbstring php-gettext
detta kommer att ställa några frågor för att konfigurera din installation korrekt.
varning: när den första prompten visas markeras apache2, men inte markerad. Om du inte träffar utrymme för att välja Apache flyttar installationsprogrammet inte nödvändiga filer under installationen. Tryck på mellanslag, flik och ange sedan för att välja Apache.
- för servervalet väljer du apache2.
- Välj Ja När du blir frågad om du vill använda
dbconfig-common
för att ställa in databasen - Du kommer att bli uppmanad till din databasadministratörs lösenord
- Du kommer då att bli ombedd att välja och bekräfta ett lösenord för
phpMyAdmin
själva applikationen
installationsprocessen lägger faktiskt till phpmyadmin Apache-konfigurationen fil i katalogen /etc/apache2/conf-enabled/
, där den automatiskt läses.
det enda vi behöver göra är att uttryckligen aktivera PHP mcrypt
och mbstring
extensions, som vi kan göra genom att skriva:
- sudo phpenmod mcrypt
- sudo phpenmod mbstring
efteråt måste du starta om Apache för att dina ändringar ska kunna identifieras:
- sudo systemctl restart apache2
Du kan nu komma åt webbgränssnittet genom att besöka serverns domännamn eller offentliga IP-adress följt av /phpmyadmin
:
https://domain_name_or_IP/phpmyadmin
Du kan nu logga in på gränssnittet med root
användarnamn och det administrativa lösenordet du ställde in under MySQL-installationen.
När du loggar in ser du användargränssnittet, vilket kommer att se ut så här:
steg två — säkra din phpMyAdmin-instans
Vi kunde få vårt phpMyAdmin-gränssnitt igång ganska enkelt. Men vi är inte färdiga än. På grund av dess allestädes närvarande är phpMyAdmin ett populärt mål för angripare. Vi bör vidta extra åtgärder för att förhindra obehörig åtkomst.
ett av de enklaste sätten att göra detta är att placera en gateway framför hela applikationen. Vi kan göra detta med hjälp av Apaches inbyggda .htaccess
autentiserings-och auktoriseringsfunktioner.
konfigurera Apache för att tillåta .htaccess åsidosätter
först måste vi aktivera användningen av .htaccess
filöverskridanden genom att redigera vår Apache konfigurationsfil.
Vi kommer att redigera den länkade filen som har placerats i vår Apache-konfigurationskatalog:
- sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Vi måste lägga till ett AllowOverride All
– direktivet inom <Directory /usr/share/phpmyadmin>
I konfigurationsfilen, så här:
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .
När du har lagt till den här raden, spara och stäng filen.
för att implementera de ändringar du gjort, starta om Apache:
- sudo systemctl restart apache2
skapa en .htaccess-fil
Nu när vi har aktiverat .htaccess
använd för vår applikation, måste vi skapa en för att faktiskt implementera viss säkerhet.
för att detta ska lyckas måste filen skapas i applikationskatalogen. Vi kan skapa den nödvändiga filen och öppna den i vår textredigerare med root-privilegier genom att skriva:
- sudo nano /usr/share/phpmyadmin/.htaccess
i den här filen måste vi ange följande information:
AuthType BasicAuthName "Restricted Files"AuthUserFile /etc/phpmyadmin/.htpasswdRequire valid-user
Låt oss gå över vad var och en av dessa rader betyder:
-
AuthType Basic
: denna rad anger autentiseringstypen som vi implementerar. Denna typ implementerar lösenordsautentisering med en lösenordsfil. -
AuthName
: detta anger meddelandet för dialogrutan autentisering. Du bör behålla denna generiska så att obehöriga användare inte får någon information om vad som skyddas. -
AuthUserFile
: detta anger platsen för lösenordsfilen som ska användas för autentisering. Detta bör vara utanför de kataloger som serveras. Vi kommer att skapa den här filen inom kort. -
Require valid-user
: detta anger att endast autentiserade användare ska få tillgång till den här resursen. Det här hindrar faktiskt obehöriga användare från att komma in.
När du är klar, spara och stäng filen.
skapa .htpasswd-fil för autentisering
platsen som vi valde för vår lösenordsfil var ”/etc/phpmyadmin/.htpasswd
”. Vi kan nu skapa den här filen och skicka den till en första användare med verktyget htpasswd
:
- sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
du uppmanas att välja och bekräfta ett lösenord för användaren du skapar. Därefter skapas filen med det hashade lösenordet som du angav.
om du vill ange en extra användare måste du göra det utan-c
flagga, så här:
- sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
Nu, när du öppnar din phpMyAdmin-underkatalog, kommer du att bli ombedd att ange det ytterligare kontonamn och lösenord som du just konfigurerat:
https://domain_name_or_IP/phpmyadmin
När du har angett Apache-autentisering kommer du till den vanliga phpMyAdmin-autentiseringssidan för att ange dina andra referenser. Detta kommer att lägga till ytterligare ett lager av säkerhet eftersom phpMyAdmin har drabbats av sårbarheter tidigare.
slutsats
Du bör nu ha phpMyAdmin konfigurerad och redo att användas på din Ubuntu 16.04-server. Med det här gränssnittet kan du enkelt skapa databaser, användare, tabeller etc., och utför de vanliga operationerna som att radera och ändra strukturer och data.