Fermer

juin 13, 2018

Comment migrer WooCommerce vers Alibaba Cloud ECS avec Let's Encrypt –


Cet article a été publié à l'origine le blog OKTA . Merci de soutenir les partenaires qui rendent SitePoint possible.

Alibaba Cloud est un fournisseur qui gagne une visibilité significative ces derniers temps. L'un des principaux produits qu'elle offre est ECS (Elastic Compute Service) ou, pour simplifier, un VPS flexible basé sur le cloud. Ceux qui connaissent le marché des produits de cloud computing remarqueront des similitudes avec Elastic Cloud d'Amazon – et ils auraient raison. Après avoir testé le système ECS d'Alibaba Cloud, nous pouvons dire qu'il est un puissant concurrent d'Amazon et d'autres fournisseurs dans le domaine de l'informatique en nuage.

En effet, si l'on en juge par la diversité des produits qu'Alibaba Cloud a dans son offre, on pourrait peut-être dire qu'ils sont déjà là.

Pour cet article, nous avons pris la tâche pratique de déplacer une production à part entière. site Web de commerce électronique à une instance d'Alibaba ECS (nous avons utilisé un site Web réel en cours d'exécution sur un autre domaine et l'avons déplacé vers un domaine de test.)

L'installation utilisée était un site Web WooCommerce avec des centaines de produits,

Elastic Compute Service

Une fois que nous nous inscrivons auprès d'Alibaba Cloud nous leur offrons un crédit de 300 $ US pour essayer ses produits (une fois que nous confirmons nos méthodes de paiement , comme une carte de crédit ou un compte PayPal). Ces fonds peuvent servir à déployer et à tester une instance ECS.

Une fois connecté, nous naviguons vers notre console de gestion, sélectionnez Elastic Compute Service dans le menu de gauche, puis Instances . Une fois que nous cliquons sur ce lien, un bouton apparaît à droite de Create Instance

On nous présente ensuite les options que nous pouvons choisir pour l'instance – Méthode de facturation Région – indiquant l'emplacement de notre serveur – et Type d'instance . Nous pouvons choisir parmi plusieurs architectures (nous sommes allés avec Architecture x86) et des catégories telles que Usage général Calcul optimisé Mémoire optimisée Vitesse d'horloge élevée et d'autres types

Nous pouvons ensuite sélectionner l'une des tailles de serveur offertes – par taille de mémoire, nombre de noyaux virtuels, vitesse d'horloge, etc.

En dessous, nous pouvons sélectionner l'une des images proposées – Il existe un certain nombre de systèmes d'exploitation que nous pouvons choisir, y compris Aliyun Linux d'Alibaba, CentOS, Ubuntu, Windows Server et d'autres. Parmi les images de marché, il y a un grand choix d'images d'application préconfigurées que nous pouvons sélectionner

Ici, nous sélectionnons l'image libre de Plesk, car elle nous offre un certain nombre de façons pratiques de gérer notre serveur gestion, gestion de base de données, et gestion d'application de WordPress – tout dans une interface Web.

Si nous avons une licence Plesk obtenue séparément, ou si nous voulons payer plus, nous pouvons obtenir une version premium de Plesk avec encore plus de fonctionnalités qui simplifient grandement la gestion professionnelle des serveurs.

des instances de Plesk est qu'elles ont été durcies et sécurisées avec des règles de pare-feu configurées. Il est également livré avec phpMyAdmin préinstallé. C'est génial car, étant donné que nous utilisons une pile de serveurs LEMP, l'installation et la configuration de phpMyAdmin peuvent prendre du temps.

Nous sélectionnons ensuite le stockage – Le disque SSD est l'option recommandée, avec une taille maximale de 500 Go.

peut alors sélectionner les options de mise en réseau – ici, nous serons probablement d'accord si nous allons avec les options présélectionnées par défaut. Nous pouvons également configurer des groupes de sécurité – une chose utile si nous avons plus d'une instance de serveur.

Nous arrivons maintenant à la configuration d'accès SSH. Ici, nous pouvons configurer nos clés SSH pour un accès sans mot de passe, ce qui est généralement recommandé. Cependant, étant donné que nous effectuons une migration, nous allons configurer l'accès par mot de passe, afin que nous n'ayons pas à copier les clés publiques SSH du serveur sur lequel nous migrons.

Nous devrions prendre note de mot de passe que nous avons créé ici. Si nous oublions le mot de passe, nous pouvons le réinitialiser dans la console ECS.

Après avoir terminé notre commande, nous pouvons revenir à la console Web et attendre une minute ou deux jusqu'à ce que notre instance soit créée. Une fois l'instance en cours d'exécution, nous pouvons nous connecter au shell système via une session VNC dans notre navigateur. Une fois que nous faisons cela, notre instance crache des instructions supplémentaires dans le shell:

Nous devons créer une règle de sécurité qui ouvrira les ports dont nous avons besoin et nous permettra d'accéder à notre instance. Une fois que nous l'avons fait, nous pouvons nous connecter à notre instance via shell SSH (ou continuer notre session VNC), et générer notre compte administrateur Plesk:

Nous copierons la deuxième URL qui nous permettra accès à l'administrateur de Plesk

Une fois que nous aurons visité cette URL dans notre navigateur, nous créerons notre compte:

Nous supposons ici que nous avons un domaine, et nous avons pointé notre domaine – ou sous-domaine – à l'adresse IP publique de notre instance. Sinon, on nous montre notre IP une fois que nous sommes connectés à la console d'administration de Plesk. Une fois que nous avons pointé notre domaine vers cette adresse IP, nous pouvons créer un Webspace – essentiellement un hôte virtuel pour notre site Web. Nous aurions autrement besoin de configurer manuellement nginx pour cela, mais avec Plesk, nous avons la facilité de le faire en toute simplicité.

Nous pouvons également sécuriser le domaine avec un certificat Let's Encrypt. Encore une fois, nous ferions cela manuellement, en installant certbot et en créant un certificat pour notre hôte / site web virtuel. Ici, c'est juste une case à cocher que nous devons vérifier.

La commodité et la simplicité de Plesk

Dans ce guide, nous devions préserver l'intégrité de notre installation WordPress et WooCommerce existante, et pour éviter les conflits, nous avons cloné un répertoire WordPress complet à notre site web / racine de domaine créé. Mais pour les besoins de nouvelles installations, Plesk offre un déploiement en un clic de WordPress – avec des dizaines d'autres applications, telles que OpenCart, Magento, Prestashop, Drupal, Typo3 et d'autres.

La commodité d'utiliser l'interface Plesk est que nous sera capable de gérer l'ensemble de notre pile à partir d'une interface web unifiée, de gérer la configuration de notre serveur, d'éditer notre fichier php.ini d'installer et de mettre à jour nos plugins et WordPress.

via SSH / rsync comme nous l'avons fait, nous devrons cliquer sur le bouton scan pour que Plesk détecte notre site Web.

Depuis l'interface Plesk, nous pouvons également activer la mise en cache nginx , et sauvegardez et restaurez notre site Web. Il y a plus d'options disponibles pour les utilisateurs payants de Plesk (nous pouvons facilement mettre à jour notre licence), et cela facilitera grandement la gestion du site web.

Mais pour atteindre cette étape, nous allons d'abord cloner notre site web vers la nouvelle instance.

Migration

Pour migrer notre boutique eCommerce existante, nous allons nous connecter à notre serveur existant, via SSH, et créer une sauvegarde de base de données:

 mysqldump -u ourusername -p ourdatabasename> ourdatabase.file.sql

La requête ci-dessus (avec, évidemment, notre propre nom de base de données et nom de fichier) nous laissera avec notre fichier de base de données, que nous transférerons vers notre nouvelle instance avec scp:

 scp ./ourdatabase. file.sql root @ ourdomainname: / var / www

Ici, avec notre domaine ou notre nouveau serveur IP à la place de ourdomainname nous entrerons notre nouveau mot de passe du serveur et nous transférerons la base de données.

Nous transférerons notre dossier entier de site Web (sans doute sous / var / www / sur notre ancien serveur – ou dans l'un des sous-dossiers) vers notre nouveau serveur:

 rsync -avzh / var / www / notre-site-dossier / racine @ nomdomain: / var / www / vhosts / nomdomaine / httpdocs

Nous allons échanger ourdomainname ci-dessus avec le nom de domaine que nous avons attribué à notre site Web dans l'interface de Plesk. Le chemin / var / www / notre-site-dossier-dossier / suppose que notre dossier de site Web avec un certain nom est sous / var / www, sur notre ancien serveur, et Plesk , placez notre nouveau site web racine dans / var / www / vhosts / ourdomainname / httpdocs .

Une chose à faire attention à utiliser rsync est la barre oblique après le chemin de notre dossier source – ici / var / www / our-website-folder / . Si nous omettons la barre oblique, rsync copiera le dossier entier dans notre nouveau dossier. Si nous utilisons la barre oblique à la fin, il copiera le contenu de notre dossier source . C'est donc une chose à garder à l'esprit.

À condition que cette copie se passe bien, nous avons maintenant notre système de fichiers en place. Nous devons créer notre base de données, et importer le contenu du fichier de vidage de base de données que nous avons transféré à / var / www .

Dans notre section de base de données, nous pouvons facilement ajouter des bases de données, et les exporter et les importer. Dans notre cas de migration, nous importerons notre sauvegarde à travers le shell, car notre site de production a une base de données pouvant atteindre quelques centaines de mégaoctets. Pour les bases de données plus petites, nous pouvons les importer facilement via l'interface web

Une fois cela fait, nous allons importer notre fichier via le shell:

 mysql -u test1 -p test1 </ var /www/ourdatabase.file.sql

Maintenant, mysql nous demandera le mot de passe que nous avons créé, et en l'entrant, il importera notre fichier de base de données dans notre nouvelle base de données

Configuration du site Web migré

L'hôte virtuel et le domaine sont entièrement configurés, notre certificat SSL est configuré et actif, et nous avons créé une base de données et importé notre fichier de vidage de la base de données. Maintenant nous devons configurer notre nouveau site Web pour utiliser la nouvelle base de données.

Nous supposons que notre nouveau site Web est dans / var / www / vhosts / ourdomainname / httpdocs – configuration par défaut de Plesk. Nous allons basculer vers ce dossier et éditer le fichier wp-config.php pour entrer les détails de la base de données:

C'est tout ce que nous devons faire. Notre site Web devrait être disponible sous notre domaine que nous avons dirigé vers notre nouvelle instance.

Dans le cas où nous avons migré notre site vers un autre domaine que celui qu'il avait sur l'ancien serveur, ou vers un sous-domaine – ce qui est une pratique standard jusqu'à ce que nous nous assurions que notre site Web migré fonctionne correctement – nous devrons effectuer une procédure de recherche et de remplacement pour remplacer nos anciennes URL dans la base de données pour nos nouvelles URL / domaines.

Pour que le site fonctionne correctement, les URL La base de données doit être cohérente avec les URL du site.

Maintenant, nous ne pouvons pas le faire directement sur le fichier de base de données comme tout autre fichier textuel, car les URL d'une base de données WordPress sont sauvegardées en format sérialisé. directement, notre base de données sera brisée.

Nous avons donc besoin d'un outil. L'outil le plus rapide ici est WP-CLI – l'installation est un peu hors de portée de cet article, mais les instructions ici sont plutôt simples et directes, donc vous ne devriez pas rencontrer de problèmes Une fois WP-CLI installé, on peut simplement utiliser wp search-replace // olddomain // newdomain --allow-root et WP CLI changera toutes les instances de l'URL donnée (Dans notre cas, c'était des dizaines de milliers).

Si nous rencontrons des problèmes avec notre nouvelle installation, nous voulons aussi vider le cache en utilisant wp cache flush --allow-root . Nous aurons aussi besoin de supprimer les transitoires ou vider les règles de réécriture .

Toutes ces commandes supposent que nous sommes dans le répertoire racine de notre site avec notre shell ( / var / www / vhosts / ourdomainname / httpdoc ). Dans le cas où WP-CLI se plaint de mémoire, nous voudrions changer la valeur memory_limit dans php.ini – WP-CLI utilise le fichier php cli php.ini , trouvé dans ce cas dans /etc/php/7.0/cli .

Conclusion

Si vous démarrez un site Web à partir de zéro, l'image Plesk d'Alibaba Cloud simplifiera les choses – nous le ferons être en mesure de tirer plusieurs sites Web en ligne, et effectuer des configurations avancées en seulement quelques clics. Une interface se prête à un flux de travail rapide et simple. Les licences Premium sont là pour nous donner des fonctionnalités adaptées aux hébergeurs, avec des comptes clients.

Ceci, ajouté à la flexibilité des instances Alibaba ECS nous permet d'augmenter ou de réduire notre stack au besoin, C'est un choix solide pour les professionnels du web.




Source link