PHPMyAdmin - eller PMA - er en utmerket gratis, åpen kildekodebasert databaseklient som kan brukes til å samhandle lettere med MySQL og WordPress-databaser. Jeg vil beskrive hvordan du installerer det, sikre det og noen vanlige scenarier som det kan hjelpe deg med i WordPress-administrasjon. Her er en online demo av PMA for deg å utforske.
I tillegg til å tilby et visuelt GUI for databasetjenester, setter jeg også pris på å kunne kjøre kommandolinjens SQL-operasjoner via nettleseren min uten å måtte logge på serveren via SSH. For eksempel avslutter noen WiFi og mobile tilkoblinger jevnlig vedvarende SSH-økter, noe som gjør databasen oppgaver problematisk.
Komme i gang med PMA er ganske grei på Linux. Jeg skal beskrive hvordan du gjør det med Ubuntu 14.x på Digital Ocean. Logg inn på serveren din via SSH:
apt-get installer phpmyadmin
Du kan bruke standardinnstillingene under installasjonen eller tilpasse dem etter eget ønske.
På en typisk WordPress-installasjon er det ikke noen direkte porter til MySQL for en hacker å prøve å få tilgang til. De kan prøve å bryte inn via SSH eller prøve SQL-injeksjonsangrep mot WordPress, men de kan ikke direkte angripe databasen. Når du har installert PMA, kan alle kjøre nettbaserte angrep mot det for å få kontroll over databasen din, så det er nødvendig å ta vare på det.
Det er noen forholdsregler jeg anbefaler når du konfigurerer PMA.
1. Bruk veldig sterke passord for alle dine MySQL-kontoer, spesielt rotkontoen. f.eks 25 tegn for root-passordet.
2. Bruk forskjellige MySQL-kontoer og privilegier for hvert WordPress-nettsted som kjører på en enkelt server. På denne måten hvis et WordPress-passord er kompromittert, blir bare ett nettsteds database kompromittert.
3. Endre standard nettadressen som brukes av PMA. På denne måten kan folk ikke besøke http://yourblog.com/phpmyadmin. Selv om denne sikkerheten ved dunkelhet ikke er en veldig effektiv teknikk, gir den noe beskyttelse.
Legg til et alias til apache.conf
fil:
nano /etc/phpmyadmin/apache.conf Alias / myobscuredpma / usr / share / phpmyadmin
Last opp apache:
service apache2 reload
Så, for å få tilgang til PMA, besøk http://yourblog.com/myobscuredpma
Hvis du må endre PHPMyAdmin-passordet ditt, kan du redigere config-db.php
her:
nano /etc/phpmyadmin/config-db.php
4. Konfigurer webgodkjenning for PMA-nettstedet. Dette vil kreve at du skriver inn et ekstra passord for å få tilgang til PMA, i tillegg til databasens passord, slik:
For å konfigurere Apache brukerbegrensninger, følg disse trinnene:
Installere htpasswd
som en del av apache2-utils
:
apt-get install apache2-utils
Lag en katalog for å lagre passordene dine:
mkdir / etc / htpasswd
Legg til htaccess
støtte for PMA:
nano /etc/phpmyadmin/apache.conf
Legg til "AllowOverride All" nedenfor
Alternativer FollowSymLinks DirectoryIndex index.php AllowOverride All
Konfigurer brukerautentisering for PMA:
nano /usr/share/phpmyadmin/.htaccess
AuthType Basic AuthName "Login Required for Access" AuthUserFile /etc/htpasswd/.htpasswd Krev gyldig bruker
Angi passordet ditt:
htpasswd -c /etc/htpasswd/.htpasswd brukernavn
Og start Apache på nytt:
service apache2 restart
Bla gjennom til ditt PMA-nettsted, og du blir bedt om ditt brukernavn og passord som vist ovenfor.
Det er veldig viktig å huske at PMA lar deg direkte manipulere WordPress-databasen; det betyrdet er ganske enkelt å knuse ditt WordPress-nettsted hvis du ikke vet hva du gjør. Det er spesielt uklokt å bruke databaseskript fra nettet, med mindre du forstår dem helt. Bruk PMA med stor forsiktighet.
Her er noen scenarier som kan være nyttige for deg i pågående WordPress-administrasjon:
Uten PMA, ville jeg logge på serveren min via SSH. Logg inn på MySQL, og kjør deretter:
lage database wordpress; gi alle privilegier på wordpress. * TIL "ditt-mysql-brukernavn" @ "localhost" identifisert av "ditt-mysql-passord"; flush privilegier;
Med PMA kan du kjøre alle kommandolinjespørsmål med det visuelle grensesnittet. Klikk på SQL-fanen og lim inn MySQL-databasens instruksjoner ovenfor. Klikk deretter Gå å opprette databasen.
Jeg bruker dette mye når du lager nye WordPress-nettsteder, like før du kjører WordPress web installer.
Du kan også bruke det visuelle grensesnittet til å lage databasen direkte:
Du kan også legge til brukere og definere privilegier på denne måten. Klikk på fanen privilegier:
Klikk på Legg til bruker, og definer privilegiene for databasen du ønsker:
For den typiske WordPress-databasekontoen din, vil du sjekke boksene i rutene Data og struktur.
Det er en veldig god idé å sikkerhetskopiere databasen før du utfører noen av oppgavene nedenfor. Hvis noe går galt, kan du gjenopprette ditt WordPress-nettsted fra sikkerhetskopien.
Bruk PMA-webgrensesnittet, klikk på WordPress-databasen, klikk på Export-fanen og velg Tilpasset.
Aktiver "Legg til tabellen Tabell / Vis / Prosedyre / Funksjon / Hendelse":
Når du klikker på Go, laster PMA ned en sikkerhetskopi av hele databasen. Hvis du er ikke konfigurert for Apache PHP-tidsavbrudd, kan noen lange filnedlastinger avbryte og mislykkes. Du kan justere dette inn php.ini
som jeg beskriver på nettstedet mitt.
WordPress har ikke innebygde funksjoner for å hjelpe med å søke og erstatte når nettsteder endres eller du må justere innhold på tvers av mange innlegg.
Med PMA kan du kjøre en manuell spørring for å søke og erstatte teksten du vil endre (igjen, vær veldig forsiktig med skrivebaserte SQL-kommandoer på WordPress-databasen):
OPPDATERING wp_posts SET post_content = REPLACE (post_content, 'source text', 'erstatt med denne teksten');
Et alternativ til å bruke PMA og MySQL, er dette praktiske Søk og erstatt plugin.
Ofte når du flytter et WordPress-nettsted til et nytt domenenavn eller URL, vil det ikke gjenspeile endringene i domenenavnet ditt på hele nettstedet. selv etter å ha endret domenene i nettstedinnstillingene. Du kan fikse dette i databasen med PMA:
Igjen kan du bruke SQL-spørringsboksen til å oppdatere nettstedets database direkte:
oppdater wp_options set option_value = erstatt (option_value, 'http: //old_domain.com','http: //new_domain.com'); oppdater wp_postmeta sett meta_value = erstatt (meta_value, 'http: //old_domain.com','http: //new_domain.com'); oppdater wp_posts sett post_content = erstatt (post_content, 'http: //old_domain.com','http: //new_domain.com'); oppdater wp_posts set guid = erstatt (guid, 'http: //old_domain.com','http: //new_domain.com'); oppdater wp_posts sett pinged = erstatt (pinged, 'http: //old_domain.com','http: //new_domain.com'); oppdater wp_comments set comment_content = erstatt (comment_content, 'http: //old_domain.com','http: //new_domain.com');
Du kan også bruke webgrensesnittet. Bla til databasenavnet, velg hvert bord, kjør et spørsmål, og endre innstillingene for hver enkelt manuelt:
Klikk på Rediger og gjør endringene dine:
Det er sjeldne tilfeller der WordPress 'administratorpassord blir endret, tapt eller ødelagt. Hvis du kan få tilgang til databasen, kan du bruke PMA til å oppdatere passordet ditt direkte (bla gjennom og bekreft hvilket numerisk ID representerer den nåværende administrative brukeren):
Oppdater 'your_database'. 'Your_user' SET 'user_pass' = MD5 ('nytt passord') WHERE 'wp_users'. 'ID' = 1;
Når det er gjort, kan du logge på WordPress Dashboard med ditt nye passord.
Jeg håper du har funnet dette nyttig. Vennligst legg inn eventuelle kommentarer, rettelser eller flere ideer nedenfor. Du kan bla gjennom mine andre Tuts + tutorials på min forfatterside eller følge meg på Twitter @ reifman.