Rechercher dans la communauté
Affichage des résultats pour les étiquettes 'wordpress'.
6 résultats trouvés
-
Objectif : L'objet principal de ce tutoriel est la réplication d'une base de données entre deux nas Synology d'un réseau local. Cette réplication peut avoir diverses utilisations, dans ce tutoriel je l'ai appliquée à la redondance d’un site Wordpress. Préambule : Il existe de nombreux tutoriels sur le web concernant la réplication d'une base de données SQL ou MariaDB et celui-ci en est largement inspiré. En le mettant en place sur mes deux nas Synology je me suis heurté à plusieurs problèmes. Il m'a fallu combiner les informations de plusieurs sites avant d'obtenir le résultat voulu. Depuis plusieurs mois que cette réplication est fonctionnelle, j'ai pu évaluer sa résilience et je dois dire que je suis surpris du résultat. Que ce soit l'arrêt d'un des deux nas ou la modification ou la mise à jour d'un des sites la synchronisation des deux bases reste effective. J’ai même récemment écrasé la base de données en important, à l’aide de phpMyAdmin, une ancienne sauvegarde sur l’un des nas et celle-ci a été immédiatement répliquée sur le deuxième nas. Pour l’application à la mise en place d’une redondance d’un site Wordpress présent sur les deux Nas d’un même réseau, en plus de la réplication de la base de données Wordpress, il faut synchroniser bilatéralement le contenu du répertoire wp-content. EDIT du 9/1/2022 : Pour l'accès au site en redondance totale, il faut faire, sur les deux nas, un virtual host avec le même nom wordpress.ndd. (Avec dsm7, faire un portail de serveur du paquet wordpress). N'étant pas un professionnel de l'informatique, mon vocabulaire peut s'avérer inadapté et la méthode employée peut sans doute être simplifiée. N'hésitez pas en m'en faire part, je modifierai en conséquence. Prérequis : Deux nas présents sur le même réseau local. Sur l’un des nas (nas1), MariaDB10, phpMyAdmin et Wordpress ont été installés et un site Wordpress est fonctionnel et accessible de l’extérieur. EDIT du 9/1/2022 : avoir une sauvegarde du site (répertoire wordpress) y compris de la base de données wordpress. Personnellement j'utilise le plugin gratuit "Updraft plus". Sur le nas2 Webstation et les différentes versions de PHP et Apache sont installées. Putty et WinSCP installés sur un PC de réseau avec accès au deux nas en mode vrai root (voir tuto https://www.nas-forum.com/forum/topic/57289-tuto-acc%C3%A8s-ssh-et-root-via-dsm-6/). Pour que le nas2 puisse prendre le relais du nas1 en cas de défaillance de ce dernier, il faudra utiliser l'IPV6 et mettre en place le tuto suivant : Application du protocole IPV6. Accès redondant à votre réseau local Sans cela une intervention manuelle sera nécessaire afin de modifier la redirection des ports du routeur vers le nas2. Préparation du nas 2: Installer MariaDB10, phpMyAdmin et Wordpress sur le nas 2 Sur le bureau, cliquer sur MariaDB10, cocher la case « activer la connexion TCP/IP » et sélectionner le port 3306. Faire de même sur le Nas 1. Les pare-feux des deux nas doivent être réglés pour n’autoriser l’accès à ce port que depuis le réseau local. phpMyAdmin : après installation, si la base de données phpMyAdmin n’apparaît pas, vous devez avoir une notification dans la partie basse, il suffit de suivre les instructions pour créer la base. Pour la suite, il faut autoriser la connexion de phpMyAdmin entre nas. Pour cela utiliser WinSCP en root et éditer le fichier /volume1/web/phpMyAdmin/config.inc.php Nota : Pour dsm7 remplacer web par web_packages Et ajouter la ligne suivante après la ligne 35 : $cfg['AllowArbitraryServer'] = true; Profitez-en pour renseigner la clé $cfg['blowfish_secret'] =' ' en insérant 32 caractères entre les apostrophes si ce n’est pas déjà fait. Faire cette opération sur les deux nas. Synchronisation du dossier wp-content Dans mon cas j'ai synchronisé le répertoire volume1/web_packages/wordpress/wp-content du nas1 sous dsm7 avec le répertoire volume1/web/wordpress/wp-content du nas2 sous dsm6. Pour cela j'ai utilisé Cloud Sync(dsm7) avec WebDAV(dsm6). Si les deux Nas ont la même version du dsm, il y a plusieurs façons de faire une synchronisation bilatérale des dossiers wp-content. EDIT du 9/1/2022 : J'ai validé ce tuto avec deux nas sous DSM7. Pour la synchronisation du dossier web_packages/wordpress/wp-content j'ai utilisé "Synology Drive ShareSync". A la création de la synchronisation, bien paramétrer une synchronisation unidirectionnelle du nas1 vers le nas2, avec effacement des fichiers du nas2 non présents sur le nas1. Un fois la synchronisation terminée (coche verte : cela peut prendre du temps) rendre la synchronisation bidirectionnelle. Nous voilà prêts pour la réplication des BdD. Réplication des bases de données wordpress Master-Slave Pour cette réplication on trouve de nombreux tutoriels sur internet. Je me suis largement inspiré de celui-ci : http://www.responsive-mind.fr/replication-mysql-master-master/ Sur les deux nas accéder en root à phpMyAdmin. Dans l’accueil, onglet réplication vous devez avoir ceci : EDIT du 12/12/2023 dans une nouvelle version de PhpMyAdmin on a : Réplication de l'original et Réplication des répliques Nous allons donc commencer par faire une réplication nas1 (maître) vers nas2 (esclave). Sur le nas 1 cliquer dans réplication maître sur « configurer » Dans le menu déroulant sélectionner « Ignorer toutes les bases de données, répliquer : » et dessous sélectionner wordpress. Copier les 4 lignes à ajouter à la fin du fichier my.cnf…..sauf que ce fichier n’existe pas encore ! On crée donc un fichier texte que l’on renommera my.cnf une fois édité avec les 4 lignes sans oublier d’ajouter : [mysqld] en tête de fichier. Pour les étourdis (comme moi) : Lorsque l’on renomme le fichier ne pas oublier de prendre également l’extension txt, pour cela bien démasquer les extensions. Avec WinSCP en root placer ce fichier dans /var/packages/MariaDB10/etc/ où l’on trouvera : my_port.cnf et synology.cnf . Les trois fichiers doivent avoir les mêmes droits 0644 et appartenir au même propriétaire : root. A ce moment-là redémarrer MariaDB10 pour prise en compte : Dans putty en root sur le nas, lancer la commande : /usr/syno/bin/synopkg restart MariaDB10 On revient sur phpMyAdmin du nas 1, sélectionner la BdD wordpress (la structure apparait dans la fenêtre de droite) puis l’onglet SQL. Entrer la commande suivante : GRANT REPLICATION SLAVE ON *.* TO 'synchro'@'192.168.1.15' IDENTIFIED BY 'motdepasse'; synchro : utilisateur de replication vous êtes libre du nom. 192.168.1.15 : à adapter c’est l’IP locales du nas 2 Motdepasse : au choix (je vous avouerais que j’ai gardé le même pour tous les mots de passe de ce tuto) N’oubliez pas les apostrophes. Nous allons maintenant vider les caches des privilèges et des tables, tout en les verrouillant en lecture seule, à l’aide des commandes suivantes (re-cliquer sur SQL pour entrer la commande): FLUSH PRIVILEGES; FLUSH TABLES WITH READ LOCK; Laisser cette instance de phpMyAdmin ouverte et ouvrir une seconde instance La BdD wordpress étant sélectionnée sur cette nouvelle instance, aller dans l’onglet exportation et cliquer sur exécuter pour télécharger la BdD. Refermer cette instance. Revenir sur l’instance précédente De retour sur l’onglet SQL taper : SHOW MASTER STATUS; Nous obtenons ceci : On note la position (ici 185432) et le nom du fichier ( ici mysql-bin.000003) Sur phpMyAdmin du nas 2 créer une BdD wordpress (nouvelle base de données donner-lui le même nom wordpress puis créer). Sélectionner wordpress à gauche puis l’onglet Importer. Choisir le fichier qui vient d’être téléchargé wordpress.sql puis cliquer sur exécuter en bas. L’importation est assez longue. Wordpress étant toujours sélectionné, entrer les instructions suivantes dans l’onglet SQL : STOP slave; CHANGE MASTER TO MASTER_HOST='192.168.1.10', MASTER_USER='synchro', MASTER_PASSWORD='motdepasse', MASTER_LOG_POS=185432, MASTER_LOG_FILE='mysql-bin.000003'; START slave; On revient sur phpMyAdmin du nas1, wordpress toujours sélectionné, déverrouiller les tables : UNLOCK TABLES; Il ne reste plus qu’à redémarrer MariaDB10 sur les deux nas ( /usr/syno/bin/synopkg restart MariaDB10 dans putty) puis à vérifier le résultat dans l’onglet réplication. Sur le nas 1(accueil, onglet réplication, afficher l’état du maître) : Sur le nas 2 (accueil, onglet réplication, afficher l’état du slave) : Remarquez la première ligne : « waiting for master to send event » ainsi que Yes en face de « Slave_IO_Running » et « Slave_SQL_Running » . Master_Log_File et Master_Position sont identiques au valeurs master du nas1. Si vous avez une erreur vous pouvez tenter de réparer à l’aide de l’instruction sous ce tableau : gestion des erreurs/ignorer l’erreur courante. Parfois ça marche 😉 sinon il faudra recommencer à FLUSH PRIVILEGES; FLUSH TABLES WITH READ LOCK; car vous avez probablement manqué quelque chose. Si vous avez n'avez pas d'erreur, la réplication du nas 1 vers le nas 2 est maintenant effective. Mais pour une parfaite redondance des sites il faut maintenant faire la même chose dans l’autre sens. Réplication Master-Master Nous allons commencer par créer le fichier my.cnf dans le nas2 de la même façon que pour le nas1. Puis on redémarre MariaDB10. Dans phpMyAdmin du nas 2, wordpress étant sélectionné entrer les instructions suivantes dans l’onglet SQL : GRANT REPLICATION SLAVE ON *.* TO 'synchro'@'192.168.1.10' IDENTIFIED BY 'motdepasse'; SHOW MASTER STATUS; Puis reporter les info file et position sur phpMyAdmin du nas 1: STOP slave; CHANGE MASTER TO MASTER_HOST='192.168.1.15', MASTER_USER='synchro', MASTER_PASSWORD='motdepasse', MASTER_LOG_POS=123456, MASTER_LOG_FILE='mysql-bin.789123'; START slave; Redémarrer le service MariaDB10 sur les deux nas et vérifier les informations obtenues dans phpMyAdmin onglet "réplication"/état du serveur slave de chaque nas : « waiting for master to send event » ainsi que Yes en face de « Slave_IO_Running » et « Slave_SQL_Running »: EDIT du 9/1/2022 : Idem, si vous avez une erreur vous pouvez tenter de réparer à l’aide de l’instruction sous ce tableau : gestion des erreurs/ignorer l’erreur courante. Voilà. Si tout à bien fonctionné toute modification sur l'un des sites sera reproduite sur le second. Si vous notez des erreurs ou des maladresses ou si vous réalisez d'autre applications de la réplication de bases de données n'hésitez pas à poster ici.
- 39 réponses
-
1
-
- redondance
- wordpress
-
(et 2 en plus)
Étiqueté avec :
-
Bonjour, Je n'arrive pas à sauvegarder le site WordPress via plugin WordPress ( essai avec 2 plugin même message) Mode passif 2 erreur voir ci joint mode actif AVERTISSEMENT : ftp_nb_fput(): Illegal PORT range rejected.
-
- synology
- sauvegarde
-
(et 2 en plus)
Étiqueté avec :
-
Permaliens sur Wordpress (ne fonctionnent plus en mode « postname »)
Invité a posté un sujet dans Wordpress
Bonjour, Depuis la dernière mise à jour du DSM 7.2, les permaliens de mon site WP (en installation manuelle classique) ne fonctionnent plus en mode "titre de la publication - postname" (page 404) mais seulement en structure "simple" (https://NDD/?page_id=816). Il y a t il une manip pour revenir en mode "postname" ? NB : j'ai 3 autres sites WP (en installation Docker) sur ce même NAS (DS 723+) qui ne posent quant à eux aucun problème. -
Créer son site Wordpress avec Docker sur Synology PrérequisInstallation des images DockerConfiguration de MariaDBConfiguration de WordpressConfiguration du Reverse ProxyConclusion Prérequis Premièrement assurez-vous bien que votre NAS Synology soit compatible avec Docker, vous pourrez trouver cette information dans la liste des modèles compatibles. Deuxièmement , ce tutoriel supposera que vous ayez déjà votre accès externe au NAS configuré, c'est-à-dire : Un nom de domaine pointant sur l'IP de votre routeur, potentiellement un nom de domaine dynamique comme dans mon cas. Configurer votre routeur pour les redirections monNomDeDomaine.synology.me:80 → IPdeMonNAS:80 monNomDeDomaine.synology.me:443 → IPdeMonNAS:443 Attention : l'IP du NAS doit être statique car en cas de panne électrique, lors du redémarrage du NAS, celui-ci obtiendra une nouvelle IP, potentiellement différente de la précédente, cela est dû au DHCP fourni par le routeur si tel est le cas. Installation des images Docker Installez le paquet Docker via le centre de paquets Synology. Ouvrez Docker : Téléchargez les images de Wordpress et MariaDB Configuration de MariaDB Lancez le conteneur mariadb : Donnez le nom que vous voulez à votre conteneur, pour ma part j'ai choisi "mariadb" car je n'ai pas prévu d'instancier plusieurs sites wordpress ni d'utiliser d'autres bases de données mariadb. En revanche par souci de sécurité, je vous déconseille de l'exécuter à l'aide de privilèges élevés. Ensuite, choisissez d'activer ou non la limitation de ressources, il est vrai que si vous envisagez que votre site web soit très largement visité il vaut mieux fixer un quota en fonction de la mémoire RAM disponible sur votre NAS. Allez dans les Paramètres avancés : cochez l'option redémarrage automatique Je détaillerai cette section lors de la configuration de Wordpress. Volumes : Réseau : Paramètres des ports : Laissez le port 3306 par défaut du conteneur de mariadb car il est configuré ainsi dans le conteneur, seul le port de l'hôte (port local) doit être modifié au besoin. Choisissez un port disponible sur votre système pour le port local de l'hôte, par exemple : 32552. Liens : Laissez comme tel Je détaillerai également cette section lors de la configuration de Wordpress. Environnement : Sur la page officielle de MariaDB sur Docker Hub, des variables d'environnement peuvent être configurées, certaines sont optionnelles (MYSQL_USER, MYSQL_PASSWORD, etc) mais une seule est obligatoire : MYSQL_ROOT_PASSWORD ! MYSQL_USER: mariadb MYSQL_PASSWORD: My$uP3RP@$$w0rD MYSQL_ROOT_PASSWORD: My$uP3RP@$$w0rD Je vous propose d'ajouter ces trois variables à celles déjà existantes. Attention à ne pas réutiliser ce mot de passe, il ne s'agit pas de celui que j'utilise bien évidemment. Configuration de Wordpress Lancez le conteneur wordpress : De même que pour MariaDB, j'ai choisi : wordpress aucun privilège pas de limitation de ressources Allez dans les Paramètres avancés : Pour un site web disponible 24H/24 je vous conseille d'activer l'option de redémarrage automatique, cela sera bien plus pratique au lieu de devoir se reconnecter au NAS chaque fois que son site sera indisponible. Surtout si vous comptez utiliser un plugin comme Jetpack sur votre site wordpress, il vous enverra automatiquement un mail dès que votre site ne sera plus accessible. Cochez l'option de la page web pour indiquer son FQDN (fully qualified domain name) au cas où vous souhaiteriez mettre en place par la suite plusieurs sites web sous le même nom de domaine. Volumes : De même que pour MariaDB, je spécifie le répertoire dans lequel mon conteneur va écrire. Réseau : Laissez comme tel Paramètres des ports : Laissez le port 80 par défaut du conteneur de wordpress car il est configuré ainsi dans le conteneur, seul le port de l'hôte (port local) doit être modifié au besoin. Choisissez un port disponible sur votre système pour le port local de l'hôte, par exemple : 32551. Liens : C'est le moment de paramétrer les liens de son conteneur wordpress en créant un lien avec le conteneur mariadb créé juste avant pour que wordpress puisse communiquer avec sa base de données mariadb. Environnement Sur la page officielle de Wordpress sur Docker Hub, des variables d'environnement peuvent être configurées, trois variables sont obligatoires : If you'd like to use an external database instead of a mysql container, specify the hostname and port with WORDPRESS_DB_HOST along with the password in WORDPRESS_DB_PASSWORD and the username in WORDPRESS_DB_USER WORDPRESS_DB_HOST: mariadb WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: My$uP3RP@$$w0rD Je vous propose d'ajouter ces trois variables à celles déjà existantes. Configuration du Reverse Proxy Allez dans Panneau de configuration > Portail des Applications > Proxy Inversé On va configurer le reverse proxy (proxy inversé en français) pour rediriger les requêtes sur le port 80 de votre nom de domaine. On va avoir deux configurations : une pour le http et une autre pour le https. Le HTTP de mon NAS Synology est toujours redirigé vers le HTTPS par sécurité, donc on pourrait se passer de la première configuration. Sans toucher aux autres options (En-tête personnalisé et Paramètres avancés), on va rediriger les requêtes HTTPS du port par défaut (443) vers notre port 32551 spécifique au conteneur wordpress. Conclusion Et voilà ! Notre site est prêt à être développé ! À vous de jouer maintenant pour créer votre site wordpress avec Docker sur votre NAS Synology. Pour aller plus loin, je vous invite à installer de la même façon phpMyAdmin avec Docker pour le connecter à MariaDB et gérer votre base de données.
-
Bonjour, Voilà, j'ai entamé la création d'un blog wordpress sur mon syno 210j. Comme l'adresse par défaut ne me convenait pas (http://IPexterne-ou-Nom/wordpress), j'ai : - remplacé dans les réglages wordpress "Adresse web du site (URL)" par http://IPexterne-ou-Nom/~laurent - créé un dossier www dans le home de 'laurent' - copié index.php de /volume1/web/wordpress dans /volume1/homes/laurent/www NB aucun fichier .htaccess n'apparaît. Le blog était alors bien accessible à http://IP-ou-Nom/~laurent Mais... - les liens sur le blog (par exemple "accueil") pointent tous vers l'IP locale du nas (http://192.168.0.xx/~laurent/?p=xx) ce qui est absurde, et évidemment, ils ne fonctionnent donc pas. - dans les réglages wordpress "Adresse web du site (URL)" est devenue http://IPlocale/~laurent. et toute tentative de la modifier entraîne un message "impossible de créer le dossier" Donc, avant d'abandonner wordpress (avec rage), et de me lancer (avec courage) dans la conception directe php/mysql que j'utilise par ailleurs (éventuellement avec l'aide de joomla ?), si par hasard quelqu'un peut m'aider à comprendre, sinon à résoudre, ce problème de liens vers l'IP locale, je le remercie d'avance NB inutile de suggérer la création d'un blog chez un hébergeur quelconque, ce n'est pas ce que je cherche... Laurent
-
Bonjour, Cela fait quelques temps déjà, que je me bats avec WORDPRESS afin d’héberger sur mon réseau 2 sites blogs distincts, sans succès malgré les conseils avisés de certain d’entre vous. Je vais donc exposer ce que j’ai fais afin de voir si il ya une solution. J’ai créé 2 sites sous Wordpress, installés respectivement sur un DS508 pour l’un, sur 1 DS710+ pour l’autre. Ces 2 synos sont dans le même réseau interne de type 192.168.68.xxx réseau régit par une adresse ip externe de type monip.dyndns.org. A ce stade, quand dans mon fichier Hosts, je redirige mon adresse IP externe > vers l’ip interne du 1er syno, 192.168.68.xx9 monip.dyndnds.org #na508 j’arrive bien sur mon site1. Dans ce même fichiers hosts, si je change la redirection de mon adresse IP externe > vers l’ip interne du 2eme Syno, 192.168.68.xx8 monip.dyndnds.org #nas710 j’arrive bien sur mon site2. Par contre, dans tous les cas, depuis l’extérieur j’arrive toujours sur le site 1. J’ai bien annoté sur les sites, dans réglages, l’adresse web de WordPress de chacun, à savoir http://monip.dyndns.org/www/ pour le site 1 http://moip.dyndns.org/site2/wordpress / pour le site2 Si quelqu’un à une idée, elle sera la bien venue, Dans l’attente, Cdt,