(Retour de mon message du précédent ‘forum’, qui avait été sauvagement mis au placard par un adepte des langues étranges et surtout non française! Mais on ne donnera pas son nom pour éviter une incontrôlable insurrection )
Bonjour,
Après 3 jours de galère, toujours pas de multisite fonctionnel.
L’idée est simple:
Utiliser la fonctionnalité multisite de wordpress pour centraliser plusieurs blog sur une même instance de wordpress.
Ceci permettant de faciliter grandement la maintenance avec une seule base de donnée, une seule copie de wordpress et de ses plugins et thèmes.
Les étapes suivi pour le moment:
Ajout dans le fichier wp-config.php
// Multisite
define('WP_ALLOW_MULTISITE', true);
Ajout d’un utilisateur wordpress pour la mise en place du réseau.
Désactivation des plugins (ldap, d’où le 2e utilisateur!)
Activation du réseau.
Nouvel ajout dans le fichier wp-config.php
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'crudelis-test.fr');
define('PATH_CURRENT_SITE', '/blog');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
A partir de là, les problèmes commencent. wordpress donne les règles de rewriting pour htaccess, pas pour nginx.
Après de multiples recherches, j’ai trouvé ces règles pour nginx:
location ~ ^/[_0-9a-zA-Z-]+/files/(.*)$ {
try_files /wp-content/blogs.dir/$blogid/files/$2 /wp-includes/ms-files.php?file=$2 ;
access_log off; log_not_found off; expires max;
}
#avoid php readfile()
location ^~ /blogs.dir {
internal;
alias /var/www/wordpress/wp-content/blogs.dir ;
access_log off; log_not_found off; expires max;
}
# Rewrite multisite '.../wp-.*' and '.../*.php'.
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
}
Ajoutées au fichier /etc/nginx/conf.d/crudelis-test.fr.d/wordpress.conf
Mais à partir de là, je tourne en rond. Le blog principal fonctionne, mais tout sous-blog abouti au SSO sans message d’erreur dans le log de nginx.
J’ai trituré un peu ces règles de rewriting, mais les regex ne sont pas ma tasse de thé et je connais peu nginx.
De plus, j’ai le sentiment que tout ne se passe pas dans ce fichier de conf.
En espérant qu’avec de l’aide je parviendrais à faire avancer ce problème pour que tout le monde puisse en profiter par la suite.