- Accueil
- Info légales
- Aide (FAQ)
- Les tags de ce site
- Bloc note
- Articles techniques
- Notes system
- Divers articles
- Drupal
- Notes ITIL 2007
- Notes MS
- Dans le quartier...
- Emploi
- Recettes de cuisine et adresses gourmandes
- mes applis ubuntu préferées
- Divers acronymes du monde social
- Internet 2018
- P2 meublé à louer - quartier du Poteau 75018
- apcos - réseaux sociaux et outils
- Articles techniques
- Divers liens
- Fun
- Mon CV IT
- Nouveautés
install drupal 7 en multi site
Voir aussi http://www.vagrantup.com distrib de vm, pour https://github.com/geerlingguy/drupal-vm
sur vm drupal13 (ubuntu 13.04 unity, apache 2.2common, php...)
- dru1 -> drupal 7 avec module dev, et pages et users tests
- dru7 -> drupal 7 en multi site.
On choisit de tout stocker dans la meme bd, nommée dru7. Le user mysql porte le meme nom, n'a des droits que sur cette base. Chaque site utilise un prefixe de table: s1_ s2_ ... Comme chez Gandi / Simple Hosting, pas de ligne de commande, tous les sites seront en site01.dru7 (et non en dru7/site02).
On fait d'abord une install "mono-site" dans dru7
notes:
- php.ini Gandi affiche 64 M
- lib à installer: libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql
1. conf hosts
ajouter une ligne avec dru7 et ses autres sous sites (example): sudo vi /etc/hosts
2. conf vhost apache
copier de default ou d'une autre conf : sudo cp /etc/apache2/sites-enabled/modele
puis sudo vi sites-available/dru7/etc/apache2/
sites-available/dru7
<VirtualHost *:80>
DocumentRoot /var/www/dru7
ServerName dru7
</VirtualHost>
sudo vi /etc/apache2/conf.d/dru7.conf (conf-enabled/dru7.conf pour debian 2.4 *)
Alias dru7 127.0.0.1
<Directory /var/www/dru7>
Options +FollowSymLinks
AllowOverride All
order allow,deny
allow from all
</Directory>
Soit créer un lien (ln -s /etc/apache2/sites-available/dru7 /etc/apache2/sites-enabled/dru7) soit sudo a2ensite dru7
Là, ne pas lancer l'install. Vérifier SQL (db et user). Vérifier si rewrite apparait dans les modules activés (éventuellement faire un sudo a2enmod rewrite)
cd /var/www
sudo drush dl drupal on voit le chemin (et version)
sudo mv drupal-7.xx/ dru7 ou mieux sudo cp -R drupal-7.xx dru7
Vers configurer les permissions des fichiers et dossiers (linux pour drupal).
Ne pas ajouter de contenu au premier site, ne pas y activer de module... garder une version vierge, pour comparaison.
A chaque fois qu'on ajoutera un "sous-site" (URL example.com) il faudra commencer par ici (loop 1).
user sql (loop 1)
Créer une db (avec privilèges requis par dupal), ou utiliser dru7. Le user doit avoir les privilèges suivants SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE_TMP_TABLE et LOCK_TABLES
conf /var/www (loop 2)
préparer le site01
Le répertoire "site01" doit correspondre au nom de domaine (ex sites/test.mondomain.com). Lorsque l'on va lancer la 1ere install monosite, il ne faut pas que ce site ai un . (ou utiliser sites/default... mais "dru7" ou "multi" pour du dev c'est parfait).
mkdir sites/site01
sudo cp sites/default/*.* sites/site01
sudo cp sites/default/default.settings.php sites/site01/settings.php
sudo mkdir sites/site01/files
sudo mkdir sites/site01/modules
sudo chmod 777 sites/site01/settings.php
sudo chmod 777 sites/site01/files/
Si on lance l'install, drupal cherche à utiliser sites/default. On a ce choix:
-
dans les settings.php
$base_url = 'http://site01';
-
Mieux, utiliser sites/sites.php et ses alias de dossiers de conf.
Indispensable pour le dev, car drupal stocke les chemins des fichiers dans la db (files, table system...), ou lorsqu'il s'agit de récupérer en local un site en prod.
sudo cp sites/example.sites.php sites/sites.php
loop 3 : A la fin de dru7/sites/sites.php ajouter $sites['dru7'] = 'nom-rep';
sudo vi sites/site01/settings.php (ou sites/example.com/settings.php)
$databases['default']['default'] = array(
'driver' => 'mysql',
'database' => 'dru7',
'username' => 'dru7',
'password' => 'my_password',
'host' => 'localhost',
'prefix' => '',
'collation' => 'utf8_general_ci',
);
préparer les autres site0x
sudo cp -R sites/site01/ sites/site02/ on peux en préparer 2 ou 3
lancer l'install (loop 5)
Via URL example/install.php (ou site01/install.php) - ce site sera le site par défaut, dc sans prefixe. Back up (sql+ sous "dru7/sites" + /var/lib/mysql/).
Ajouter les modules (loop 6). Faire conf de base. Soucis si l'on change de theme en cours de route (surtout certains themes).
6. les autres sites
modifier sites.php et settings.php, penser aux droits.
conf hostname (loop 4)
ajouter à sites-enabled/dru7
<VirtualHost *:80>
DocumentRoot /var/www/dru7
ServerName example
</VirtualHost>
/etc/apache2/conf.d/dru7.conf ajouter la ligne Alias example 127.0.0.1 et à /etc/hosts 127.0.0.1 example
* Pour debian: conf.d mais conf-enabled
re-protéger les fichiers
sudo chmod a-w sites/site01/settings.php
Commandes
sudo service apache2 restart ou sudo /etc/init.d/apache2 restart
sudo vi /etc/apache2/sites-available/ sudo a2ensite dru7 ... Plus
update version debian apache 2.4 (mai 2014) *
/etc/apache2.conf est le fichier d'entrée. Voici comment les autres /etc/apache2/*.conf sont lus:
# /etc/apache2/
# |-- apache2.conf
# | `-- ports.conf
# |-- mods-enabled
# | |-- *.load
# | `-- *.conf
# |-- conf-enabled
# | `-- *.conf
# `-- sites-enabled
# `-- *.conf
Liens
cf https://drupal.org/node/1114158
migrer un site (source https://drupal.org/node/776864)
voir aussi en fr (jan 2014) http://fr.wikibooks.org/wiki/Drupal_:_installation_et_configuration,_mod...