Hvordan installere og sikre phpMyAdmin med Nginx på Ubuntu 16.04

Hvordan installere og sikre phpMyAdmin med Nginx på Ubuntu 16.04

Innledning

phpMyAdmin er et populært verktøy for administrasjon av MySQL-databaser som gir et webgrensesnitt for å utføre ulike oppgaver, for eksempel oppretting og sletting av databaser, redigering av tabeller og data, og utføring av SQL-spørringer. I denne veiledningen vil vi guide deg gjennom trinnene for å installere og sikre phpMyAdmin med Nginx som webserver på Ubuntu 16.04.

Forutsetninger

– Ubuntu 16.04-server
– Nginx installert
– MySQL-server installert og konfigurert
– Root-privilegier

H2. Installere phpMyAdmin

H3. Hent phpMyAdmin-pakken

Kjør følgende kommando for å laste ned den nyeste stabile versjonen av phpMyAdmin:


wget https://files.phpmyadmin.net/phpMyAdmin-latest.tar.gz

H4. Pakk ut pakken

Pakk ut den nedlastede tar-ballen med denne kommandoen:


tar -xvzf phpMyAdmin-latest.tar.gz

H5. Flytt til phpMyAdmin-katalogen

Gå inn i den nye utpakkede phpMyAdmin-katalogen:

  Trenger du virkelig antivirus til smart-TV-en din?


cd phpMyAdmin-*/

H6. Konfigurer Nginx

Opprett en ny serverblokkkonfigurasjonsfil for phpMyAdmin i Nginx:


sudo nano /etc/nginx/conf.d/phpmyadmin.conf

Legg til følgende konfigurasjon i filen:


server {
listen 8080;
server_name phpmyadmin.example.com;
root /var/www/html/phpmyadmin/;
index index.php;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Pass på å erstatte «phpmyadmin.example.com» med det faktiske domenenavnet eller IP-adressen til serveren din.

Lagre og lukk filen.

H7. Aktiver phpMyAdmin-konfigurasjon

Aktiver phpMyAdmin-serverblokken ved å linke den til det viktigste Nginx-konfigurasjonsdirektivet:


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

H8. Omstart Nginx

Start Nginx på nytt for å laste inn endringene:


sudo service nginx restart

H2. Sikre phpMyAdmin

H3. Opprett en phpMyAdmin-bruker

Opprett en egen dedikert phpMyAdmin-bruker for å forbedre sikkerheten:


sudo mysql

Kjør følgende kommandoer i MySQL-konsollet:


CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'sterktpassord';
GRANT ALL PRIVILEGES ON . TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Erstatt «sterktpassord» med et faktisk sterkt passord.

H4. Konfigurer phpMyAdmin for autentisering

Konfigurer phpMyAdmin til å bruke MySQL-autentisering ved å redigere konfigurasjonsfilen:


sudo nano /var/www/html/phpmyadmin/config.inc.php

Legg til eller endre følgende linjer i filen:


$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Servers'][$i]['user'] = 'phpmyadmin';
$cfg['Servers'][$i]['password'] = 'sterktpassord';

Lagre og lukk filen.

H5. Begrens tilgang til phpMyAdmin

Du kan begrense tilgangen til phpMyAdmin til bestemte IP-adresser ved å legge til følgende blokk til phpMyAdmin-konfigurasjonsfilen:


$cfg['AllowDeny']['deny']['order'] = 'deny,allow';
$cfg['AllowDeny']['deny']['rules'] = array();
$cfg['AllowDeny']['allow']['order'] = 'allow,deny';
$cfg['AllowDeny']['allow']['rules'] = array('127.0.0.1');

Erstatt «127.0.0.1» med IP-adressene eller nettverksintervallene som skal ha tilgang til phpMyAdmin.

H6. Hold phpMyAdmin oppdatert

Sjekk regelmessig om det er sikkerhetsoppdateringer for phpMyAdmin, og installer dem om nødvendig.

Konklusjon

Ved å følge trinnene beskrevet i denne veiledningen har du nå installert og sikret phpMyAdmin med Nginx på Ubuntu 16.04. Denne konfigurasjonen gir deg et trygt og brukervennlig grensesnitt for å administrere MySQL-databasene dine. Det anbefales på det sterkeste å følge sikkerhetsanbefalingene som er beskrevet her for å beskytte din phpMyAdmin-installasjon mot uautorisert tilgang og utnyttelse.

Vanlige spørsmål

Q1. Hva er phpMyAdmin?
A1. phpMyAdmin er et populært webbasert administrasjonsverktøy for MySQL-databaser.

Q2. Hvorfor er det viktig å sikre phpMyAdmin?
A2. phpMyAdmin gir tilgang til sensitive databasedata, og det er viktig å beskytte det mot uautorisert tilgang for å forhindre datatyveri eller -manipulering.

Q3. Hvordan kan jeg begrense tilgangen til phpMyAdmin?
A3. Du kan begrense tilgangen til bestemte IP-adresser eller nettverksintervall ved å konfigurere tillat/nekt-regler i phpMyAdmin-konfigurasjonsfilen.

Q4. Hvordan kan jeg holde phpMyAdmin oppdatert?
A4. Sjekk phpMyAdmin-hjemmesiden regelmessig for sikkerhetsoppdateringer og installer dem om nødvendig.

Q5. Hva er fordelene med å bruke Nginx som webserver for phpMyAdmin?
A5. Nginx er en robust og effektiv webserver som gir høy ytelse og sikkerhet, noe som gjør den til et godt valg for å hoste phpMyAdmin.

Q6. Hvordan kan jeg sikre at phpMyAdmin-forbindelsen min er kryptert?
A6. Konfigurer Nginx og MySQL for å bruke SSL/TLS-kryptering for å beskytte phpMyAdmin-tilkoblingen din.

Q7. Hva er noen andre sikkerhetsanbefalinger for phpMyAdmin?
A7. Skjul phpMyAdmin-installasjonskatalogen, deaktiver unødvendige funksjoner og konfigurer et sterkt sikkerhetspassord for phpMyAdmin-kontoen.

Q8. Kan jeg bruke phpMyAdmin til å administrere eksterne MySQL-servere?
A8. Ja, du kan konfigurere phpMyAdmin til å koble til og administrere eksterne MySQL-servere ved å legge til serverinformasjon i phpMyAdmin-konfigurasjonen.

Q9. Hvordan kan jeg gjenopprette en MySQL-database ved hjelp av phpMyAdmin?
A9. Du kan importere en SQL-dumpfil eller bruke phpMyAdmin-grensesnittet for å gjenopprette en MySQL-database.

Q10. Hva er noen alternative verktøy for administrasjon av MySQL-databaser?
A10. Andre populære alternativer for administrasjon av MySQL-databaser inkluderer MySQL Workbench, HeidiSQL og Adminer.