Cette page présente la configuration spécifique d'un moteur SPIP multi-sites derrière un proxy frontal. Les sites sont accessibles sur Internet via des URLs de la forme https://XXX.vn.auf.org/, les accès sans SSL/TLS étant automatiquement redirigés. == Configuration sur le proxy frontal == Ces URL arrivent sur un proxy frontal Apache avec des !VirtualHost comme suit : * `/etc/apache2/sites-available/XXX.vn.auf.org` : {{{#!apache ServerAdmin adel-du-webmestre@vn.auf.org ServerName XXX.vn.auf.org RedirectMatch . https://XXX.vn.auf.org/ }}} * `/etc/apache2/sites-available/XXX.vn.auf.org-ssl` : {{{#!apache ServerAdmin adel-du-webmestre@vn.auf.org ServerName XXX.vn.auf.org DocumentRoot /var/www/ ProxyRequests Off Order deny,allow Allow from all ProxyPass / http://XXX.site/ ProxyPassReverse / http://XXX.site/ ErrorLog ${APACHE_LOG_DIR}/XXX.vn.auf.org-ssl_error.log CustomLog ${APACHE_LOG_DIR}/XXX.vn.auf.org-ssl_access.log combined Include ssl-common.conf }}} . (!) ne pas oublier d'activer le mode !VirtualHost pour `*:443` dans `/etc/apache2/ports.conf` . (!) ne pas oublier d'activer les !VirtualHost avec `a2ensite XXX.vn.auf.org{,-ssl} && service apache2 reload` . {i} le fichier `/etc/apache2/ssl-common.conf` contenant une configuration SSL standard, avec un certificat SSL/TLS générique `*.vn.auf.org` . {i} les `XXX.site` pointent tous sur le même serveur SPIP multi-sites == Configuration sur le serveur portant le moteur SPIP == Du côté du serveur SPIP réel (derrière le proxy frontal), il y a également un !VirtualHost par site, comme suit : * `/etc/apache2/sites-available/XXX.site` : {{{#!apache # vim:syntax=apache ServerAdmin adel-du-webmestre@vn.auf.org ServerName XXX.site DocumentRoot /var/lib/spip Alias /favicon.ico /var/www/favicon.ico Alias /IMG /var/lib/spip/sites/XXX/IMG Alias /local /var/lib/spip/sites/XXX/local Options FollowSymLinks AllowOverride None # Deny access to /tmp: deny from all # Disable scripts in /IMG: php_flag engine Off ErrorLog ${APACHE_LOG_DIR}/XXX.site-error.log LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined_proxy SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded CustomLog ${APACHE_LOG_DIR}/XXX.site-access.log combined env=!forwarded CustomLog ${APACHE_LOG_DIR}/XXX.site-access.log combined_proxy env=forwarded }}} . {i} le site SPIP `XXX.site` aura été créé au préalable avec `spip_add_site XXX` et le fichier `/etc/spip/sites/XXX.php` modifié comme suit : {{{#!php }}} . (!) ne pas oublier d'activer les !VirtualHost avec `a2ensite XXX.site && service apache2 reload` Avec SPIP il est aussi nécessaire de modifier le fichier `/etc/spip/mes_options.php` pour lui indiquer les informations de connexion d'origine (pour qu'il puisse construire ses URL correctement) : {{{#!php if ($_SERVER['HTTP_HOST'] == "XXX.site") { $_SERVER['HTTPS'] = "on"; $_SERVER['HTTP_HOST'] = "XXX.vn.auf.org"; $_SERVER['SERVER_NAME'] = "XXX.vn.auf.org"; } }}}