Migrere et WordPress-nettsted fra en lokal server til produksjon

Integrert med enhver WordPress-utviklerens arsenal er den lokale serveren. I denne opplæringen vil jeg gå deg hele veien fra å installere en lokal server til tema, eksporterende databaser og videre.


Hva vi vil gjøre

I denne opplæringen vil jeg ta deg gjennom hele prosessen med å installere en lokal server på datamaskinen din, lage et spottside og distribuere dette nettstedet i produksjon. Ved slutten av denne opplæringen bør du kunne forstå hvordan man:

  • Installer en lokal server og konfigurer WordPress lokalt
  • Importer innhold til din lokale database
  • Opprett og rediger et nettsted eller plugin lokalt
  • Installer og konfigurer WordPress på produksjonsserveren din
  • Importer databaseinnhold til produksjonsstedet ditt
  • Overfør mappen for wp-innhold som inneholder plugins, temaer og andre elementer
  • Len deg tilbake og nyt klienter som elsker deg på grunn av minimal nedetid!

Og egentlig for meg er det siste punktet det handler om. Jeg forstår at det er noen begrensninger på lokale servere, og noen ganger er det nødvendig med vedlikeholdsmodus, men ved å bruke en lokal server kan du effektivt eliminere nesten alle nedetid på et normalt nettsted. Uten ytterligere ado, la oss grave inn!


Trinn 1. Installer og konfigurer en lokal server

Jeg bruker personlig MAMP (jeg er en Mac-fyr hele veien), og den er tilgjengelig for nedlasting her. For deg Windows-brukere, vil jeg anbefale XAMMP, som er tilgjengelig her. Det er også en XAMMP-versjon for Mac-brukere.

Klikk på lenken over for å laste ned til programmet. Når det er lastet ned, dra applikasjonsikonet i programmappen din (for Mac-brukere), eller bruk XAMMP-installasjonsprogrammet for Windows-brukere.

Etter installasjonen finner du MAMP in / Applications / MAMP. XAMMP vil bli plassert i Start -> Programmer -> XAMMP. Det er det for installasjonen! Når du har åpnet MAMP, må du se på innstillingene ved å klikke på "Preferanser" -knappen. Dine porter bør settes opp som dette på Mac:

Starte den lokale serveren for første gang

Nå som den lokale serveren er installert, må vi starte Apache- og MySQL-serverne. XAMMP leveres også med Filezilla og Mercury som følger med, valgfrie tjenester.

For å starte serverne for MAMP, gå til: / Programmer / MAMP og klikk på MAMP-ikonet. Kontrollpanelet ser slik ut:

I bildene ovenfor kan vi se de grønne lysene at våre servere er aktive. På min eldre MacBook var dette ikke alltid tilfelle (jeg vil adressere det senere). For nå, grønne midler går! Du kan åpne MAMPs startside ved å klikke på "Åpne startside" -knappen. Dette tar deg til phpinfo, phpMyAdmin-tilgangen din og andre viktige konfigurasjonsinnstillinger som vi vil bruke senere.

For XAMMP vil kontrollpanelet, som nås på \ xampp \ xampp-control.exe, se slik ut:

Igjen, dette er enkle ting. Klikk på "Start" for å starte Apache- og mySQL-serverne. Administrasjonsområdet kan nås ved å skrive http://127.0.0.1 eller http: // localhost i nettleseren din.

Gratulerer med å installere din lokale server!


Trinn 2. Installere og konfigurere WordPress på din lokale server

Først må du laste ned den nyeste versjonen av WordPress her. Deretter får du den berømte 5-minutters WordPress installasjonen, som også er skissert her.

  1. Fra den lokale serverens phpMyAdmin, opprett en ny database med navnet "wordpress". Du kan legge til det på den aller første siden som kommer opp når du klikker på phpMyAdmin-lenken.
  2. Unzip WordPress-mappen og kopier den til applikasjoner / MAMP / htdocs for MAMP, og programmer / XAMMP / htdocs for XAMMP-brukere. Den nye nettadressen for MAMP vil være http: // localhost: 8888 / wordpress /. Hvis du jobber på et nettsted som senere vil bli kalt noe annet som "blogg", vil det nå være en god tid å gi nytt navn til mappen. Nettadressen vil endres tilsvarende.

    Siden jeg også utvikler nettsteder uten Wordpress, har jeg kopiert hele mappen over i stedet for å ta innholdet ut. Ved å forlate rotteelementer i sin egen mappe, gjør dette også meg til å teste Drupal, Joomla og Magento temaer.

  3. I WordPress-mappen dupliserer du wp-config-sample.php-filen, og omdøper den til wp-config.php.
  4. Åpne wp-config.php i en editor, og start på linje 17, du vil redigere følgende med konfigurasjonen din på den lokale serverens startside:
     // ** MySQL-innstillinger - Du kan få denne informasjonen fra webverten din ** // / ** Navnet på databasen for WordPress * / define ('DB_NAME', 'database_name_here'); / ** MySQL database brukernavn * / define ('DB_USER', 'brukernavn_here'); / ** MySQL database passord * / define ('DB_PASSWORD', 'password_here'); / ** MySQL vertsnavn * / define ('DB_HOST', 'localhost');

    Åpenbart har vi kalt vår database "wordpress" i trinn 1, så det går der. For MAMP-brukere kan brukernavnet og passordet begge settes til "root" som det er standard admin bruker. Som standard på XAMMP har brukerens "root" ikke noe passord.
    Du kan legge til flere brukere i WordPress-databasen i phpMyAdmin hvis du vil. Vertsnavnet bør forbli som "localhost".

  5. Med wp-config.php fortsatt åpen, vil vi også fortsette og få våre unike autentiseringsnøkler. For å gjøre det, besøk https://api.wordpress.org/secret-key/1.1/salt/ og bruk koden som vises for å erstatte linjene 45-52:
     define ('AUTH_KEY', 'sett ditt unike uttrykk her'); define ('SECURE_AUTH_KEY', 'sett ditt unike uttrykk her'); define ('LOGGED_IN_KEY', 'sett ditt unike uttrykk her'); define ('NONCE_KEY', 'sett ditt unike uttrykk her'); define ('AUTH_SALT', 'sett ditt unike uttrykk her'); define ('SECURE_AUTH_SALT', 'sett ditt unike uttrykk her'); define ('LOGGED_IN_SALT', 'sett ditt unike uttrykk her'); define ('NONCE_SALT', 'sett ditt unike uttrykk her');
  6. Lagre og lukk wp-config.php.
  7. Start installeringsprosessen ved å gå til wp-admin / install.php. I MAMP, hvis du er webadresse er http: // localhost: 8888 / wordpress, så vil du skrive inn http: // localhost: 8888 / wordpress / wp-admin / install.php.
  8. Hvis innstillingene for wp-config.php er riktige, blir du bedt om å skrive inn bloggnavnet, e-postadressen og brukernavnet ditt.

Hvis det oppstår en feil, ikke bekymre deg! Problemet kommer i wp-config.php-filen. Gå dit og finn ut hvilken innstilling ovenfor er feil.

Nå bør WordPress være aktiv og klar på din lokale server. Du kan få tilgang til administrasjonspanelet på MAMP på http: // localhost: 8888 / wordpress / wp-login.php. Hvis du endret mappenavnet, endrer du "wordpress" til det nye navnet. XAMMP-brukere kan gjøre unna med: 8888 eller angi 127.0.0.1/wordpress/wp-login.php.


Trinn 3. Lag og rediger nettstedet ditt

Starter med temaer og plugins

Standard WordPress-installasjonen kommer med et standard tema kalt Twenty Ten. Hvis du vil legge til flere temaer, kan du kopiere dem rett inn i mappen wp-content / themes, eller du kan installere dem via WordPress-dashbordet i "Utseende -> Temaer". Temaer kan redigeres lokalt via "Utseende -> Editor" eller en tekstredigerer.

Plugins kan også installeres på samme måte, enten kopiere dem til wp-innhold / plugin eller finne nye plugins via WordPress dashboard i "Plugins -> Add New". Plugins kan også redigeres lokalt via "Plugins -> Editor" eller en tekstredigerer.

Å ha en lokal server er også en fin måte å teste nye plugins på, og finne hvilke som fungerer for nettstedene dine. Hver WordPress-utvikler skal ha en verktøykasse full av plugins som de kan gjøre arbeid for dem til deres disposisjon.

Importerer innhold

Så nå har vi vårt tema og våre plugins, hva med innhold? Vel, klikk her for å laste ned en XML-fil full av WordPress-innlegg innhold som skal hjelpe deg med å komme i gang.

Slik importerer du XML-innholdet til din lokale server:

  1. Gå til "Verktøy -> Importer"
  2. I listen over alternativer som vises, klikker du på "Wordpress", siden du laster opp WordPress-innhold. Dette gjelder også når du importerer data fra dette nettstedet til produksjonsstedet ditt.
  3. Hvis dette er første gang du har importert innhold, blir du bedt om å installere WordPress Importer. Klikk på "Installer nå". Dette installerer faktisk et nytt plugin i vår wp-innhold / plugins-mappe kalt "wordpress-importer".
  4. Når den er installert, klikker du på koblingen for å aktivere og kjøre importøren.
  5. Bla til posten posts.xml (eller en annen eksportert WordPress-databasefil), og last opp.
  6. På den neste skjermen, tilordne de nye innleggene til en forfatter (vanligvis admin), og pass på å klikke "Last ned og importer filvedlegg". Jeg finner dette for å være nyttig hvis jeg importerer nye data.

Nå, hvis du besøker administrasjonspanelet, ser du at du nå har innlegg, kategorier, kommentarer, sider og brukere som skal bruke når du tester og utvikler temaer og plugins.

Import av data overskriver ikke eksisterende data, det legger bare til hva som er der. Så ikke bekymre deg for det mens du importerer.

Få de flotte Permalinks

Dette er noe som frustrerte meg sterkt da jeg først begynte å jobbe, men løsningen er enkel.

Først åpner du httpd.conf filen i / Applications / MAMP / conf / apache /. Linjer 378-381 vil se slik ut:

  Alternativer indekser FollowSymLinks TillatOverride None 

Erstatt den koden med:

  Alternativer indekser FollowSymLinks AllowOverride All 

De fine permalinkene dine bør være bra å gå, noe som også burde bidra til å øke produksjonen.


Trinn 4. Klar produksjonsserveren

Nå som du har installert og konfigurert WordPress på din lokale server, kan du bruke de samme prinsippene for å installere WordPress på produksjonsserveren din.

Den fine tingen er at siden du bare trenger å endre noen wp-config.php databaseinnstillinger, kan du bare gjøre følgende for å få WordPress oppe i et produksjonsmiljø:

  1. Logg inn på serverens kontrollpanel, naviger til phpMyAdmin, og opprett databasen med navnet "wordpress".
  2. Mens du er logget på phpMyadmin, må du huske å notere brukernavn, passord og databasevertsadresse, da vi må redigere disse verdiene i wp-config.php.
  3. Rediger wp-config.php for å matche de nye serverinnstillingene.
  4. Last opp hele WordPress-mappen via FTP til produksjonsserveren din. Igjen kan dette bli kalt noe annet hvis du vil at det skal være i en undermappe (for eksempel http://mysite.com/blog/ - der "blog" er din WP-installasjon). Hvis du vil installere WordPress i roten til nettstedet ditt, flytter du mappen til rotmappen på nettstedet ditt, og deretter flytter innholdet ut i rotmappen din, slik at den opprinnelige WordPress-mappen er tom. Du kan da slette den mappen. Dette vil også sikre at du flytter over alle plugins og temaer du har testet med. Du kan slette uønskede programtillegg og temaer i produksjonsområdet ved å fjerne dem fra mappen WP-innhold eller deaktivere dem i WordPress dashboard.
  5. Fullfør den berømte 5-minutters installasjonen som beskrevet tidligere. Husk at hvis det er en feil, skyldes det nesten alltid en feil i wp-config.php-innstillingene. WordPress vil til og med fortelle deg dette på feilsiden.

Nå er WordPress aktiv i produksjon, men mangler innhold. Vi må få vårt lokale serverinnhold som vi har perfeksjonert over til vårt live-nettsted.


Trinn 5. Overføre databasens innhold og filer

Eksportere det lokale serverinnholdet

For å kunne eksportere vårt lokale serverinnhold, må vi logge på vårt lokale WordPress dashboard, igjen http: // localhost: 8888 / wordpress / wp-login.php for MAMP-brukere og http: // localhost / wordpress / wp- login.php for XAMMP brukere.

Deretter ruller du ned til "Verktøy -> Eksporter".

Siden dette er den første eksporten, velg "Alt innhold" og klikk "Last ned nå". Som WordPress sier, "Dette vil inneholde alle dine innlegg, sider, kommentarer, egendefinerte felt, vilkår, navigasjonsmenyer og egendefinerte innlegg.".

Umiddelbart (avhengig av størrelsen på databasen), vil du ha en XML-fil som har en navnestruktur av sitename.wordpress.year-month-day.xml. Dette er filen vi vil importere akkurat som vi gjorde med posts.xml på vår lokale server.

Importerer innhold til produksjon

Siden vi nettopp har lært hvordan du importerer nye data til vår lokale server, bruker du de samme prinsippene for å installere innholdet fra den lokale serveren til produksjonsserveren din

Eksporterer og importerer direkte i phpMyAdmin

Jeg vil også påpeke at du også kan importere og eksportere direkte i phpMyAdmin. For å eksportere våre lokale serverdata ville vi:

  1. Åpne phpMyAdmin fra MAMP eller XAMMP startsiden.
  2. Klikk på vår database med navnet "wordpress" eller hva du har kalt WordPress-databasen.
  3. Klikk på "Eksporter" -fanen, og velg en eksporttype av XML-typen.
  4. Pass på at du merker av for "Lagre som fil". Siden innholdet på nettstedet mitt var lite, valgte jeg ikke å komprimere det, men jeg vil anbefale det til større databaser.

Dette vil lagre en database backup XML-fil direkte til harddisken din. Nå kan du importere det via WordPress eller produksjonsserverens phpMyAdmin.

For å importere vår nyopprettede XML-fil (min lagret som wordpress.xml), gjenta trinn 1 og 2 ovenfra, men i trinn 3 klikker du på "Import". Denne skjermen vil se slik ut:

Bla gjennom til din lagrede XML-fil, og klikk på radioknappen for XML under "Format of imported file".

Og det er alle folkens! Du har nå et fullt funksjonelt nettsted som du opprettet og konfigurert på en lokal server, men eksporteres og distribueres til produksjon.


Lokale miljøtips og triks

I tillegg til opplæringen ovenfor ønsket jeg å kaste ut et par ting jeg gjør mens jeg jobber i mitt lokale miljø som har vist seg nyttig når du går over til produksjonen:

Sikre nettstedet ditt før det går live

Dette året var første gang jeg fikk et nettsted, hacket. Jeg vet at det kan være gammel lue for noen, men det er ingenting som å ringe fra en klient for å rapportere det. Nå var den gode nyheten at det var lett å ta vare på og sikre, men gjennom denne erfaringen lærte jeg at du aldri kan gå galt med å sikre nettstedet ditt tidlig.

En av de enkleste ting å gjøre for å legge til et sikkerhetslag på nettstedet ditt, er å opprette en tom index.php-fil og plassere den i mappen WP-innhold, WP-innhold / Plugins, WP-innhold / Temaer. Dette er en rask løsning som kan gjøres ved begynnelsen av utviklingsprosessen for å skape et ekstra sikkerhetslag for nettstedet ditt ved å forhindre indeksering av innholdet ditt.

I den index.php-filen vil jeg bare legge til følgende kode:

 

Bruk nedetid til å lære nye ting

Min lokale server har vist seg å være uvurderlig når jeg lærer inn og ut av WordPress-plugins og temaer. Fordi jeg ikke trenger Internett lenger, kan jeg laste ned temaene og pluginene jeg vil ha, og når jeg får sjansen, ser du over filene og fungerer.

Dette kan høres ganske sunn fornuft, men å ha min lokale server og bruke den regelmessig har virkelig formet måten jeg utvikler ved å la meg lære praktisk fra andres arbeid i sin kode. Og det gode er at hvis jeg fortsatt ikke har forstått noe, kan jeg komme tilbake til det senere fordi det ikke er levende og det påvirker ikke noen.

Forstå begrensningene for en lokal server

Nå, etter alle de positive tingene, er det noen ting som bør nevnes når du jobber med en lokal server - først og fremst fra mine erfaringer med MAMP:

  • Vær forberedt hvis de lokale serverne ikke starter. Det var en tid, spesielt med MacBook og MAMP, at hver gang jeg gikk for å starte på et nettsted, ville MAMP bare fryse. Jeg ville tilbringe de første 15 minuttene av et prosjekt jeg var spent på å prøve å finne ut det. Slags drept spenningen litt! For å rette opp dette, prøv "Force Quitting" MAMP. Hvis det ikke virker, kan OSX 10.5 og 10.6-brukere vanligvis åpne aktivitetsovervåkning (i Programmer / Verktøy), velge "Mine prosesser", og se etter flere forekomster av "mysqld". Hvis det er flere løp, slett alt annet enn ett. Det burde få ting tilbake til det normale.
  • For MAMP er de grønne lysene for å indikere at serverne er på, ikke alltid pålitelige. For å teste dette, klikker du bare på "Startside", og hvis det kommer opp, så er det godt å gå.
  • Enkelte skjemahandlinger og avanserte funksjoner fungerer kanskje ikke riktig. Jeg har opplevd dette med en Amazon S3 plugin som jeg utviklet. For disse tingene vil jeg ofte sette opp en egendefinert WordPress-sidemal eller en plugin-mappe, installere den på nettstedet mitt via FTP, og test på en privat side. Du kan til og med installere en underkatalog for å utføre mer testing eller bruk Multipress.

Konklusjon

Takk for at du går gjennom prosessen med å installere en lokal server, konfigurere et WordPress-område på det, og deretter overføre dette nettstedet til et produksjonsmiljø.

Jeg vil oppfordre noen av dere som har mer erfaring enn meg, til å tilfredsstille alle andre lokale oppsett du har, flere ideer om hvordan du kan effektivisere migreringsprosessen og andre tips og triks for å jobbe lokalt. Jeg er jo bare en stemme i samfunnet.

Takk for at du leste!