Migratie van een WordPress-site van een lokale server naar productie

Geïntegreerd in het arsenaal van elke ontwikkelaar van WordPress is de lokale server. In deze zelfstudie wil ik je helemaal begeleiden van het installeren van een lokale server naar thema's, het exporteren van databases en nog veel meer.


Wat we gaan doen

In deze zelfstudie doorloop ik het hele proces van het installeren van een lokale server op uw computer, het maken van een onechte site en het implementeren van die site in productie. Aan het einde van deze zelfstudie moet u kunnen begrijpen hoe u:

  • Installeer een lokale server en configureer WordPress lokaal
  • Importeer inhoud in uw lokale database
  • Maak en bewerk een site of plug-in lokaal
  • Installeer en configureer WordPress op uw productieserver
  • Importeer database-inhoud in uw productiesite
  • Breng de map wp-content over die plug-ins, thema's en andere elementen bevat
  • Leun achterover en geniet van klanten die van je houden vanwege de minimale downtime!

En echt voor mij is dat laatste punt waar het allemaal om draait. Ik begrijp dat er enkele beperkingen zijn van lokale servers en soms is een onderhoudsmodus noodzakelijk, maar door een lokale server te gebruiken, kunt u vrijwel alle downtime op een normale site effectief elimineren. Zonder verder oponthoud, laten we ingaan!


Stap 1. Installeer en configureer een lokale server

Ik gebruik persoonlijk MAMP (ik ben helemaal een Mac-man) en het is hier beschikbaar om te downloaden. Voor jullie Windows-gebruikers zou ik XAMMP aanraden, die hier beschikbaar is. Er is ook een XAMMP-versie voor Mac-gebruikers.

Klik op de link hierboven om te downloaden naar de applicatie. Als het eenmaal is gedownload, sleept u het toepassingspictogram naar uw toepassingsmap (voor Mac-gebruikers) of gebruikt u het XAMMP-installatieprogramma voor Windows-gebruikers.

Na de installatie vindt u MAMP in / Applications / MAMP. XAMMP bevindt zich in Start -> Programma's -> XAMMP. Dat is het voor de installatie! Nadat u MAMP hebt geopend, moet u de voorkeuren bekijken door op de knop "Voorkeuren" te klikken. Je poorten zouden op deze manier op Mac moeten zijn ingesteld:

De lokale server voor de eerste keer starten

Nu de lokale server is geïnstalleerd, moeten we de Apache- en MySQL-servers starten. XAMMP wordt ook geleverd met Filezilla en Mercury als inbegrepen, optionele services.

Om de servers voor MAMP op te starten, ga naar: / Applications / MAMP en klik op het MAMP-pictogram. Het configuratiescherm ziet er als volgt uit:

In de bovenstaande afbeeldingen kunnen we zien dat de groene lampjes betekenen dat onze servers actief zijn. Op mijn oudere MacBook was dit niet altijd het geval (daar kom ik later op terug). Groen betekent voor nu! U kunt de startpagina van MAMP openen door op de knop "Open Startpagina" te klikken. Hiermee ga je naar je phpinfo, phpMyAdmin-toegang en andere belangrijke configuratie-instellingen die we later zullen gebruiken.

Voor XAMMP ziet het configuratiescherm, geopend op \ xampp \ xampp-control.exe, er als volgt uit:

Nogmaals, dit is eenvoudig. Klik op "Start" om de Apache- en mySQL-servers te starten. Het beheerdersgedeelte is toegankelijk door http://127.0.0.1 of http: // localhost in uw browser te typen.

Gefeliciteerd met de installatie van uw lokale server!


Stap 2. Installeren en configureren van WordPress op uw lokale server

Download eerst de nieuwste versie van WordPress hier. Daarna mag je de beroemde 5-minuten durende WordPress-installatie doen, die ook hier wordt beschreven.

  1. Maak vanuit de phpMyAdmin van uw lokale server een nieuwe database met de naam "wordpress". Je kunt dat toevoegen op de allereerste pagina die verschijnt wanneer je op de link phpMyAdmin klikt.
  2. Pak de WordPress-map uit en kopieer deze naar toepassingen / MAMP / htdocs voor MAMP en programma's / XAMMP / htdocs voor XAMMP-gebruikers. De nieuwe URL voor MAMP is http: // localhost: 8888 / wordpress /. Als u werkt aan een site die later iets anders zal heten als "blog", zou het nu een goed moment zijn om de map te hernoemen. De URL zal overeenkomstig veranderen.

    Omdat ik ook sites zonder Wordpress ontwikkel, heb ik de hele map gekopieerd in plaats van de inhoud eruit te halen. Door rootitems in hun eigen map te laten staan, kan ik hiermee ook Drupal-, Joomla- en Magento-thema's testen.

  3. Kopieer in de map wordpress het bestand wp-config-sample.php en wijzig de naam in wp-config.php.
  4. Open wp-config.php in een editor en beginnend bij regel 17, wilt u het volgende bewerken met uw configuratie op de startpagina van uw lokale server:
     // ** MySQL-instellingen - U kunt deze informatie opvragen bij uw webhost ** // / ** De naam van de database voor WordPress * / define ('DB_NAME', 'database_name_here'); / ** MySQL database gebruikersnaam * / define ('DB_USER', 'gebruikersnaam_here'); / ** MySQL-databasewachtwoord * / define ('DB_PASSWORD', 'wachtwoord_hier'); / ** MySQL-hostnaam * / define ('DB_HOST', 'localhost');

    Het is duidelijk dat we onze database "wordpress" in stap 1 hebben genoemd, dus dat gaat daar. Voor MAMP-gebruikers kunnen de gebruikersnaam en het wachtwoord beide worden ingesteld op 'root', omdat dit de standaardbeheerder is. Standaard op XAMMP heeft de gebruiker "root" geen wachtwoord.
    U kunt desgewenst meer gebruikers toevoegen aan de WordPress-database in phpMyAdmin. De hostnaam zou moeten blijven als "localhost".

  5. Omdat wp-config.php nog steeds open is, willen we ook doorgaan en onze unieke authenticatiesleutels krijgen. Ga hiervoor naar https://api.wordpress.org/secret-key/1.1/salt/ en gebruik de code die wordt weergegeven om de regels 45-52 te vervangen:
     define ('AUTH_KEY', 'plaats hier je unieke zin'); define ('SECURE_AUTH_KEY', 'plaats hier je unieke zin'); define ('LOGGED_IN_KEY', 'plaats hier je unieke zin'); define ('NONCE_KEY', 'plaats hier je unieke zin'); define ('AUTH_SALT', 'plaats hier je unieke zin'); define ('SECURE_AUTH_SALT', 'plaats hier je unieke zin'); define ('LOGGED_IN_SALT', 'plaats hier je unieke zin'); define ('NONCE_SALT', 'plaats hier je unieke zin');
  6. Sla en sluit wp-config.php.
  7. Begin het installatieproces door naar wp-admin / install.php te gaan. In MAMP, als uw site-URL http: // localhost: 8888 / wordpress is, voert u http: // localhost: 8888 / wordpress / wp-admin / install.php in.
  8. Als uw wp-config.php-instellingen juist zijn, wordt u gevraagd om de blognaam, uw e-mailadres en gebruikersnaam in te voeren.

Als u een foutmelding krijgt, hoeft u zich geen zorgen te maken! Het probleem zit in je wp-config.php-bestand. Ga daarheen en zoek uit welke instelling hierboven onjuist is.

Nu moet WordPress actief en gereed zijn op uw lokale server. U kunt het beheerdersdashboard op MAMP openen op http: // localhost: 8888 / wordpress / wp-login.php. Als u de mapnaam hebt gewijzigd, wijzigt u 'wordpress' in de nieuwe naam. XAMMP-gebruikers kunnen het volgende doen: 8888 of 127.0.0.1/wordpress/wp-login.php invoeren.


Stap 3. Maak en bewerk uw site

Beginnen met thema's en plug-ins

Uw standaard WordPress-installatie wordt geleverd met een standaardthema met de naam Twenty Ten. Om meer thema's toe te voegen, kunt u ze rechtstreeks in de map wp-content / themes kopiëren of u kunt ze via het WordPress-dashboard installeren in "Vormgeving -> Thema's". Thema's kunnen lokaal worden bewerkt via "Appearance -> Editor" of een teksteditor.

Plug-ins kunnen ook op dezelfde manier worden geïnstalleerd, ofwel kopiëren naar wp-content / plug-ins of nieuwe plug-ins vinden via het WordPress-dashboard in "Plug-ins -> Nieuwe toevoegen". Plug-ins kunnen ook lokaal worden bewerkt via "Plug-ins -> Editor" of een teksteditor.

Het hebben van een lokale server is ook een prima manier om nieuwe plug-ins te testen en uit te vinden welke voor uw sites werken. Elke ontwikkelaar van WordPress zou een gereedschapstas vol met plug-ins moeten hebben die ze voor hen tot hun beschikking kunnen stellen.

Inhoud importeren

Dus nu we ons thema en onze plug-ins hebben, hoe zit het met de inhoud? Klik hier om een ​​XML-bestand vol met WordPress-inhoud te downloaden die u moet helpen de slag te gaan.

Om die XML-inhoud te importeren in uw lokale server:

  1. Ga naar "Extra -> Importeren"
  2. Klik in de lijst met opties die wordt weergegeven op 'Wordpress', aangezien u WordPress-inhoud uploadt. Dit is ook van toepassing wanneer u gegevens van deze site naar uw productiesite importeert.
  3. Als dit de eerste keer is dat u inhoud hebt geïmporteerd, wordt u gevraagd om de WordPress Importer te installeren. Klik op "Nu installeren". Dit installeert eigenlijk een nieuwe plug-in in onze wp-content / plugins map genaamd "wordpress-importer".
  4. Nadat het is geïnstalleerd, klikt u op de koppeling om de importeur te activeren en uit te voeren.
  5. Blader naar het bestand posts.xml (of een ander geëxporteerd WordPress-databasebestand) en upload.
  6. Voeg op het volgende scherm de nieuwe berichten toe aan een auteur (meestal admin) en klik op "Download en importeer bestandsbijlagen". Ik vind dit nuttig als ik nieuwe gegevens importeer.

Als u nu het beheerdersdashboard bezoekt, ziet u dat u nu berichten, categorieën, opmerkingen, pagina's en gebruikers kunt gebruiken tijdens het testen en ontwikkelen van thema's en plug-ins..

Het importeren van gegevens overschrijft de bestaande gegevens niet, het voegt alleen toe aan wat er is. Maak je daar dus geen zorgen over terwijl je importeert.

Die mooie Permalinks krijgen

Dit frustreerde mij enorm toen ik voor het eerst begon te werken, maar de oplossing is simpel.

Open eerst je httpd.conf-bestand in / Applications / MAMP / conf / apache /. Lijnen 378-381 zien er als volgt uit:

  Opties-indices FollowSymLinks AllowOverride Geen 

Vervang die code door:

  Opties Indices FollowSymLinks AllowOverride All 

Je mooie permalinks zouden allemaal goed moeten zijn om te gaan, wat je productie ook zou moeten versnellen.


Stap 4. Maak de productieserver gereed

Nu u WordPress op uw lokale server hebt geïnstalleerd en geconfigureerd, kunt u dezelfde principes toepassen om WordPress op uw productieserver te installeren.

Het leuke is dat je, omdat je maar een paar wp-config.php database-instellingen hoeft te veranderen, simpelweg het volgende kunt doen om WordPress aan de praat te krijgen in een productieomgeving:

  1. Log in op het configuratiescherm van onze server, navigeer naar phpMyAdmin en maak de database met de naam "wordpress".
  2. Zorg dat u ingelogd bent bij phpMyadmin, gebruikersnaam, wachtwoord en databasehostadres, want we moeten deze waarden in wp-config.php bewerken.
  3. Bewerk wp-config.php om overeen te komen met de nieuwe serverinstellingen.
  4. Upload de volledige WordPress-map via FTP naar uw productieserver. Nogmaals, dit kan iets anders heten als je wilt dat het in een submap staat (bijv. Http://mysite.com/blog/ - waar "blog" je WP-installatie is). Als u WordPress in de hoofdmap van uw site wilt installeren, verplaatst u de map naar de hoofdmap van uw site en verplaatst u de inhoud naar uw hoofdmap, waardoor de originele WordPress-map leeg blijft. U kunt vervolgens die map verwijderen. Dit zorgt er ook voor dat u alle plug-ins en thema's waarover u hebt getest, verplaatst. U kunt ongewenste plug-ins en thema's in uw productieomgeving verwijderen door ze uit de wp-inhoudmap te verwijderen of ze uit te schakelen in het WordPress-dashboard.
  5. Voltooi de beroemde installatie van 5 minuten zoals eerder beschreven. Onthoud dat als er een fout is, dit bijna altijd te wijten is aan een fout in de instellingen van wp-config.php. WordPress zal je dit zelfs vertellen op zijn foutpagina.

Nu is WordPress actief in de productie, maar het ontbreekt aan inhoud. We moeten onze lokale servercontent die we hebben geperfectioneerd, downloaden naar onze live site.


Stap 5. Overdracht van uw database-inhoud en bestanden

De inhoud van de lokale server exporteren

Om onze lokale serverinhoud te kunnen exporteren, moeten we inloggen op ons lokale WordPress-dashboard, opnieuw http: // localhost: 8888 / wordpress / wp-login.php voor MAMP-gebruikers en http: // localhost / wordpress / wp- login.php voor XAMMP-gebruikers.

Scroll vervolgens naar beneden naar "Extra -> Exporteren".

Omdat dit de eerste export is, selecteert u "Alle inhoud" en klikt u op "Nu downloaden". Zoals WordPress zegt: "Dit bevat al uw berichten, pagina's, opmerkingen, aangepaste velden, termen, navigatiemenu's en aangepaste berichten.".

Onmiddellijk (afhankelijk van de grootte van de database), hebt u een XML-bestand met een naamstructuur van sitename.wordpress.year-month-day.xml. Dit is het bestand dat we zullen importeren net als bij posts.xml op onze lokale server.

Inhoud importeren in productie

Omdat we net hebben geleerd hoe we nieuwe gegevens in onze lokale server kunnen importeren, gebruiken we dezelfde principes om uw inhoud van uw lokale server naar uw productieserver te installeren.

Rechtstreeks exporteren en importeren in phpMyAdmin

Ik wil er ook op wijzen dat u ook rechtstreeks in phpMyAdmin kunt importeren en exporteren. Om onze lokale servergegevens te exporteren, zouden we:

  1. Open phpMyAdmin op de startpagina van MAMP of XAMMP.
  2. Klik op onze database met de naam "wordpress" of hoe dan ook genaamd de WordPress-database.
  3. Klik op het tabblad "Exporteren" en kies een XML-type export.
  4. Schakel het selectievakje in voor 'Opslaan als bestand'. Omdat de inhoud van mijn site klein was, heb ik ervoor gekozen deze niet te comprimeren, maar ik zou het ten zeerste aanbevelen voor grotere databases.

Hiermee wordt een databaseback-up XML-bestand direct op uw harde schijf opgeslagen. Nu kunt u het importeren via WordPress of de phpMyAdmin van uw productieserver.

Om ons nieuw aangemaakte XML-bestand (mijn opgeslagen als wordpress.xml) te importeren, herhaalt u stap 1 en 2 van hierboven, maar klikt u bij stap 3 op "Importeren". Dat scherm ziet er als volgt uit:

Blader naar uw opgeslagen XML-bestand en klik op het keuzerondje voor XML onder "Formaat van geïmporteerd bestand".

En dat zijn alle mensen! U hebt nu een volledig functionele site die u hebt gemaakt en geconfigureerd op een lokale server, maar die is geëxporteerd en geïmplementeerd in productie.


Tips en trucs voor lokale omgeving

Naast de bovenstaande tutorial wilde ik een aantal dingen weggooien die ik doe terwijl ik in mijn lokale omgeving werk en die nuttig zijn gebleken bij het verhuizen naar de productie:

Beveilig uw site voordat deze live gaat

Dit laatste jaar was de eerste keer dat ik een site liet hacken. Ik weet dat dat voor sommigen oud en klein is, maar er is niets dat een klant opbelt om het te melden. Nu, het goede nieuws was dat het gemakkelijk was om voor te zorgen en te beveiligen, maar door die ervaring heb ik geleerd dat je nooit fout kunt gaan met het veiligstellen van je site..

Een van de gemakkelijkste dingen om een ​​beveiligingslaag aan uw site toe te voegen, is door een leeg index.php-bestand te maken en dit in uw wp-inhoudmap, wp-content / plug-ins, wp-content / themamap te plaatsen. Dit is een snelle oplossing die aan het begin van het ontwikkelingsproces kan worden uitgevoerd om een ​​extra beveiligingslaag voor uw site te creëren door indexering van uw inhoud te voorkomen.

In dat index.php-bestand zou ik gewoon de volgende code toevoegen:

 

Gebruik Downtime om nieuwe dingen te leren

Mijn lokale server is van onschatbare waarde gebleken bij het leren van de ins en outs van WordPress-plug-ins en -thema's. Omdat ik internet niet meer nodig heb, kan ik de thema's en plug-ins die ik wil downloaden en wanneer ik de kans krijg de bestanden en functies te bekijken.

Dit klinkt misschien redelijk gezond, maar mijn lokale server gebruiken en regelmatig gebruiken heeft de manier waarop ik ontwikkel echt gevormd, doordat ik praktisch kan leren van het werk van anderen in hun code. En het mooie is dat als ik nog steeds iets niet heb begrepen, ik er later op terug kan komen omdat het niet live is en niemand beïnvloedt..

Begrijp de beperkingen van een lokale server

Nu na alle positieve dingen, hier zijn een paar dingen die moeten worden opgemerkt bij het werken met een lokale server - voornamelijk uit mijn ervaringen met MAMP:

  • Wees voorbereid als de lokale servers niet starten. Er was een tijd, specifiek met mijn MacBook en MAMP, dat elke keer dat ik naar een site ging, MAMP gewoon zou bevriezen. Ik zou de eerste 15 minuten van een project doorbrengen waar ik enthousiast over was om het uit te zoeken. Een beetje de opwinding een beetje gedood! Om dit te verhelpen, probeert u "Force Quitting" MAMP. Als dat niet werkt, kunnen OSX 10.5 en 10.6 gebruikers meestal Activity Monitor openen (te vinden in Applications / Utilities), "My Processes" selecteren en zoeken naar meerdere instanties van "mysqld". Als er meerdere worden uitgevoerd, verwijdert u ze op één na. Dat zou de dingen weer normaal moeten maken.
  • Voor MAMP zijn de groene lampjes om aan te geven dat de servers zijn ingeschakeld, niet altijd betrouwbaar. Om dit te testen, klikt u gewoon op de "Startpagina" en als deze verschijnt, bent u klaar om te gaan.
  • Sommige vormacties en geavanceerde functies werken mogelijk niet correct. Ik heb dit ervaren met een Amazon S3-plug-in die ik heb ontwikkeld. Voor deze dingen zal ik vaak een aangepaste WordPress paginasjabloon of plugin-map opzetten, deze op mijn site installeren via FTP en testen op een privépagina. U kunt zelfs een subdirectory installeren om meer tests uit te voeren of Multipress te gebruiken.

Conclusie

Bedankt voor het doorlopen van het proces van het installeren van een lokale server, het configureren van een WordPress-site erop en het migreren van die site naar een productieomgeving.

Ik wil iedereen die meer ervaring heeft dan ik aanmoedigen om hieronder andere lokale instellingen te plaatsen, meer ideeën om het migratieproces te stroomlijnen en andere tips en trucs om lokaal te werken. Ik ben tenslotte slechts een stem van de gemeenschap.

Bedankt voor het lezen!