===== Drupal MultiSite Shibboleth ====
Installation de drupal en mode multisite et authentification + authorisation via fédération d'identité shibboleth .
==== Références ====
* http://drupaloo.info/presentation-drupal-7/installation/coeur_drupal
* http://drupalfr.org/documentation/installer-plateforme-multi-sites-sous-drupal
* https://www.drupal.org/documentation/install/multi-site
* https://www.drupal.org/project/drupal
* https://wiki.aai.niif.hu/index.php?title=DrupalShibbolethReadmeDev
===== site primaire =====
==== installation ====
recuperation de l'archive courante et preparation de l'arborescence
[root@cms /var/www/dup]# wget http://ftp.drupal.org/files/projects/drupal-7.34.tar.gz
[root@cms /var/www/dup]# tar xvfz drupal-7.34.tar.gz
[root@cms /var/www/dup]# ln -s drupal-7.34 drupal
==== conf apache ====
Preparation de la configuration apache + anticipation sur les pour la suite avec shibboleth
[root@cms ]# cat /etc/httpd/conf.d/dup.conf
ServerName dup.tem-tsp.eu
ServerAlias dup.*
DocumentRoot /var/www/dup/drupal
ErrorLog logs/dup-error_log
CustomLog logs/dup-access_log common
ShibRequestSetting applicationId dup
#https://wiki.aai.niif.hu/index.php?title=DrupalShibbolethReadmeDev
AuthType Shibboleth
ShibRequireSession Off
# the following single line is only valid for Shib2
ShibUseHeaders On
require shibboleth
AuthType Shibboleth
ShibRequireSession Off
# the following single line is only valid for Shib2
ShibUseHeaders On
require shibboleth
#idem pour https
ServerName dup.tem-tsp.eu
ServerAlias dup.*
DocumentRoot /var/www/dup/drupal
ErrorLog logs/ssl_dup-error_log
CustomLog logs/ssl_dup-access_log common
LogLevel warn
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/cert-10607--.tem-tsp.eu.pem
SSLCertificateKeyFile /etc/pki/tls/private/tem-tsp_star_nop.key
SSLCertificateChainFile /etc/pki/tls/certs/chain-10607--.tem-tsp.eu.pem
SSLCACertificateFile /etc/pki/tls/certs/add_trust_external_ca_root.pem
ShibRequestSetting applicationId dup
...
==== database ====
sur le serveur mysql, preparer la database et les droits d'acces .
mysql> create database drupal_mutual;
mysql> GRANT ALL PRIVILEGES ON drupal_mutual.* TO 'drupaluser'@'157.158.11.129' IDENTIFIED BY 'secret' WITH GRANT OPTION;
infromations a retenir quand on lancera l'installation des sites via l'interface web drupal .
==== site primaire ====
Creation du site primaire (ici dup.tem-tsp.eu) dans la sous arborescence de sites
preparation du fichier settings.php depuis une copie du default et création du repertoir files, le tout en acces provisoirement largement ouverts pour poursuivre l'installation via la navigateur
[root@cms /var/www/dup/drupal/sites]# mkdir dup.tem-tsp.eu ; cd dup.tem-tsp.eu
[root@cms dup.tem-tsp.eu]# cp -a ../default/default.settings.php .
[root@cms dup.tem-tsp.eu]# cp default.settings.php settings.php
[root@cms dup.tem-tsp.eu]# mkdir files
[root@cms dup.tem-tsp.eu]# chmod 666 settings.php
[root@cms dup.tem-tsp.eu]# chmod 777 files
aller sur http://dup.tem-tsp.eu/ (pointra au final sur http://dup.tem-tsp.eu/install.php?profile=standard&locale=en )
==== sites secondaires ====
ici nous faisons usage d'une plateforme multisites en mode sous repertoires, donc le site site1 sera en url de type http://dup.tem-tsp.eu/site1 . Pour cela il faut creer un sous repertoire de type : dup.tem-tsp.eu.site1
[root@cms sites]# mkdir dups.tem-tsp.eu.site1
[root@cms sites]# cd dups.tem-tsp.eu.site1
[root@cms dup.tem-tsp.eu.site1]# cp ../default/default.settings.php .
[root@cms dup.tem-tsp.eu.site1]# cp default.settings.php settings.php
[root@cms dup.tem-tsp.eu.site1]# chmod 666 settings.php
[root@cms dup.tem-tsp.eu.site1]# mkdir files
[root@cms dup.tem-tsp.eu.site1]# chmod 775 files/
[root@cms dup.tem-tsp.eu.site1]# chgrp apache files/
=== lien symbolique ===
lien indispensable pour l'acces a l'url /sites1 pointe bien sur l'arborescence dup.tem-tsp.eu.site1
[root@cms dup.tem-tsp.eu.site1]# ln -s . /var/www/dups/drupal/site1
Installation du site secondaire via l'URL http://dup.tem-tsp.eu/site1 qui pointera vers install.php la premiere fois .
ensuite il faut retablir des droits d'acces aux fichiers de settings plus fermés !
[root@cms dup.tem-tsp.eu.site1]# chgrp apache settings.php
[root@cms dup.tem-tsp.eu.site1]# chmod 640 settings.php
[root@cms dup.tem-tsp.eu.site1]# ls -l
total 52
-rw-r--r-- 1 root root 23770 Dec 15 22:35 default.settings.php
drwxrwxr-x 3 root apache 4096 Dec 15 22:38 files
-rw-r----- 1 root apache 24094 Dec 15 22:38 settings.php
==== shibboleth =====
=== ref ===
* https://www.drupal.org/project/shib_auth
* https://wiki.aai.niif.hu/index.php?title=DrupalShibbolethReadmeDev
nous faisons usage du module drupal shib_auth qui permet une authentification shibboleth, mais aussi une affectation de role basé sur attributs shibboleth .
[root@cms modules]# wget http://ftp.drupal.org/files/projects/shib_auth-7.x-4.0.tar.gz
[root@cms modules]# tar xvfz shib_auth-7.x-4.0.tar.gz
activation et parameterage du module via l'interface web , detaiuls, cf https://wiki.aai.niif.hu/index.php?title=DrupalShibbolethReadmeDev