Exécution de WP 3.5.1 sur une pile LEMP (sur Linode) ...
J'ai un dossier wp-content pour un site WP ainsi qu'une sauvegarde complète de la base de données. L'URL du site ressemblait à ceci:
test.example.com
Je souhaite que le site soit opérationnel sur mon propre serveur à l'adresse:
test.mydomain.com
Et une fois que le site est terminé et que les modifications DNS prennent effet, je souhaite que l'URL du site soit:
myclientsdomain.com
Quel est le moyen préféré (et, espérons-le, le plus simple) de gérer les transferts de serveurs et les changements de domaine de ce type? Je cherche une réponse étape par étape, une réponse à toutes les situations décrites ci-dessus pour les fichiers et la base de données.
Il y a un très bon pas à pas pour déplacer WordPress dans le Codex . C'est ce que je suis quand je change de domaine.
Déplacer les fichiers est assez simple. Ce sont les références codées en dur dans la base de données qui sont délicates. Cependant, recherche en série et remplacement s’occupe de toutes les modifications de la base de données. J'ai utilisé le plugin Velvet Blues dans le passé, mais le script Search and Replace est plutôt génial.
J'utilise l'impressionnant plug-in Duplicator pour effectuer cette procédure exacte de manière régulière.
http://wordpress.org/extend/plugins/duplicator/
Le plugin est entièrement supporté et il y a d'excellentes FAQ disponibles ici:
http://lifeinthegrid.com/labs/duplicator/
Le plugin créera une sauvegarde .Zip de votre base de données et de vos fichiers, ainsi qu'un installateur .php que vous placerez dans votre nouveau répertoire racine. Vous entrez simplement les informations de votre nouvelle base de données et le reste.
Est-ce probablement mon plugin préféré WP à ce jour.
Si vous avez besoin d'aide en cours de route, faites le moi savoir.
Vous aurez quelques éléments à prendre en compte (plus tard, la réponse), je suggère les étapes suivantes:
C'est assez explicite. Vous allez faire beaucoup de manipulation de données, alors assurez-vous que votre original est en sécurité.
Pour ce faire, le moyen le plus rapide consiste à disposer d'un hébergeur dans lequel vous pouvez importer des répertoires à partir d'un autre serveur. Cela peut être fait en fournissant les détails FTP, ainsi qu'en définissant le répertoire cible.
Comme les serveurs ont une connexion Internet qui est généralement beaucoup plus rapide que celle des utilisateurs, c'est le moyen préférable de transférer les données. Vous pouvez également utiliser votre ligne de commande pour exécuter ces commandes à la main.
L'option la plus lente consiste à générer un fichier Zip, à télécharger, à télécharger sur votre nouveau serveur et à le décompresser. Si vous n’avez pas la possibilité de le faire, prenez le chemin le plus lent: tout télécharger et tout télécharger. Et allez prendre un café pendant le transfert des fichiers :)
Encore une fois, beaucoup d’hôtes ont la possibilité d’importer une base de données existante dans une nouvelle, même à partir d’un autre serveur (bien entendu, votre ancien serveur doit accepter les connexions de données externes).
Si vous pouvez le faire, c'est bien, mais vous pouvez aussi exporter/importer votre base de données.
Sur votre nouveau serveur, assurez-vous que vos fichiers sont configurés de la même manière que sur l'ancien et pointez votre sous-domaine vers le même répertoire que celui utilisé sur l'ancien serveur (généralement la racine WordPress).
wp-config.php
Enregistrez le nouveau wp-config.php
. Il vous suffit de modifier les détails de la connexion à la base de données.
WordPress devrait déjà être configuré, mais il utilise toujours les anciens SiteURL et AdminURL. Vous ne pourrez donc pas vous connecter. Modifiez ces valeurs dans la table options
- de votre nouvelle base de données. Les deux valeurs que vous recherchez sont siteurl
et home
. Placez votre nouveau domaine là-bas.
Maintenant, tout devrait fonctionner jusqu'à présent, vous pouvez vous connecter, modifier et écrire, ainsi que d'utiliser le site. Le seul problème peut être que vos publications ont toujours l'ancienne URL pour les images et les pièces jointes qu'elles contiennent.
Si vos publications contiennent l'ancienne adresse URL ou si vous avez un doute, vérifiez votre base de données dans votre table posts
-.
Vous pouvez le faire en effectuant une recherche directe dans votre base de données ou en utilisant un script tel que Recherche en série et remplacer . Si vous trouvez votre ancienne URL, vous devrez la remplacer manuellement ou automatiquement. Je préfère le faire automatiquement et vérifier les erreurs par la suite.
Vérifiez également si vos autres tables contiennent l'ancienne URL. Cela peut être un peu délicat à remplacer, mais il faut également le faire pour déplacer complètement votre site.
Juste pour être sûr, enregistrez à nouveau vos paramètres de permalien pour créer à nouveau les permaliens.
S'il vous plaît, n'oubliez pas de vérifier VRAIMENT votre site après l'avoir transféré. Vérifiez toutes les fonctions, en particulier AJAX-stuff, les formes de contact, les cartes, etc., car elles sont plus susceptibles d’échouer que de simples PHP/HTML.
Comme toujours, rien de ce qui a été créé manuellement, transféré manuellement et édité automatiquement ne présente aucune défaillance. Voici quelques pièges de commentaire faciles à utiliser, mais qui peuvent également être facilement évités.
Cela devrait être ça. Il semble y avoir beaucoup de choses à faire, mais en réalité, la plus grande partie est automatique. Vous devez juste penser à tout ce qui peut aller de travers et vérifier si cela a été le cas :)
S'amuser!
Il n’est pas nécessaire d’utiliser des plugins, des scripts ou même des connaissances de SQL. Un simple bloc-notes suffit à la migration. Vous devez télécharger tous vos fichiers wordpress sur votre nouveau serveur et changer simplement dans votre fichier wp-config.php (dans votre dossier wordpress principal) 3 valeurs: define ('DB_NAME', 'votre_nouveau_nom_base'); define ('DB_USER', 'votre_nom_db'); define ('DB_PASSWORD', 'votre_password_db');
Ensuite, si vous utilisez un client mysql tel que phpmyadmin sur votre serveur actuel, vous devez exporter votre base de données dans un fichier, puis ouvrir your_db_dump.sql dans le bloc-notes, puis rechercher et remplacer toutes les occurrences test.example.com par test.mydomain.com après. que vous devez importer ce fichier db_dump dans votre nouvelle base de données (que vous avez définie dans wp-config.php). C'est tout.
J'ai déplacé un certain nombre de sites d'un serveur/domaine à un autre de cette manière, et tout ce dont vous avez besoin habituellement est une sauvegarde et votre dossier wp-content, ce que vous semblez avoir. Voici la méthode que je suis:
Terminé!
Cela devrait être tout ce que vous devez faire pour que votre site soit opérationnel. Une fois qu'il sera opérationnel, il serait prudent de vérifier les paramètres spécifiques aux plug-ins/thèmes pouvant faire référence à votre ancien site et régénérer vos permaliens.
Une réponse précédente avait ceci, mais voici une étape par étape avec une autre entrée:
Prenez du temps et facturez 75 $ à votre client!
(searchreplacedb.php est disponible GRATUITEMENT sur: interconnectit.com/products/search-and-replace-for-wordpress-databases ... ils ont aussi des instructions).
Si vous ne disposez que du dossier de contenu WP, vous avez un autre problème. Vous devez obtenir le reste de l'installation WP de EXACT SAME VERSION. Recherchez dans la base de données si vous ne savez pas quelle version WP est. Il est facile de télécharger les anciennes versions en ligne. Mettez tout au bon endroit, comme auparavant, en utilisant FTP pour configurer les nouveaux dossiers, si vous voulez que le contenu s'affiche tel qu'il était avant. Ne visitez pas le site après avoir téléchargé les fichiers db et WP s'il vous manque quelque chose, sinon le thème du stock ou les plug-ins seront désactivés par défaut. J'ai perdu les paramètres du plug-in et je devais tout refaire alors réfléchissez-y et avancez lentement.
Si vous avez déjà un sous-dossier ou un addon, ou si le nouveau site en a besoin, planifiez à l'avance. Ne remplacez pas simplement l’URL avant de prendre en compte le nouveau dossier nécessaire ou l’absence de nouveau. Vous devrez peut-être exécuter searchreplacedb pour 'folder/url' avant de revenir en arrière pour 'url', etc. Sinon, vous risqueriez de gâcher un 'addon' qui deviendrait un 'écran racine avec installation de sous-répertoires' ou un autre non-sens!
Si la nouvelle structure correspond à l'ancienne et que vous avez tout le répertoire WP, vous pouvez le faire plus facilement et plus rapidement que de lire ce post! Placez le programme dans le même répertoire que celui dans lequel vous avez transféré WP pour obtenir les meilleurs résultats, comme le dit l'instruction, car il possède un autoconfig.
Si vous ne disposez pas d'un accès ftp, d'un panneau de contrôle ou d'un accès SQL, vous avez vraiment besoin d'un meilleur serveur et vous risquez de ne pas avoir de chance.
Essayez la recherche et remplacez recommandé dans d'autres messages et si vous êtes chanceux, ayez une version plus ancienne de WP et il s'inscrit dans les paramètres nécessaires cela fonctionnera; une vraie douleur d'une façon de jouer à la roulette russe avec votre site.
En outre, ne modifiez jamais les données dans le bloc-notes, à moins que vous sachiez qu'il n'y a pas de chaînes plus longues que ce qu'il acceptera. Maintenant, il y a une belle erreur que vous pouvez passer des semaines à chercher! Si vous devez le regarder, regardez seulement, ne le sauvegardez pas. Vous devriez oublier notepad et utiliser notepad ++, mais éditer manuellement des données sérialisées dans un éditeur de texte est aussi grave que d'essayer de rechercher et de remplacer dans phpmyadmin; ne le fais pas.
Vous pouvez rechercher "données sérialisées SQL". La réponse courte est que trouver et remplacer va pie des données sérialisées dans un SQL. WP Les db ont des données sérialisées… encore plus de nos jours.
Je l'ai fait trop de fois et j'ai eu un succès marginal et je me suis cogné la tête contre un mur plusieurs fois avant de finalement le rechercher correctement. C'est maintenant une promenade dans le parc.
Ce que je fais c'est:
Créez une nouvelle base de données sur l'hôte destinataire. Importez le fichier SQL. Exécutez les requêtes SQL suivantes sur la nouvelle base de données:
UPDATE wp_options SET option_value = replace(option_value, 'test.example.com', 'test.mydomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'test.example.com', 'test.mydomain.com') WHERE meta_key = '_menu_item_url';
UPDATE wp_posts SET guid = replace(guid, 'test.example.com','test.mydomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'test.example.com', 'test.mydomain.com');
Téléchargez les fichiers WordPress sur le serveur de réception.
Selon votre thème et vos plugins, des modifications supplémentaires peuvent être apportées à la base de données ou au tableau de bord. Celles-ci devront être découvertes par vous-même et modifiées au fur et à mesure que vous les trouverez.
Avertissement raisonnable que ce n'est pas parfait et que déplacer WordPress d'un domaine à l'autre peut être très pénible. Une autre chose que j’ai aussi vue faite est d’ajouter ce qui suit à votre fichier wp-config:
define('WP_HOME','http://'. $_SERVER['SERVER_NAME']);
define('WP_SITEURL','http://'. $_SERVER['SERVER_NAME']);
Cela aidera le site à fonctionner sur le domaine actuellement sélectionné, mais vous devrez tout de même gérer les URL codées en dur dans le contenu, les options et les menus. Je n'ai pas testé cela moi-même et je ne sais pas si vous devez supprimer les options correspondantes de votre base de données pour qu'elles fonctionnent.
Mise à jour: J'aurais dû deviner qu'il y aurait un plugin pour gérer la partie base de données http://wordpress.org/extend/plugins/wp-migrate-db/