Migration d'un site WordPress d'un serveur local vers la production

Le serveur local fait partie intégrante de l'arsenal de tout développeur WordPress. Dans ce tutoriel, je souhaite vous guider de l'installation d'un serveur local à la thématisation, à l'exportation de bases de données, et au-delà..


Qu'allons nous faire

Dans ce didacticiel, je vais vous expliquer le processus complet d'installation d'un serveur local sur votre ordinateur, de création d'un site fictif et de déploiement de ce site en production. À la fin de ce tutoriel, vous devriez être capable de comprendre comment:

  • Installer un serveur local et configurer WordPress localement
  • Importer du contenu dans votre base de données locale
  • Créer et éditer un site ou un plugin localement
  • Installer et configurer WordPress sur votre serveur de production
  • Importer le contenu de la base de données dans votre site de production
  • Transférez le dossier wp-content qui contient les plugins, les thèmes et d'autres éléments
  • Asseyez-vous et appréciez les clients qui vous aiment en raison du temps d'arrêt minimal!

Et, vraiment pour moi, ce dernier point est ce dont il s'agit. Je comprends que les serveurs locaux sont limités et qu’un mode de maintenance est parfois nécessaire, mais en utilisant un serveur local, vous pouvez éliminer presque tous les temps morts sur un site normal. Sans plus tarder, creusons!


Étape 1. Installez et configurez un serveur local

Personnellement, j'utilise MAMP (je suis un gars sous Mac), et vous pouvez le télécharger ici. Pour les utilisateurs de Windows, je recommanderais XAMMP, disponible ici. Il existe également une version XAMMP pour les utilisateurs Mac.

Cliquez sur le lien ci-dessus pour télécharger l'application. Une fois les téléchargements téléchargés, faites glisser l’icône de l’application dans le dossier de votre application (pour les utilisateurs Mac) ou utilisez le programme d’installation XAMMP pour les utilisateurs Windows..

Après l’installation, vous trouverez MAMP dans / Applications / MAMP. XAMMP sera situé dans Démarrer -> Programmes -> XAMMP. Voilà pour l'installation! Une fois que vous avez ouvert MAMP, veillez à consulter les préférences en cliquant sur le bouton "Préférences". Vos ports devraient être configurés comme ceci sur Mac:

Démarrer le serveur local pour la première fois

Maintenant que le serveur local est installé, nous devrons démarrer les serveurs Apache et MySQL. XAMMP est également fourni avec Filezilla et Mercury, services optionnels inclus.

Pour démarrer les serveurs pour MAMP, allez à: / Applications / MAMP et cliquez sur l’icône MAMP. Le panneau de configuration ressemblera à ceci:

Dans les images ci-dessus, les voyants verts indiquent que nos serveurs sont actifs. Sur mon ancien MacBook, cela n’a pas toujours été le cas (je traiterai de cela plus tard). Pour l'instant, le vert signifie aller! Vous pouvez ouvrir la page de démarrage de MAMP en cliquant sur le bouton "Ouvrir la page de démarrage". Cela vous mènera à votre phpinfo, votre accès phpMyAdmin et à d’autres paramètres de configuration importants que nous utiliserons plus tard..

Pour XAMMP, le panneau de configuration, accessible depuis \ xampp \ xampp-control.exe, ressemblera à ceci:

Encore une fois, ce sont des choses simples. Cliquez sur "Démarrer" pour démarrer les serveurs Apache et MySQL. Vous pouvez accéder à la zone d'administration en tapant http://127.0.0.1 ou http: // localhost dans votre navigateur..

Félicitations pour l'installation de votre serveur local!


Étape 2. Installation et configuration de WordPress sur votre serveur local

Commencez par télécharger la dernière version de WordPress ici. Après cela, vous pourrez faire la célèbre installation de 5 minutes de WordPress, qui est également décrite ici..

  1. Depuis phpMyAdmin de votre serveur local, créez une nouvelle base de données nommée "wordpress". Vous pouvez ajouter cela sur la toute première page qui apparaît lorsque vous cliquez sur le lien phpMyAdmin.
  2. Décompressez le dossier WordPress et copiez-le dans applications / MAMP / htdocs pour MAMP et dans programmes / XAMMP / htdocs pour les utilisateurs XAMMP. La nouvelle adresse URL de MAMP sera http: // localhost: 8888 / wordpress /. Si vous travaillez sur un site qui portera plus tard le nom "blog", le moment est venu de renommer le dossier. L'URL changera en conséquence.

    Depuis que je développe également des sites sans Wordpress, j'ai copié le dossier entier au lieu d'en extraire le contenu. En laissant les éléments racines dans leur propre dossier, cela me permet également de tester les thèmes Drupal, Joomla et Magento..

  3. Dans le dossier wordpress, dupliquez le fichier wp-config-sample.php et renommez-le en wp-config.php.
  4. Ouvrez wp-config.php dans un éditeur et, à partir de la ligne 17, vous souhaitez modifier les éléments suivants avec votre configuration, sur la page de démarrage de votre serveur local:
     // ** Paramètres MySQL - Vous pouvez obtenir ces informations auprès de votre hôte Web ** // / ** Le nom de la base de données pour WordPress * / define ('DB_NAME', 'nom_base_données_il_'); / ** Nom d'utilisateur de la base de données MySQL * / define ('DB_USER', 'username_here'); / ** Mot de passe de la base de données MySQL * / define ('DB_PASSWORD', 'password_here'); / ** Nom d'hôte MySQL * / define ('DB_HOST', 'localhost');

    Évidemment, nous avons nommé notre base de données "wordpress" à l'étape 1, donc ça y est. Pour les utilisateurs de MAMP, le nom d'utilisateur et le mot de passe peuvent tous deux être définis sur "root" car il s'agit de l'utilisateur admin par défaut. Par défaut sur XAMMP, l'utilisateur "root" n'a pas de mot de passe..
    Vous pouvez ajouter plus d'utilisateurs à la base de données wordpress dans phpMyAdmin si vous le souhaitez. Le nom d'hôte doit rester en tant que "localhost".

  5. Wp-config.php étant toujours ouvert, nous voulons également aller de l'avant et obtenir nos clés d'authentification uniques. Pour ce faire, visitez https://api.wordpress.org/secret-key/1.1/salt/ et utilisez le code qui s'affiche pour remplacer les lignes 45 à 52:
     define ('AUTH_KEY', 'mettez votre phrase unique ici'); define ('SECURE_AUTH_KEY', 'mettez votre phrase unique ici'); define ('LOGGED_IN_KEY', 'mettez votre phrase unique ici'); define ('NONCE_KEY', 'mettez votre phrase unique ici'); define ('AUTH_SALT', 'mettez votre phrase unique ici'); define ('SECURE_AUTH_SALT', 'mettez votre phrase unique ici'); define ('LOGGED_IN_SALT', 'mettez votre phrase unique ici'); define ('NONCE_SALT', 'mettez votre phrase unique ici');
  6. Enregistrez et fermez wp-config.php.
  7. Commencez le processus d'installation en visitant wp-admin / install.php. Dans MAMP, si l'URL du site est http: // localhost: 8888 / wordpress, vous devez entrer http: // localhost: 8888 / wordpress / wp-admin / install.php..
  8. Si vos paramètres wp-config.php sont corrects, vous serez invité à entrer le nom du blog, votre email et vos informations de nom d'utilisateur..

Si une erreur apparaît, ne vous inquiétez pas! Le problème sera dans votre fichier wp-config.php. Allez-y et déterminez quel réglage ci-dessus est incorrect.

Maintenant, WordPress devrait être actif et prêt sur votre serveur local. Vous pouvez accéder au tableau de bord de l'administrateur sur MAMP à l'adresse http: // localhost: 8888 / wordpress / wp-login.php. Si vous avez changé le nom du dossier, remplacez "wordpress" par le nouveau nom. Les utilisateurs de XAMMP peuvent supprimer: 8888 ou entrer 127.0.0.1/wordpress/wp-login.php.


Étape 3. Créez et modifiez votre site

À partir de thèmes et de plugins

Votre installation WordPress par défaut sera livrée avec un thème par défaut appelé Twenty Ten. Pour ajouter d'autres thèmes, vous pouvez les copier directement dans le dossier wp-content / themes ou les installer via le tableau de bord WordPress dans "Apparence -> Thèmes". Les thèmes peuvent être édités localement via "Apparence -> Editeur" ou un éditeur de texte.

Les plugins peuvent également être installés de la même façon, soit les copier dans wp-content / plugins, soit trouver de nouveaux plugins via le tableau de bord WordPress dans "Plugins -> Ajouter un nouveau". Les plugins peuvent également être édités localement via "Plugins -> Editor" ou un éditeur de texte.

Avoir un serveur local est également un excellent moyen de tester de nouveaux plugins et de trouver ceux qui fonctionnent pour vos sites. Tous les développeurs WordPress devraient avoir une boîte à outils remplie de plug-ins qu'ils pourraient utiliser pour eux..

Importer du contenu

Alors maintenant que nous avons notre thème et nos plugins, qu'en est-il du contenu? Cliquez ici pour télécharger un fichier XML contenant du contenu de publication WordPress qui devrait vous aider à démarrer..

Pour importer ce contenu XML sur votre serveur local:

  1. Allez dans "Outils -> Importer"
  2. Dans la liste des options qui apparaît, cliquez sur "Wordpress", car vous téléchargez du contenu WordPress. Ceci s'appliquera également lorsque vous importez des données de ce site sur votre site de production..
  3. Si vous importez du contenu pour la première fois, il vous sera demandé d'installer WordPress Importer. Cliquez sur "Installer maintenant". Cela installe en fait un nouveau plugin dans notre dossier wp-content / plugins nommé "wordpress-importer"..
  4. Une fois installé, cliquez sur le lien pour activer et lancer l'importateur..
  5. Recherchez le fichier posts.xml (ou tout autre fichier de base de données WordPress exporté), puis téléchargez-le..
  6. Sur l'écran suivant, attribuez les nouvelles publications à un auteur (généralement admin) et assurez-vous de cliquer sur "Télécharger et importer les pièces jointes". Je trouve cela utile si j'importe de nouvelles données.

Maintenant, si vous visitez le tableau de bord de l'administrateur, vous verrez que vous avez maintenant des publications, des catégories, des commentaires, des pages et des utilisateurs à utiliser lorsque vous testez et développez des thèmes et des plugins..

L'importation de données n'écrase pas les données existantes, elle ajoute seulement à ce qui s'y trouve. Alors ne vous inquiétez pas de cela lorsque vous importez.

Obtenir ces jolis Permaliens

C'est quelque chose qui m'a énervé lorsque j'ai commencé à travailler, mais la solution est simple..

Commencez par ouvrir votre fichier httpd.conf dans / Applications / MAMP / conf / apache /. Les lignes 378 à 381 ressembleront à ceci:

  Options Index FollowSymLinks AllowOverride Aucun 

Remplacez ce code par:

  Options Index FollowSymLinks AllowOverride All 

Vos jolis permaliens devraient tous être bons, ce qui devrait aussi aider à accélérer votre production.


Étape 4. Préparez le serveur de production

Maintenant que vous avez installé et configuré WordPress sur votre serveur local, vous pouvez appliquer les mêmes principes pour installer WordPress sur votre serveur de production..

La bonne chose est que, puisqu'il vous suffit de modifier certains paramètres de la base de données wp-config.php, vous pouvez simplement procéder comme suit pour que WordPress soit opérationnel et fonctionne dans un environnement de production:

  1. Connectez-vous au panneau de contrôle de notre serveur, accédez à phpMyAdmin et créez la base de données nommée "wordpress"..
  2. Lorsque vous êtes connecté à phpMyadmin, veillez à noter le nom d'utilisateur, le mot de passe et l'adresse de l'hôte de la base de données, car nous devrons modifier ces valeurs dans wp-config.php..
  3. Editez le fichier wp-config.php pour qu'il corresponde aux nouveaux paramètres du serveur..
  4. Téléchargez le dossier WordPress complet via FTP sur votre serveur de production. Encore une fois, cela peut être nommé autrement si vous voulez que ce soit dans un sous-dossier (ex. Http://monsite.com/blog/ - où "blog" est votre installation de WP). Si vous souhaitez installer WordPress à la racine de votre site, déplacez le dossier dans le dossier racine de votre site, puis déplacez le contenu dans votre dossier racine en laissant le dossier WordPress d'origine vide. Vous pouvez ensuite supprimer ce dossier. Cela garantira également que vous passez sur tous les plugins et thèmes que vous avez testés. Vous pouvez supprimer des plug-ins et des thèmes indésirables dans votre environnement de production en les supprimant du dossier wp-content ou en les désactivant dans le tableau de bord WordPress..
  5. Terminez la célèbre installation de 5 minutes décrite ci-dessus. N'oubliez pas que s'il y a une erreur, c'est presque toujours à cause d'une erreur dans les paramètres de wp-config.php. WordPress vous le dira même sur sa page d'erreur.

Maintenant, WordPress est actif dans la production, mais il lui manque du contenu. Nous devons obtenir le contenu de notre serveur local que nous avons perfectionné sur notre site actif..


Étape 5. Transfert du contenu et des fichiers de votre base de données

Exportation du contenu du serveur local

Pour exporter le contenu de notre serveur local, nous devons nous connecter à notre tableau de bord WordPress local, à nouveau http: // localhost: 8888 / wordpress / wp-login.php pour les utilisateurs de MAMP et http: // localhost / wordpress / wp- login.php pour les utilisateurs XAMMP.

Ensuite, faites défiler jusqu'à "Outils -> Exporter".

Comme il s’agit de la première exportation, sélectionnez "Tout le contenu" et cliquez sur "Télécharger maintenant". Comme le stipule WordPress, "Cela contiendra tous vos messages, pages, commentaires, champs personnalisés, termes, menus de navigation et messages personnalisés.".

Immédiatement (en fonction de la taille de la base de données), vous aurez un fichier XML dont la structure de noms est sitename.wordpress.year-month-day.xml. C’est le fichier que nous allons importer comme nous l’avons fait avec posts.xml sur notre serveur local..

Importer du contenu en production

Puisque nous venons d'apprendre à importer de nouvelles données sur notre serveur local, appliquez les mêmes principes pour installer le contenu de votre serveur local sur votre serveur de production.

Exporter et importer directement dans phpMyAdmin

Je tiens également à souligner que vous pouvez également importer et exporter directement dans phpMyAdmin. Pour exporter les données de notre serveur local, nous aimerions:

  1. Ouvrez phpMyAdmin à partir de la page d'accueil MAMP ou XAMMP.
  2. Cliquez sur notre base de données nommée "wordpress" ou sur ce que vous avez nommé la base de données WordPress..
  3. Cliquez sur l'onglet "Exporter" et choisissez une exportation de type XML..
  4. Assurez-vous de cocher la case "Enregistrer en tant que fichier". Le contenu de mon site étant petit, j'ai choisi de ne pas le compresser, mais je le recommande vivement pour les bases de données plus volumineuses..

Cela sauvegardera un fichier XML de sauvegarde de base de données directement sur votre disque dur. Maintenant, vous pouvez l'importer via WordPress ou phpMyAdmin de votre serveur de production.

Pour importer notre fichier XML nouvellement créé (le mien étant enregistré sous wordpress.xml), répétez les étapes 1 et 2 ci-dessus, mais à l'étape 3, cliquez sur "Importer". Cet écran ressemblera à ceci:

Accédez à votre fichier XML enregistré et cliquez sur le bouton radio pour XML sous "Format du fichier importé"..

Et c'est tout le monde! Vous avez maintenant un site entièrement fonctionnel que vous avez créé et configuré sur un serveur local, mais exporté et déployé en production..


Trucs et astuces pour l'environnement local

En plus du tutoriel ci-dessus, je souhaitais exposer quelques-unes des tâches que je fais lorsque je travaille dans mon environnement local et qui se sont révélées utiles lors du passage à la production:

Sécurisez votre site avant sa mise en ligne

L'année dernière, c'était la première fois que mon site était piraté. Je sais que c'est peut-être vieux pour certains, mais rien ne vaut un appel d'un client pour le signaler. La bonne nouvelle, c’est qu’il était facile de prendre soin de vous et de le sécuriser, mais j’ai appris par cette expérience que vous ne pouvez jamais vous tromper en sécurisant votre site tôt.

Une des choses les plus faciles à faire pour ajouter une couche de sécurité à votre site est de créer un fichier index.php vide et de le placer dans votre dossier wp-content, wp-content / plugins, votre dossier wp-content / themes. Ceci est une solution rapide qui peut être faite au début du processus de développement pour créer une couche de sécurité supplémentaire pour votre site en empêchant l'indexation de votre contenu..

Dans ce fichier index.php, je voudrais simplement ajouter le code suivant:

 

Utiliser les temps d'arrêt pour apprendre de nouvelles choses

Mon serveur local s’est avéré très utile pour apprendre les tenants et les aboutissants des plugins et des thèmes WordPress. Parce que je n'ai plus besoin d'Internet, je peux télécharger les thèmes et les plugins que je veux et chaque fois que j'en ai l'occasion, jetez un coup d'œil aux fichiers et aux fonctions..

Cela peut sembler plutôt logique, mais le fait de disposer de mon serveur local et de l’utiliser régulièrement a vraiment façonné mon développement en me permettant d’apprendre concrètement du travail des autres dans leur code. Et ce qui est bien, c’est que si je n’ai toujours pas compris quelque chose, je pourrai y revenir plus tard, car il n’est ni réel ni direct..

Comprendre les limites d'un serveur local

Maintenant, après tous les aspects positifs, voici quelques points à noter lorsque vous travaillez avec un serveur local - principalement à partir de mon expérience avec MAMP:

  • Soyez prêt si les serveurs locaux ne démarrent pas. À une certaine époque, en particulier avec mon MacBook et MAMP, chaque fois que je partais pour démarrer sur un site, MAMP se figeait. Je passais les 15 premières minutes d’un projet que j’étais enthousiasmé d’essayer de comprendre. Un peu tué l'excitation un peu! Pour remédier à cela, essayez "Force Quitting" MAMP. Si cela ne fonctionne pas, les utilisateurs OSX 10.5 et 10.6 peuvent généralement ouvrir Activity Monitor (situé dans Applications / Utilitaires), sélectionner "Mes processus" et rechercher plusieurs instances de "mysqld". S'il y en a plusieurs en cours d'exécution, supprimez-les tous sauf un. Cela devrait ramener les choses à la normale.
  • Pour MAMP, les voyants verts indiquant que les serveurs sont activés ne sont pas toujours fiables.. Pour tester cela, il suffit de cliquer sur la "Page de démarrage", et si elle apparaît alors vous êtes prêt à aller.
  • Certaines actions de formulaire et fonctions avancées peuvent ne pas fonctionner correctement. J'ai expérimenté cela avec un plugin Amazon S3 que j'ai développé. Pour ces choses, je vais souvent configurer un modèle de page WordPress personnalisé ou un dossier de plug-ins, l'installer sur mon site via FTP et tester sur une page privée. Vous pouvez même installer un sous-répertoire pour effectuer davantage de tests ou utiliser Multipress..

Conclusion

Merci de suivre le processus d'installation d'un serveur local, de configurer un site WordPress sur celui-ci, puis de migrer ce site vers un environnement de production..

J'encourage tous ceux d'entre vous qui ont plus d'expérience que moi à publier ci-dessous leurs configurations locales, leurs idées sur la manière de rationaliser le processus de migration et leurs autres astuces pour travailler localement. Je ne suis qu'une voix de la communauté après tout.

Merci d'avoir lu!