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:
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.