Sådan installeres og sikres phpMyAdmin med Nginx på Ubuntu 16.04

Sådan installeres og sikres phpMyAdmin med Nginx på Ubuntu 16.04

Introduktion

phpMyAdmin er et kraftfuldt værktøj med åben kildekode, der giver en webbaseret brugergrænseflade til administration af MySQL- eller MariaDB-databaser. Det gør det muligt for brugere at udføre forskellige opgaver, såsom oprettelse og administration af databaser, tabeller, kolonner og brugere. phpMyAdmin er et essentielt værktøj for webudviklere og databaseadministratorer, der forenkler databaseadministration og giver en brugervenlig grænseflade.

Denne vejledning vil guide dig gennem processen med at installere og sikre phpMyAdmin med Nginx på Ubuntu 16.04-servere. Vi vil dække installationstrin, konfiguration af Nginx som en proxyserver og implementering af sikkerhedsforanstaltninger for at beskytte phpMyAdmin mod uautoriseret adgang.

Installation af phpMyAdmin

1. Opdater Ubuntu-pakkelisten:

sudo apt-get update

2. Installer phpMyAdmin-pakken:

sudo apt-get install phpmyadmin

3. Under installationen bliver du bedt om at konfigurere databasen for phpMyAdmin. Vælg “dbconfig-common” for at bruge dpkg-reconfigure-værktøjet til at konfigurere databasen.

4. Følg instruktionerne på skærmen for at oprette en MySQL-database og bruger til phpMyAdmin. Husk at notere brugernavnet, adgangskoden og databasenavnet til senere brug.

Konfiguration af Nginx som proxyserver til phpMyAdmin

1. Installer Nginx:

sudo apt-get install nginx

2. Opret en ny serverblokfil i Nginx-konfigurationsmappen:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

3. Tilføj følgende indhold til filen:

server {
listen 80;
server_name phpmyadmin.example.com;

location / {
proxy_pass http://127.0.0.1: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;
}
}

Sørg for at erstatte “phpmyadmin.example.com” med dit eget domænenavn eller subdomænenavn.

4. Aktivér den nye serverblokfil:

sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/phpmyadmin.conf

5. Genstart Nginx:

sudo systemctl restart nginx

Sikring af phpMyAdmin

Aktiver SSL/TLS

1. Hent et SSL/TLS-certifikat og nøgle fra en pålidelig certifikatmyndighed.
2. Gem certifikatfilen (f.eks. “certificate.crt”) og nøglefilen (f.eks. “private.key”) i Nginx-certifikatmappen:

sudo mv certificate.crt /etc/nginx/ssl/
sudo mv private.key /etc/nginx/ssl/

3. Rediger Nginx-serverblokfilen for phpMyAdmin:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

4. Tilføj følgende linjer for at aktivere SSL/TLS:

listen 443 ssl;
ssl_certificate /etc/nginx/ssl/certificate.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;

5. Genstart Nginx:

sudo systemctl restart nginx

Implementering af grundlæggende godkendelse

1. Opret en .htpasswd-fil i phpMyAdmin-datamappen:

sudo nano /var/www/html/phpmyadmin/.htpasswd

2. Tilføj brugernavnet og den krypterede adgangskode til .htpasswd-filen:

sudo htpasswd -c .htpasswd admin

Erstat “admin” med det ønskede brugernavn.

3. Rediger Nginx-serverblokfilen for phpMyAdmin:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

4. Tilføj følgende linjer for at aktivere grundlæggende godkendelse:

auth_basic "Restricted Access";
auth_basic_user_file /var/www/html/phpmyadmin/.htpasswd;

5. Genstart Nginx:

sudo systemctl restart nginx

Konklusion

Ved at følge trinene beskrevet i denne vejledning har du installeret og konfigureret phpMyAdmin på Ubuntu 16.04 med sikkerhedsforanstaltninger. phpMyAdmin giver dig en brugervenlig grænseflade til administration af dine databaser, og Nginx fungerer som en proxyserver, der dirigerer trafik til phpMyAdmin. Sikkerhedsforanstaltningerne, såsom SSL/TLS og grundlæggende godkendelse, sikrer, at phpMyAdmin kun er tilgængeligt for autoriserede brugere og er beskyttet mod uautoriseret adgang. Med phpMyAdmin og Nginx implementeret kan du effektivt administrere og beskytte dine databaser.

Ofte stillede spørgsmål (FAQs)

1. Hvordan ændrer jeg phpMyAdmin-adgangskoden?

Svar: Rediger .htpasswd-filen i phpMyAdmin-datamappen og tilføj eller opdater brugernavnet og den krypterede adgangskode ved hjælp af kommandoen htpasswd.

2. Hvordan tilføjer jeg yderligere brugere til phpMyAdmin?

Svar: Rediger .htpasswd-filen og tilføj brugernavne og krypterede adgangskoder for hver ny bruger ved hjælp af kommandoen htpasswd.

3. Hvordan aktiverer jeg SSL/TLS med et selvsigneret certifikat?

Svar: Opret selvsigneret certifikat og nøgle ved hjælp af OpenSSL og konfigurer Nginx-serverblokfilen for phpMyAdmin til at bruge dem.

4. Hvordan deaktiverer jeg grundlæggende godkendelse for phpMyAdmin?

Svar: Fjern linjerne relateret til “auth_basic” i Nginx-serverblokfilen for phpMyAdmin og genstart Nginx.

5. Hvordan installerer jeg ekstra phpMyAdmin-udvidelser?

Svar: Installer de ønskede udvidelser ved hjælp af kommandoen apt-get install. Sørg for at genstarte phpMyAdmin for at indlæse udvidelserne.

6. Hvordan får jeg adgang til phpMyAdmin fra en ekstern placering?

Svar: Sørg for, at Nginx lytter på port 8080 udefra, og at din firewall tillader trafik på denne port.

7. Hvordan sikkerhedskopierer jeg min phpMyAdmin-database?

Svar: Brug kommandoen “mysqldump” til at lave en sikkerhedskopi af databasen, og gem den på et sikkert sted.

8. Hvordan opdaterer jeg phpMyAdmin til den nyeste version?

Svar: Kør kommandoen apt-get update && apt-get upgrade for at opdatere phpMyAdmin og dets afhængigheder til den nyeste version.