Installere phpMyAdmin i Linux

phpMyAdmin er et verktøy som gir et grafisk grensesnitt for å jobbe med MySQL-databaser via en nettside.

Sikkerhetsmessig gir phpMyAdmin uvedkommende en ekstra potensiell inngang til serveren din, så vurder om du kan unngå å bruke det hvis du er bekymret for sikkerheten. Du kan f.eks. koble til MySQL fra en annen maskin med MySQL Workbench e.l.

Før du setter opp phpMyAdmin må du ha LAMP installert på serveren din. Har du ikke det, kan du lese hvordan du installerer LAMP her.

Installere phpMyAdmin

Kjør denne kommandoen for å installere phpMyAdmin

sudo apt-get install phpmyadmin apache2-utils

Velg Apache2 for server, og velg ja på spørsmål om å sette opp databasen for phpmyadmin med dbconfig-common. Skriv inn passordet for MySQL, og velg et passord for innlogging til selve phpMyAdmin.

Etter installasjonen er ferdig, må du legge til phpmyadmin til apache-konfigurasjonen:

sudo nano /etc/apache2/apache2.conf

Legg til dette i slutten av filen:

Include /etc/phpmyadmin/apache.conf

Og restart Apache for å gjennomføre endringene:

sudo service apache2 restart

Nå kan bruke phpMyAdmin ved å gå inn på http://12.34.56.789/phpmyadmin (bruk din egen IP-adresse).

Sikkerhet

Eldre versjoner av phpMyAdmin har hatt alvorlige sikkerhetsproblemer som potensielt kunne gi uvedkommende tilgang til serveren den lå på. Man kan unngå størsteparten av disse angrepene ved å passordbeskytte mappen phpMyAdmin ligger i med .htaccess. Dette er ikke en perfekt løsning da passordet kan sniffes eller brute-forces, men det gjør det litt vanskeligere. Er du bekymret for sikkerheten, bør du kanskje ikke ha phpMyAdmin åpent ut mot internett i det hele tatt.

Sette opp .htaccess

Start med å tillatte at .htaccess -filen fungerer i phpmyadmin-mappen. Dette gjør du ved å endre konfigurasjonsfilen til phpmyadmin:

sudo nano /etc/phpmyadmin/apache.conf

Under delen “Directory /usr/share/phpmyadmin”, legg til linjen “AllowOverride All” under “Directory Index”, så det ser slik ut:

<Directory /usr/share/phpmyadmin>
        Options FollowSymLinks
        DirectoryIndex index.php
        AllowOverride All
        [...]

Konfigurer .htaccess-filen

Lag en ny .htaccess i phpmyadmin-mappen:

sudo nano /usr/share/phpmyadmin/.htaccess

Skriv inn følgende i filen og lagre:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/apache2/.phpmyadmin.htpasswd
Require valid-user

AuthType er typen autentisering som skal brukes for å sjekke passordet. Du kan velge mellom Basic og Digest. Basic sender passordet i klartekst over HTTP og er generelt ikke å anbefale. Digest sender passordet kryptert med md5 hash. Mange mener dette heller ikke er sikkert nok, men det er iallfall bedre enn Basic. Jeg fikk ikke Digest til å fungere når jeg skrev dette, så jeg bruker foreløpig Basic i dette eksemplet.

AuthName er teksten som skal vises til besøkende. Endre dette til det du vil

AuthUserFile er banen til passordfilen.

Require valid-user sier at bare gyldige brukere skal få tilgang. Her kan man også skrive inn et brukernavn i stedet for “valid-user” for å gi kun denne brukeren tilgang.

Lage passordfilen:

For AuthType Basic:

sudo htpasswd -c /etc/apache2/.phpmyadmin.htpasswd brukernavn

Skriv inn passordet du ønsker å bruke.

For AuthType Digest:

htdigest -c /etc/apache2/.phpmyadmin.htpasswd “Restricted files” brukernavn

Skriv inn passordet du ønsker å bruke.

Teksten “Restricted files” her er et realm og vil vises i dialogboksen som ber om innlogging. Denne teksten må være helt lik AuthName i .htaccess filen.

Merk at Apache versjon < 2.2 brukte AuthDigestFile i stedet for AuthUserFile som brukes for versjoner > 2.2.

Restart Apache

Avslutt med å restarte Apache:

sudo service apache2 restart

Leave a Reply

Your email address will not be published. Required fields are marked *