Inledning
phpMyAdmin är ett användbart webbaserat verktyg med öppen källkod som tillhandahåller ett smidigt gränssnitt för administration av MySQL- och MariaDB-databaser. Genom att kombinera phpMyAdmin med Nginx, en högeffektiv webbserver, kan du etablera en säker och välfungerande miljö för din databashantering. Denna handledning går igenom processen för att installera och konfigurera phpMyAdmin med Nginx på Ubuntu 16.04-servrar.
Förberedelser
- En Ubuntu 16.04-server med administratörsbehörighet (root) eller sudo-rättigheter
- En installerad LAMP-stack (Linux, Apache, MySQL, PHP)
- Nginx installerat och konfigurerat som en omvänd proxyserver
- En brandvägg inställd för att tillåta inkommande anslutningar till Nginx
Installationsprocessen
1. Installera phpMyAdmin-paketet
Börja med att uppdatera paketlistan och installera phpMyAdmin:
sudo apt-get update sudo apt-get install phpmyadmin
2. Konfigurera phpMyAdmin
Standardkonfigurationsfilen för phpMyAdmin ligger i /etc/phpmyadmin/config.inc.php
. Öppna filen i en texteditor:
sudo nano /etc/phpmyadmin/config.inc.php
Gör följande ändringar i filen:
- Lägg till dessa rader direkt efter raden
$cfg['Servers'][$i]['auth_type'] = 'config';
:
$cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['port'] = '3306'; $cfg['Servers'][$i]['user'] = 'mysql_användarnamn'; $cfg['Servers'][$i]['password'] = 'mysql_lösenord';
mysql_användarnamn
och mysql_lösenord
med ditt MySQL-användarnamn och lösenord.Säkerhetsåtgärder
1. Aktivera SSL/TLS
För att säkerställa att dataöverföringen mellan Nginx och phpMyAdmin är skyddad, aktivera SSL/TLS. Börja med att generera ett självsignerat SSL-certifikat:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/phpmyadmin.key -out /etc/nginx/ssl/phpmyadmin.crt
2. Konfigurera Nginx
Öppna Nginx konfigurationsfil för phpMyAdmin:
sudo nano /etc/nginx/sites-available/phpmyadmin.conf
Lägg till nedanstående konfigurationsblock för att aktivera SSL:
server { listen 443 ssl; server_name phpmyadmin.exempel.com; ssl_certificate /etc/nginx/ssl/phpmyadmin.crt; ssl_certificate_key /etc/nginx/ssl/phpmyadmin.key; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Byt ut phpmyadmin.exempel.com
med ditt domännamn eller din IP-adress.
3. Aktivera HTTP-autentisering
För att lägga till ett extra säkerhetslager, aktivera HTTP-autentisering för phpMyAdmin. Öppna Nginx-konfigurationsfilen igen:
sudo nano /etc/nginx/sites-available/phpmyadmin.conf
Lägg till följande kod i location /
-blocket:
auth_basic "Begränsad åtkomst"; auth_basic_user_file /etc/nginx/.htpasswd;
Skapa sedan .htpasswd
-filen med följande kommando:
sudo htpasswd -c /etc/nginx/.htpasswd användarnamn
Ersätt användarnamn
med det önskade användarnamnet och ange ett lösenord när du blir ombedd.
Slutför Installationen
1. Aktivera phpMyAdmin-konfigurationen
Aktivera konfigurationen för phpMyAdmin genom att skapa en länk till Nginx-konfigurationsmappen:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/nginx/sites-enabled/phpmyadmin.conf
2. Starta om Nginx
Starta om Nginx för att tillämpa de nya inställningarna:
sudo systemctl restart nginx
3. Öppna phpMyAdmin-gränssnittet
Nu ska du kunna komma åt phpMyAdmin-gränssnittet via följande URL:
https://phpmyadmin.exempel.com
Ersätt phpmyadmin.exempel.com
med ditt faktiska domännamn eller IP-adress.
4. Logga in
Om du har aktiverat HTTP-autentisering, ange det användarnamn och lösenord du skapade tidigare för att logga in.
Sammanfattning
Genom att noggrant följa stegen i den här guiden har du framgångsrikt installerat och säkrat phpMyAdmin med Nginx på din Ubuntu 16.04-server. Denna installation ger dig ett skyddat och användarvänligt sätt att hantera dina databaser. Genom att regelbundet underhålla systemet och vara uppdaterad om de senaste säkerhetsåtgärderna ser du till att dina databaser är säkra och tillgängliga.
Vanliga Frågor
1. Hur uppdaterar jag phpMyAdmin?
Du uppdaterar phpMyAdmin genom att köra följande kommandon:
sudo apt-get update sudo apt-get upgrade phpmyadmin
2. Hur återställer jag phpMyAdmin-lösenordet?
Du kan återställa lösenordet genom att ta bort den nuvarande konfigurationsfilen och installera om phpMyAdmin:
sudo rm /etc/phpmyadmin/config.inc.php sudo apt-get purge phpmyadmin sudo apt-get install phpmyadmin
3. Hur aktiverar jag felsökningsläge i phpMyAdmin?
Du aktiverar felsökningsläge genom att lägga till den här raden i /etc/phpmyadmin/config.inc.php
:
$cfg['DBG']['sql'] = true;
4. Hur installerar jag phpMyAdmin på en annan port?
Du kan ändra porten phpMyAdmin lyssnar på genom att redigera /etc/nginx/sites-available/phpmyadmin.conf
och ändra listen 8080;
-raden.
5. Hur lägger jag till nya användare i phpMyAdmin?
Nya användare kan läggas till genom att använda kommandot CREATE USER
i MySQL-konsolen:
mysql> CREATE USER 'nyanvandare'@'localhost' IDENTIFIED BY 'starkt_lösenord';
6. Hur byter jag språk i phpMyAdmin?
Du kan ändra språket genom att navigera till Inställningar > Funktioner > Språk i phpMyAdmin-gränssnittet.
7. Hur förbättrar jag prestanda för phpMyAdmin?
För att förbättra prestanda kan du öka cachestorleken för frågor genom att lägga till dessa rader i /etc/phpmyadmin/config.inc.php
-filen:
$cfg['QueryCache']['enable'] = true; $cfg['QueryCache']['max_queries'] = 100;
8. Hur felsöker jag problem med phpMyAdmin?
Kontrollera loggfilerna för både Nginx och phpMyAdmin efter felmeddelanden. Du kan även aktivera felsökningsläget för phpMyAdmin för att få mer detaljerad information.