Så här installerar och säkrar du phpMyAdmin på Ubuntu 16.04

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

phpMyAdmin inloggningsskärm

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:

phpMyAdmin användargränssnitt

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:

/etc/apache2/conf-tillgänglig/phpMyAdmin.conf
<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:

/usr/share/phpmyadmin/.htaccess
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

phpMyAdmin Apache password

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.

Related Posts

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *