source: spip-zone/_plugins_/mutualisation/mes_options.php.txt @ 48944

Last change on this file since 48944 was 43184, checked in by esj@…, 10 years ago

mutualisation. La redirection après retrait du www. doit rajouter la REQUEST_URI plutôt que d'imposer un "/".

File size: 7.3 KB
Line 
1<?php
2
3        /*
4         * Inscrire ici le nom du site d'administration du tableau de bord
5         * de la mutualisation (ou plusieurs, separes par des virgules)
6         * (dans cet exemple, 'scriibe.net' est le top level domain, TLD)
7         * pour autoriser tous les sites, ne pas definir la constante ;
8         * Si le site maitre n'est pas dans sites/ mais a la racine, mettre ''
9         * et ajouter 'mutualisation' dans $dossier_squelettes
10         */
11        define ('_SITES_ADMIN_MUTUALISATION', 'scriibe.net');
12
13        if (!defined("_ECRIRE_INC_VERSION")) return;
14        if (!is_readable (_DIR_RACINE.'mutualisation/mutualiser.php')) {
15                echo _L("Fichier 'mutualisation/mutualiser.php' manquant dans la racine " . _DIR_RACINE);
16                exit;
17        }
18        require _DIR_RACINE.'mutualisation/mutualiser.php';
19
20        /* placer dans ce tableau les sites ou l'on ne veut pas la redirection canonique */
21        $www = array();
22       
23        $site = str_replace('www.', '', $_SERVER['HTTP_HOST']);
24        if ($site != $_SERVER['HTTP_HOST'] AND !in_array($site, $www)) {
25                include_spip('inc/headers');
26                $req = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
27                if (isset($_SERVER['HTTPS'])
28                AND test_valeur_serveur($_SERVER['HTTPS']))
29                        $protocole = 'https';
30                elseif (!isset($_SERVER["SCRIPT_URI"]) OR !($p = strpos($_SERVER["SCRIPT_URI"], '://')))
31                        $protocole = 'http';
32                else $protocole = substr($_SERVER["SCRIPT_URI"],0,$p);
33                redirige_par_entete($protocole . '://' . $site . $req);
34        }
35
36        // Compatibilite avec le ":" de $dossier_squelettes
37        // Si l'url indique explicitement un port (grace a ":")
38        // tout eliminer s'il s'agit du port 80
39        // et remplacer ":" par _ pour les autres ports
40
41        if (strpos($site, ':')) {
42                if (preg_match('/:80$/', $site)) $site = substr($site,-3);
43                else $site = str_replace(':', '_', $site);
44        }
45
46        define ('_INSTALL_SITE_PREF', prefixe_mutualisation($site));
47        define ('_INSTALL_NAME_DB', 'mu_'. _INSTALL_SITE_PREF);
48
49        define ('_INSTALL_SERVER_DB', 'mysql');
50        define ('_INSTALL_HOST_DB', 'localhost');
51        define ('_INSTALL_USER_DB', 'loginsql'); 
52        define ('_INSTALL_PASS_DB', '123456HDJ');
53       
54        /* mettre en commentaire la ligne suivante si vous utilisez l'option table_prefixe plus bas dans la config */
55        define ('_INSTALL_TABLE_PREFIX', 'spip');
56
57        /*
58         * Si le nom du serveur est different du nom dns,
59         * ca peut parfois poser probleme
60         * il faut alors le definir ici
61         */
62        # define ('_INSTALL_HOST_DB_LOCALNAME', 'nom_serveur');
63       
64        /*
65         * Si le serveur n'est pas mysql, il faut le preciser obligatoirement.
66         * # define ('_INSTALL_SERVER_DB', 'pg'); // mysql|pg|sqlite2|sqlite3
67         *
68         * /!\ En PG, il est conseille d'utiliser la creation d'utilisateur SQL
69         */
70       
71        /*
72         * Creer automatiquement les users SQL (pg|mysql)
73         *
74         * Cela permet
75         * - d'avoir un utilisateur root possedant les droits
76         * de creation de bases (cet utilisateur possedant obligatoirement
77         * une base a son nom en PG - PG ne se connecte pas sans donner un nom de bdd)
78         * - de creer des utilisateurs sql automatiquement
79         * ne possedant que les droits d'administation
80         * de leur base de donnee qui sera creee
81         *
82         * Il faut remplacer alors
83         * _INSTALL_(USER|PASS)_DB par _INSTALL_(USER|PASS)_DB_ROOT
84         *
85         * et ajouter dans demarrer_site l'option
86         * 'creer_user_base' => true
87         */
88        # define ('_INSTALL_USER_DB_ROOT', 'mon_root');
89        # define ('_INSTALL_PASS_DB_ROOT', '********');
90 
91        /*
92         * Creer les bases de donnees via un ping sur une URL (methode AlternC)
93         *
94         * Il suffit de renseigner l'option url_creer_base, en lui passant les bons parametres :
95         * 'url_creer_base' => 'https://bureau.tld/admin/sql_doadd.php?username=USER&password=PASS&dbn='.prefixe_mutualisation($site)
96         */
97         
98         
99        /*
100         * Transformer sur les pages publiques les url des images
101         * /sites/mon_site/IMG/* -> /IMG/*
102         * /sites/mon_site/local/* -> /local/*
103         *
104         * - Necessite le mod_rewrite (reecriture d'url) d'apache
105         * - Ne fonctionne qu'avec des mutualisations de nom de domaine
106         * ('http_host' : http://mon_site_mutu.tld)
107         * (donc pas avec une mutualisation de repertoire - http://site/mon_spip_mutu/)
108         *
109         * et ajouter dans demarrer_site l'option
110         * 'url_img_courtes' => true
111         *
112         * Il est possible de regenerer les fichiers .htaccess
113         * crees automatiquement dans /IMG et /local
114         * grace a ?var_mode=creer_htaccess_img
115         *
116         */
117       
118        demarrer_site($site,
119                array(
120                        'creer_site' => true,        // Creer ou non le site s'il n'existe pas (defaut: false)
121                        'creer_base' => true,        // Creer ou non la base de donnee si elle n'existe pas (false)
122                        'creer_user_base' => false,  // Creer ou non un utilisateur pour la nouvelle base de donnee (false)
123                        'mail' => '',                // Adresse mail pour recevoir un mail lors d'une creation de site mutualise ('')
124                        'code' => 'ecureuil',        // Code d'activation ('ecureuil')
125                        'table_prefix' => false,     // Definir automatiquement le prefixe de table (false) ... mettre true si tous les sites dans la meme base
126                        'cookie_prefix' => true,     // Definir automatiquement le prefixe de cookie (false)
127                        'repertoire' => 'sites',     // Nom du repertoire contenant les sites mutualises ('sites')
128                        'url_img_courtes' => true,   // Utiliser la redirection des URL d'images courtes dans la partie publique (false)
129                                                                                 // /!\ il faut qu'apache ait le droit d'ecrire dans les dossiers IMG/ et local/ a la racine du site !
130                                                                                 // C'est la que la mutualisation va ecrire les regles de redirection automatiques pour les images de chaque site
131                        # 'utiliser_panel' => false, // Utiliser une table externe pour recuperer des identifiants ... (code, user, pass) permettant a un utilisateur d'installer le site (false)
132                        # 'annonce' => '<p>Un service propos&eacute; par <a href="http://www.spip.net/">la communaut&eacute; SPIP</a></p>', // Texte a afficher en bas du formulaire d'activation de la mutualisation
133                        'url_creer_base' => ''       // Creer la base de donnees via une URL (methode AlternC)
134                )
135        );
136
137        /*
138         * Notes concernant SQLite
139         *
140         * 1) creer_base = false
141         *      Avec SQLite, il est inutile de mettre creer_base a true.
142         *      Si creer_base est true, une base sera cree (par l'outil de mutualisation)
143         *      dans le repertoire defini par la constante _DIR_DB.
144         *
145         *      Si cette constante n'est pas renseignee, elle vaudra
146         *      _DIR_ETC/bases/ soit : config/bases/, ce qui ne correspond pas
147         *      a l'emplacement du futur site : sites/X/config/bases.
148         *
149         *      En laissant l'option a false, SPIP creera la base de donnee
150         *      au moment de l'installation (exec=install) et a ce moment
151         *      la, _DIR_ETC vaudra 'sites/X/config' donc la base sera stockee
152         *      ou il faut si _DIR_DB n'est pas defini.
153         *
154         * 2) creer_user_base = false
155         *      SQLite ne gerant pas de droits d'utilisateurs,
156         *      (les droits sont ceux du fichier .sqlite)
157         *      mettre true provoquera des erreurs (je suppose)
158         * 
159         * 3) constantes a definir :
160         *  define ('_INSTALL_SERVER_DB', 'sqlite3'); //  sqlite2 ou sqlite3
161         *  define ('_INSTALL_NAME_DB', 'mu_'.prefixe_mutualisation($site));
162         *
163         *      les constantes _INSTALL_(HOST|PASS|USER)_DB sont inutiles.
164         */
165       
166        /*
167         * Notes concernant MySQL
168         *
169         * - Pour la creation d'utilisateurs MYSQL
170         * (creer_base+creer_user_base)
171         * il est possible de definir les droits de ces utilisateurs avec la constante
172         * _PRIVILEGES_MYSQL_USER_BASE (ici avec les valeurs utilisees par defaut) :
173         *
174         *  define('_PRIVILEGES_MYSQL_USER_BASE','Alter, Select, Insert, Update, Delete, Create, Drop');
175         *
176         */
177?>
Note: See TracBrowser for help on using the repository browser.