La gestion multisites de chora s'appuie sur celle du framework CodeIgniter et repose sur la constante ENVIRONMENT
.
Cette constante est définie dans le fichier websites.php
, lui-même chargé directement à partir du fichier principal du système index.php
.
Dans le cas d'une installation devant permettre de servir de plusieurs sites avec la même application (installation multisites), la valeur de la constante ENVIRONMENT
doit permettre d'identifier chaque site disposant de paramètres personnalisés à charger en fonction du domaine http demandé par les clients.
websites.php
, présent à la racine de votre installation. Les domaines pour lesquels l'application doit répondre sont nommés environnements.aurorae.local
, il suffit par exemple d'ajouter les lignes :
switch($domain) {
case 'aurorae.local':
define('ENVIRONMENT', 'aurorae');
define('DEBUG_ENVIRONMENT', 'production'); //ou 'development'...
break;
[...]
}
default:
) et à l'intérieur du contrôle portant sur le domaine : switch($domain) { [...] }
.ENVIRONMENT
définie pour un domaine particulier (vous ne devez utiliser ni accents, ni caractères spéciaux et ni espaces), l'application chargera après la configuration par défaut tout fichier de configuration placé dans le dossier de l'environnement. Pour le domaine configuré dans l'exemple ci-dessus, ce dossier sera /application/config/aurorae/
.DEBUG_ENVIRONMENT
(qui se substitue quant à elle à la constante ENVIRONMENT
normale du cadriciel CodeIgniter) : elle sert pour la génération et l'affichage des messages d'erreur (sa valeur peut être définie comme development, testing ou production).config/<ENVIRONMENT>/
config/
.site.php
et additional_tables.php
principaux (qui se trouvent dans config/
) : renommez-les, par exemple, vers site.orig.php
et additional_tables.orig.php
pour éviter qu'il ne soient chargés : le but de cette opération est notamment d'empêcher les constantes d'être déjà définies lorsque la configuration propre à un site sera chargée (dans le cas d'une installation multisites), ce qui entraînerait une erreur. Notez que si vous possédiez déjà un site actif avec une installation monosite, il vous faudra donc le reconfigurer exactement de la même manière que n'importe quel autre site dans le cas d'une configuration multisites./*
|---------------------------------------------------------------------------
| Local config settings (site)
| IMPORTANT! This file should be included once at the very end of your main
| config/config.php file *only* in case of a single site installation.
| In case of a multisites installation, it must be included once only at
| the end of each config/<ENVIRONMENT>/config.php file.
|---------------------------------------------------------------------------
*/
//include_once 'site.php';
/*
|---------------------------------------------------------------------------
| Local additional tables to be joined to core (additional_tables)
| IMPORTANT! This file should be included once at the very end of your main
| config/config.php file *only* in case of a single site installation.
| In case of a multisites installation, it must be included once only at
| the end of each config/<ENVIRONMENT>/config.php file.
|---------------------------------------------------------------------------
*/
//include_once 'additional_tables.php';
config/<ENVIRONMENT>/
).config/config.php
: dans ce fichier, vous devrez modifier la variable site_url
et les paramètres des cookies (sans oublier le domaine pour lequel ces derniers sont valides). Il vous faudra en outre décommenter les lignes suivantes à la fin du fichier copié (elles doivent toujours demeurer commentées dans le fichier principal config/config.php
) :/*
|---------------------------------------------------------------------------
| Local config settings (site)
| IMPORTANT! This file should be included once at the very end of your main
| config/config.php file *only* in case of a single site installation.
| In case of a multisites installation, it must be included once only at
| the end of each config/<ENVIRONMENT>/config.php file.
|---------------------------------------------------------------------------
*/
include_once 'site.php';
/*
|---------------------------------------------------------------------------
| Local additional tables to be joined to core (additional_tables)
| IMPORTANT! This file should be included once at the very end of your main
| config/config.php file *only* in case of a single site installation.
| In case of a multisites installation, it must be included once only at
| the end of each config/<ENVIRONMENT>/config.php file.
|---------------------------------------------------------------------------
*/
include_once 'additional_tables.php';
config/database.php
: dans lequel vous définirez les paramètres de la base de données à utiliser pour le siteconfig/ckeditor.php
: dans lequel vous définirez la constante ROOT_URL utilisée par l'éditeur de texte enrichi (elle doit avoir la même valeur que site_url pour ce site)config/site.php
: dans lequel vous modifierez les paramètres propres au site, tels que ceux d'envoi d'emailsconfig/additional_tables.php
(ce fichier n'a pas à être modifié hormis dans le cas d'une application modifiée pour l'utiliser).
En ligne de commandes, il est normalement possible d'appeler une fonction d'un contrôleur de l'application : c'est normalement le cas pour automatiser l'envoi des messages qui se trouvent dans la file d'attente :
php c:wamp64wwwwebappindex.php EmailQueue/send_queue aurorae.local
sur un serveur Microsoft Windows, ou :
php /usr/local/www/webapp/index.php EmailQueue/send_queue aurorae.local
sur un serveur Un*x
Notez le second paramètre (en gras) : dans le cas d'une installation multisites, vous devrez transmettre ainsi le nom du domaine pour lequel il faut effectuer l'opération.
Il en sera de même, si vous utilisez les scripts fournis dans /application/ :
email_queue.bat aurorae.local
email_queue.sh aurorae.local
Ce document a été publié le 2019-01-03 11:15:58. (Dernière mise à jour : 2019-02-06 22:06:11.)