13507
Commentaire:
|
14574
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
= Serveur en production (ancienne) = | = Recette de migration pour Limesurvey de 1.87 vers 2.05+ = == Serveur en production (ancienne) == |
Ligne 3: | Ligne 4: |
* Faire un dump de la basse de donnés (sondages_auf_org.mysql) * Faire un tgz avec les fichiers (sondages_auf_org.tgz) = Serveur nouveau = {{{ ##################################################################################### ## Migration du limesurvey de 1.87 vers 2.05+ ##################################################################################### |
* Faire un tgz (sondages.auf.org.tgz) avec tous les fichiers pour la migration: * Dump de la basse de donnés (sondages_auf_org.mysql) * Dossier avec fichiers de l'application limesurvey (sondages_auf_org) * Certificats SSL * _.auf.org-cert.pem * _.auf.org-key.pem * GandiStandardSSLCA.pem) == Serveur nouveau : Installation Limesurvey2.05+ == Installation des paquets : {{{ |
Ligne 13: | Ligne 16: |
## obtenir le backup (utiliesr addrese IP, pas utilise sondages.auf.org) cd ## //ATENTION: adresse IP: # scp root@10.36.1.97:sondages.auf.org_2015-01-28.tar.gz . ## //ATENTION: adresse nom fichier tgz: tar -zxf sondages.auf.org_2015-01-28.tar.gz && rm sondages.auf.org_2015-01-28.tar.gz ## rm apache.conf //enlever mysql -e "create database limesurvey" mysql limesurvey < sondages_auf_org.mysql && rm sondages_auf_org.mysql mysql -e "grant all privileges on limesurvey.* to 'limesurvey'@'localhost' identified by 'aufauf'" |
}}} Obtenir le backup (utiliesr addrese IP, pas utilise sondages.auf.org) {{{ cd # scp root@10.36.1.97:sondages.auf.tgz . tar -zxf sondages.auf.org.tgz && rm sondages.auf.org_2015-01-28.tar.gz }}} Préparer les Fichiers de l'application Limesurvey: {{{ |
Ligne 29: | Ligne 30: |
wget https://www.limesurvey.org/en/stable-release/finish/25-latest-stable-release/1213-limesurvey205plus-build141229-tar-gz tar -zxf 1213-limesurvey205plus-build141229-tar-gz && rm 1213-limesurvey205plus-build141229-tar-gz |
wget https://www.limesurvey.org/en/stable-release/finish/25-latest-stable-release/1218-limesurvey205plus-build150211-tar-gz tar -zxf 1218-limesurvey205plus-build150211-tar-gz && rm 1218-limesurvey205plus-build150211-tar-gz ## wget https://www.limesurvey.org/en/stable-release/finish/25-latest-stable-release/1213-limesurvey205plus-build141229-tar-gz ## tar -zxf 1213-limesurvey205plus-build141229-tar-gz && rm 1213-limesurvey205plus-build141229-tar-gz |
Ligne 35: | Ligne 38: |
Ligne 40: | Ligne 42: |
## "update" des templates pour "utilisrer" TEMPLATEJS (eviter warning dans la migration DB) |
}}} Modifier templates AUF pour éviter warning dans la migration DB : {{{ |
Ligne 45: | Ligne 49: |
################################################# ## Conf d'apache, (redirect to https) ################################################# |
}}} Configuration Apache http (redirection vers https) {{{ |
Ligne 57: | Ligne 60: |
################################################# ## Conf d'apache, (redirect to https) ################################################# scp root@10.36.1.97:/etc/ssl/certs/_.auf.org-cert.pem /etc/ssl/certs/_.auf.org-cert.pem scp root@10.36.1.97:/etc/ssl/private/_.auf.org-key.pem /etc/ssl/private/_.auf.org-key.pem scp root@10.36.1.97:/etc/ssl/certs/GandiStandardSSLCA.pem /etc/ssl/certs/GandiStandardSSLCA.pem |
}}} Configuration Apache https {{{ |
Ligne 103: | Ligne 102: |
}}} Les certificats SSL {{{ cd mv _.auf.org-cert.pem GandiStandardSSLCA.pem /etc/ssl/certs/ mv _.auf.org-key.pem /etc/ssl/private/ ##scp root@10.36.1.97:/etc/ssl/certs/_.auf.org-cert.pem /etc/ssl/certs/_.auf.org-cert.pem ##scp root@10.36.1.97:/etc/ssl/private/_.auf.org-key.pem /etc/ssl/private/_.auf.org-key.pem ##scp root@10.36.1.97:/etc/ssl/certs/GandiStandardSSLCA.pem /etc/ssl/certs/GandiStandardSSLCA.pem }}} Activation modules et sites Apache: {{{ |
|
Ligne 107: | Ligne 119: |
## Conf limesurvey depuis le navigateur web: ## Verifier /etc/hosts dans mon poste du travail ## sudo nscd -i hosts # http://sondages.auf.org/admin # Welcome: Français, start installation # Paramètres de la base de données # * Utilisateur de la base de données: limesurvey # * Mot de passe de la base de données: aufauf /!\ Utiliser le vrait! # * Nom de la base de données: limesurvey ## Il faut l'ajouter après la conf initial chmod o-rwx application/config/config.php }}} {{{ ##################################################################################### ## Conf limesurvey pour supporter ID ##################################################################################### ## changement du nom utilisateurs vers @auf.org pour ceux dans la DB: mysql> UPDATE lime_users SET users_name=email WHERE email LIKE '%@auf.org' AND email !='webmestre@auf.org' AND email !='frantz.fongang@auf.org'; ## ATENION les comptes: TNSAfrique, TNSavoirs + informer tous les utilisateurs! ##################################################################################### ## Hack du plugin pour le logout: ##################################################################################### ## Alternative scp: # scp root@10.36.1.88:/srv/www/sondages.auf.org/application/core/plugins/Authwebserver/Authwebserver.php # diff /srv/www/sondages.auf.org/application/core/plugins/Authwebserver/Authwebserver.php Authwebserver.php 23,27c23 < ), < 'logout_url' => array( < 'type' => 'string', < 'label' => 'Remote auth logout URL (LimeSurvey will redirect to this URL after local logout)', < ), --- > ) 38d33 < $this->subscribe('afterLogout'); 135,143c130 < public function afterLogout() < { < $logoutURL = $this->get('logout_url'); < if (!empty($logoutURL)) < { < header("Location: $logoutURL"); < exit; < } < } --- > ##################################################################################### ## Hack Bouton login ID AUF ##################################################################################### |
}}} Préparer la Base de données /!\ Changer ''aufauf'' pour le vrai mot de passe /!\ : {{{ cd mysql -e "create database limesurvey" mysql limesurvey < sondages_auf_org.mysql && rm sondages_auf_org.mysql mysql -e "grant all privileges on limesurvey.* to 'limesurvey'@'localhost' identified by 'aufauf'" }}} Conf limesurvey depuis le navigateur web (dans mon poste du travail): * Verifier /etc/hosts dans mon poste du travail, il faut l'adresse du nouveau serveur pour le domain sondages.auf.org * sudo vi /etc/hosts * sudo nscd -i hosts * http://sondages.auf.org/admin * Welcome: * Please select your preferred language: ''Français - French'' * Cliquer la bouton ''start installation'' * Paramètres de la base de données * Utilisateur de la base de données: limesurvey * Mot de passe de la base de données: aufauf /!\ Changer ''aufauf'' pour le vrai mot de passe /!\ * Nom de la base de données: limesurvey * https://sondages.auf.org/index.php/admin/templates/sa/upload * Téléverser le modèle auf2014 (auf2014.zip dans mon poste du travail) * https://sondages.auf.org/index.php/admin/globalsettings * Modèle par défaut : auf2014 * Sauvegarder Permission fichier configuration Limesurvey: {{{ chmod o-rwx /srv/www/sondages.auf.org/application/config/config.php }}} == Serveur nouveau : ID AUF pour Limesurvey2.05+ == Convertir le nom des utilisateurs anciennes dans la base de données vers prenom.nom@auf.org : {{{ mysql limesurvey -e "UPDATE lime_users SET users_name=email WHERE email LIKE '%@auf.org' AND email !='webmestre@auf.org' AND users_name !='TNSAfrique'" }}} Hack Bouton login ID AUF {{{ |
Ligne 167: | Ligne 165: |
cd /srv/www/sondages.auf.org/application/views/admin/authentication ## Optional au diff: # scp root@10.36.1.97:/srv/www/sondages.auf.org/application/views/admin/authentication/login.php . diff login.php* 5,26d4 < <form id="id_auf"> < < <p style="display: inline-block; < margin-right: 20px; < vertical-align: middle; < text-align: right"> <strong>Usagers de l'AUF :</strong> < </p> < < <p style="display: inline-block; < vertical-align: middle; < text-align: right"> < < <a href="https://sondages.auf.org/mellon/login?ReturnTo=/admin/" onmouseover="document.idauf_bouton.src='/styles/idauf_bouton_survol.png';" onmouseout="document.idauf_bouton.src='/styles/idauf_bouton.png';"><img id="idauf_bouton" src="/s\ tyles/idauf_bouton.png" height="32" width="200"></a> < < </p> < </form> < < < <p align="left"><strong>Pour les usagers qui n'ont pas d'adresse @auf.org,</strong><br>utilisez le formulaire de connexion suivant :</p> < < ## Plugin auth web https://sondages.auf.org/index.php/plugins # Webserver [active] ## Conf du plugin: # Strip domain part ... [] # Key to use for username ... [REMOTE_USER] # Check to make default authentication method ... [] # Logout url: https://sondages.auf.org/mellon/logout?ReturnTo=https://sondages.auf.org/index.php/admin/authentication/sa/logout/ ## /srv/www/sondages.auf.org/application/config/config.php 'debugsql'=>0, // Set this to 1 to enanble sql logging, only active when debug = 2 'auth_webserver_autocreate_user'=>true, ), ## /srv/www/sondages.auf.org/application/config/config-defaults.php function hook_get_auth_webserver_profile($user_name) { return Array( 'full_name' => getenv("MELLON_gn")." ".getenv("MELLON_sn"), 'email' => getenv("MELLON_mail"), 'lang' => 'fr', 'create_survey' => 1, 'create_user' => 0, 'delete_user' => 0, 'superadmin' => 0, 'configurator' =>0, 'manage_template' => 0, 'manage_label' => 0, ); } ##################################################################################### ## Conf ID (doc reference): https://redmine.auf.org/projects/auth/wiki/MiseEnPlaceSP ##################################################################################### cd |
}}} {{{ cd mv patchs/login.php.patch /srv/www/sondages.auf.org/application/views/admin/authentication/ cd /srv/www/sondages.auf.org/application/views/admin/authentication/ patch login.php < login.php.patch && rm login.php.patch }}} Reference: contenu du fichier ''login.php.patch'' {{{ --- login.php.orig 2014-12-29 15:25:36.000000000 -0500 +++ login.php 2015-02-06 10:55:27.556158144 -0500 @@ -2,6 +2,28 @@ <div class='messagebox ui-corner-all'> <div class='header ui-widget-header'><?php echo $summary; ?></div> <br /> +<form id="id_auf"> + +<p style="display: inline-block; + margin-right: 20px; + vertical-align: middle; + text-align: right"> <strong>Usagers de l'AUF :</strong> +</p> + +<p style="display: inline-block; + vertical-align: middle; + text-align: right"> + +<a href="https://sondages.auf.org/mellon/login?ReturnTo=/admin/" onmouseover="document.idauf_bouton.src='/styles/idauf_bouton_survol.png';" onmouseout="document.idauf_bouton.src='/styles/idauf_bouton.png';"><img id="idauf_bouton" src="/styles/idauf_bouton.png" height="32" width="200"></a> + +</p> +</form> + + +<p align="left"><strong>Pour les usagers qui n'ont pas d'adresse @auf.org,</strong><br>utilisez le formulaire de connexion suivant :</p> + + + <ul style='width: 500px; margin-left: auto; margin-right: auto'> <?php $pluginNames = array_keys($pluginContent); }}} Hack du plugin webauth pour le logout: {{{ cd mv patchs/Authwebserver.php.patch /srv/www/sondages.auf.org/application/core/plugins/Authwebserver/ cd /srv/www/sondages.auf.org/application/core/plugins/Authwebserver/ patch Authwebserver.php < Authwebserver.php.patch && rm Authwebserver.php.patch }}} Reference: contenu du fichier ''Authwebserver.php.patch'' {{{ --- Authwebserver.php.orig 2015-02-12 12:31:54.984740145 -0500 +++ Authwebserver.php 2015-02-12 12:30:42.064742670 -0500 @@ -20,7 +20,11 @@ 'type' => 'checkbox', 'label' => 'Check to make default authentication method (This disable Default LimeSurvey authentification by database)', 'default' => true, - ) + ), + 'logout_url' => array( + 'type' => 'string', + 'label' => 'Remote auth logout URL (LimeSurvey will redirect to this URL after local logout)', + ), ); public function __construct(PluginManager $manager, $id) { @@ -31,6 +35,7 @@ */ $this->subscribe('beforeLogin'); $this->subscribe('newUserSession'); + $this->subscribe('afterLogout'); } public function beforeLogin() @@ -127,5 +132,13 @@ } - + public function afterLogout() + { + $logoutURL = $this->get('logout_url'); + if (!empty($logoutURL)) + { + header("Location: $logoutURL"); + exit; + } + } } }}} Configuration du plugin auth web: * https://sondages.auf.org/index.php/plugins * Cliquer pour activer Webserver * Cliquer pour configurer Webserver * Strip domain part ... [] * Key to use for username ... [REMOTE_USER] * Check to make default authentication method ... [] * Logout url: https://sondages.auf.org/mellon/logout?ReturnTo=https://sondages.auf.org/index.php/admin/authentication/sa/logout/ Pour la création automatique des utilisateurs: {{{ cd mv patchs/config.php.patch /srv/www/sondages.auf.org/application/config/ cd /srv/www/sondages.auf.org/application/config/ patch config.php < config.php.patch && rm config.php.patch }}} Reference: contenu du fichier ''Authwebserver.php.patch'' {{{ --- config.php.orig 2015-02-12 12:54:42.388692801 -0500 +++ config.php 2015-02-12 12:53:11.624695944 -0500 @@ -53,8 +53,9 @@ // on your webspace. // LimeSurvey developers: Set this to 2 to additionally display STRICT PHP error messages and get full access to standard templates 'debug'=>0, - 'debugsql'=>0 // Set this to 1 to enanble sql logging, only active when debug = 2 - ) + 'debugsql'=>0, // Set this to 1 to enanble sql logging, only active when debug = 2 + 'auth_webserver_autocreate_user'=>true, + ), ); /* End of file config.php */ -/* Location: ./application/config/config.php */ \ Pas de fin de ligne à la fin du fichier +/* Location: ./application/config/config.php */ }}} Pour définir le profile des nouveaux utilisateurs : {{{ cd mv patchs/config-defaults.php.patch /srv/www/sondages.auf.org/application/config/ cd /srv/www/sondages.auf.org/application/config/ patch config-defaults.php < config-defaults.php.patch && rm config-defaults.php.patch }}} Reference: contenu du fichier ''config-defaults.php.patch'' {{{ --- config-defaults.php.orig 2015-02-12 14:04:35.680547616 -0500 +++ config-defaults.php 2015-02-12 14:10:21.276535650 -0500 @@ -197,14 +197,21 @@ // You can use any external DB in order to fill the profile for the user_name passed as the first parameter // A dummy example for the 'hook_get_auth_webserver_profile' function is given below: // -//function hook_get_auth_webserver_profile($user_name) -//{ -// return Array( -// 'full_name' => '$user_name', -// 'email' => "$user_name@localdomain.org", -// 'lang' => 'en', -// 'htmleditormode' => 'inline'); -//} +function hook_get_auth_webserver_profile($user_name) +{ + return Array( + 'full_name' => getenv("MELLON_gn")." ".getenv("MELLON_sn"), + 'email' => getenv("MELLON_mail"), + 'lang' => 'fr', + 'create_survey' => 1, + 'create_user' => 0, + 'delete_user' => 0, + 'superadmin' => 0, + 'configurator' =>0, + 'manage_template' => 0, + 'manage_label' => 0, + ); +} // filterxsshtml }}} Configuration ID AUF en utilisant https://redmine.auf.org/projects/auth/wiki/MiseEnPlaceSP {{{ cd mkdir ssl cd ssl/ |
Ligne 236: | Ligne 350: |
##### pour le test copier depuis la machine du test: # rm /etc/ssl/private/saml-sondages.auf.org-key.pem # rm /etc/ssl/certs/saml-sondages.auf.org-cert.pem # rm /etc/ssl/saml-id.auf.org-metadata.xml # scp root@10.36.1.97:/etc/ssl/private/saml-sondages.auf.org-key.pem /etc/ssl/private/saml-sondages.auf.org-key.pem # scp root@10.36.1.97:/etc/ssl/certs/saml-sondages.auf.org-cert.pem /etc/ssl/certs/saml-sondages.auf.org-cert.pem # scp root@10.36.1.97:/etc/ssl/saml-id.auf.org-metadata.xml /etc/ssl/saml-id.auf.org-metadata.xml |
}}} Installation du mod mellon : {{{ |
Ligne 246: | Ligne 355: |
#########ConfApache (ajouter dessus </VirtualHost>) /etc/apache2/sites-available/sondages.auf.org-ssl |
}}} Configuration Apache/mod-mellon (ajouter dessus </VirtualHost>) ''/etc/apache2/sites-available/sondages.auf.org-ssl'' {{{ |
Ligne 276: | Ligne 387: |
########End ConfApache |
}}} {{{ |
Ligne 280: | Ligne 392: |
## Login et logout SAML ### alternative: ## scp root@10.36.1.97: /srv/www/sondages.auf.org/application/views/admin/authentication/login.php /tmp/login.php ## cp -a /srv/www/sondages.auf.org/application/views/admin/authentication/login.php /srv/www/sondages.auf.org/application/views/admin/authentication/login.php.orig ## cat /tmp/login.php > /srv/www/sondages.auf.org/application/views/admin/authentication/login.php # /srv/www/sondages.auf.org/application/views/admin/authentication/login.php diff /srv/www/sondages.auf.org/application/views/admin/authentication/login.php* 5,26d4 < <form id="id_auf"> < < <p style="display: inline-block; < margin-right: 20px; < vertical-align: middle; < text-align: right"> <strong>Usagers de l'AUF :</strong> < </p> < < <p style="display: inline-block; < vertical-align: middle; < text-align: right"> < < <a href="https://sondages.auf.org/mellon/login?ReturnTo=/admin/" onmouseover="document.idauf_bouton.src='/styles/idauf_bouton_survol.png';" onmouseout="document.idauf_bouton.src='/styles/idauf_bouton.png';"><img id="idauf_bouton" src="/s\ tyles/idauf_bouton.png" height="32" width="200"></a> < < </p> < </form> < < < <p align="left"><strong>Pour les usagers qui n'ont pas d'adresse @auf.org,</strong><br>utilisez le formulaire de connexion suivant :</p> < < < }}} {{{ ## Tests: * Login standard user * login ID * Creation du sondage avec utilisateur ID * Verifier s'il est possible de choisir le template * Verifier le template2014 ## penser en theme avec le nom "default" ## bug: le vrait default c'et celui avec le nom default, pas celui choisi dans la configuration. }}} |
}}} Tests: * Login standard user * login ID * Creation du sondage avec utilisateur ID * Verifier s'il est possible de choisir le template * Verifier le template2014 |
Recette de migration pour Limesurvey de 1.87 vers 2.05+
Serveur en production (ancienne)
- Arrêter Limesurvey en produtcion
- Faire un tgz (sondages.auf.org.tgz) avec tous les fichiers pour la migration:
- Dump de la basse de donnés (sondages_auf_org.mysql)
- Dossier avec fichiers de l'application limesurvey (sondages_auf_org)
- Certificats SSL
- _.auf.org-cert.pem
- _.auf.org-key.pem
- GandiStandardSSLCA.pem)
Serveur nouveau : Installation Limesurvey2.05+
Installation des paquets :
aptitude install php5-gd php5-imap
Obtenir le backup (utiliesr addrese IP, pas utilise sondages.auf.org)
cd # scp root@10.36.1.97:sondages.auf.tgz . tar -zxf sondages.auf.org.tgz && rm sondages.auf.org_2015-01-28.tar.gz
Préparer les Fichiers de l'application Limesurvey:
mkdir -p /srv/www/ mv sondages.auf.org /srv/www/sondages.auf.org.old cd /srv/www/ wget https://www.limesurvey.org/en/stable-release/finish/25-latest-stable-release/1218-limesurvey205plus-build150211-tar-gz tar -zxf 1218-limesurvey205plus-build150211-tar-gz && rm 1218-limesurvey205plus-build150211-tar-gz ## wget https://www.limesurvey.org/en/stable-release/finish/25-latest-stable-release/1213-limesurvey205plus-build141229-tar-gz ## tar -zxf 1213-limesurvey205plus-build141229-tar-gz && rm 1213-limesurvey205plus-build141229-tar-gz mv limesurvey/ sondages.auf.org cp -a sondages.auf.org.old/templates/auf* sondages.auf.org/upload/templates/ cp -a sondages.auf.org.old/upload/* sondages.auf.org/upload/ rm -fr sondages.auf.org.old chown -hR root: sondages.auf.org cd sondages.auf.org chgrp -hR www-data tmp/ upload/ application/config/ chmod -R g+w tmp/ upload/ application/config/
Modifier templates AUF pour éviter warning dans la migration DB :
for i in upload/templates/auf* ; do sed -i '/<\/head>/i\{TEMPLATEJS}' $i/startpage.pstpl done
Configuration Apache http (redirection vers https)
cat <<EOT>> /etc/apache2/sites-available/sondages.auf.org <VirtualHost *:80> ServerName sondages.auf.org ServerAdmin technique@ca.auf.org Redirect permanent / https://sondages.auf.org/ </VirtualHost> EOT
Configuration Apache https
cat <<EOT>> /etc/apache2/sites-available/sondages.auf.org-ssl <VirtualHost *:443> ServerName sondages.auf.org ServerAdmin technique@ca.auf.org SSLEngine on SSLCertificateFile /etc/ssl/certs/_.auf.org-cert.pem SSLCertificateKeyFile /etc/ssl/private/_.auf.org-key.pem SSLCACertificateFile /etc/ssl/certs/GandiStandardSSLCA.pem SSLVerifyClient None DocumentRoot /srv/www/sondages.auf.org <Directory /srv/www/sondages.auf.org> Options FollowSymLinks MultiViews AllowOverride All Order Allow,Deny Allow From All AddDefaultCharset utf-8 php_value default_charset utf-8 RewriteEngine On ## DONT TOUCH ANYTHING ## # Only with survey code : http://server.fr/123456 RewriteRule ^([0-9]+)/*$ index.php?sid=$1 [L,QSA] # Survey code + Lang + Token : http://server.fr/123456/lang-fr/tk-sdlfkjozeiru RewriteRule ^([0-9]+)/lang-([^/]*)/*$ index.php?sid=$1&lang=$2 [L,QSA] # Survey code + Token : http://server.fr/123456/tk-sdlfkjozeiru RewriteRule ^([0-9]+)/lang-([^/]*)/tk-([^/]*)/*$ index.php?sid=$1&lang=$2&token=$3 [L,QSA] # Survey code + Token : http://server.fr/123456/tk-sdlfkjozeiru RewriteRule ^([0-9]+)/tk-([^/]*)/*$ index.php?sid=$1&token=$2 [L,QSA] </Directory> ErrorLog /var/log/apache2/sondages.auf.org-error.log LogLevel warn CustomLog /var/log/apache2/sondages.auf.org-access.log combined </VirtualHost> EOT
Les certificats SSL
cd mv _.auf.org-cert.pem GandiStandardSSLCA.pem /etc/ssl/certs/ mv _.auf.org-key.pem /etc/ssl/private/ ##scp root@10.36.1.97:/etc/ssl/certs/_.auf.org-cert.pem /etc/ssl/certs/_.auf.org-cert.pem ##scp root@10.36.1.97:/etc/ssl/private/_.auf.org-key.pem /etc/ssl/private/_.auf.org-key.pem ##scp root@10.36.1.97:/etc/ssl/certs/GandiStandardSSLCA.pem /etc/ssl/certs/GandiStandardSSLCA.pem
Activation modules et sites Apache:
a2enmod rewrite ssl a2ensite sondages.auf.org sondages.auf.org-ssl service apache2 restart
Préparer la Base de données Changer aufauf pour le vrai mot de passe :
cd mysql -e "create database limesurvey" mysql limesurvey < sondages_auf_org.mysql && rm sondages_auf_org.mysql mysql -e "grant all privileges on limesurvey.* to 'limesurvey'@'localhost' identified by 'aufauf'"
Conf limesurvey depuis le navigateur web (dans mon poste du travail):
- Verifier /etc/hosts dans mon poste du travail, il faut l'adresse du nouveau serveur pour le domain sondages.auf.org
- sudo vi /etc/hosts
- sudo nscd -i hosts
- Welcome:
Please select your preferred language: Français - French
Cliquer la bouton start installation
- Paramètres de la base de données
- Utilisateur de la base de données: limesurvey
Mot de passe de la base de données: aufauf Changer aufauf pour le vrai mot de passe
- Nom de la base de données: limesurvey
- Welcome:
https://sondages.auf.org/index.php/admin/templates/sa/upload
- Téléverser le modèle auf2014 (auf2014.zip dans mon poste du travail)
https://sondages.auf.org/index.php/admin/globalsettings
- Modèle par défaut : auf2014
- Sauvegarder
Permission fichier configuration Limesurvey:
chmod o-rwx /srv/www/sondages.auf.org/application/config/config.php
Serveur nouveau : ID AUF pour Limesurvey2.05+
Convertir le nom des utilisateurs anciennes dans la base de données vers prenom.nom@auf.org :
mysql limesurvey -e "UPDATE lime_users SET users_name=email WHERE email LIKE '%@auf.org' AND email !='webmestre@auf.org' AND users_name !='TNSAfrique'"
Hack Bouton login ID AUF
cd /srv/www/sondages.auf.org/styles wget https://nuage.auf.org/themes/auf/core/img/idauf_bouton.png wget https://nuage.auf.org/themes/auf/core/img/idauf_bouton_survol.png
cd mv patchs/login.php.patch /srv/www/sondages.auf.org/application/views/admin/authentication/ cd /srv/www/sondages.auf.org/application/views/admin/authentication/ patch login.php < login.php.patch && rm login.php.patch
Reference: contenu du fichier login.php.patch
--- login.php.orig 2014-12-29 15:25:36.000000000 -0500 +++ login.php 2015-02-06 10:55:27.556158144 -0500 @@ -2,6 +2,28 @@ <div class='messagebox ui-corner-all'> <div class='header ui-widget-header'><?php echo $summary; ?></div> <br /> +<form id="id_auf"> + +<p style="display: inline-block; + margin-right: 20px; + vertical-align: middle; + text-align: right"> <strong>Usagers de l'AUF :</strong> +</p> + +<p style="display: inline-block; + vertical-align: middle; + text-align: right"> + +<a href="https://sondages.auf.org/mellon/login?ReturnTo=/admin/" onmouseover="document.idauf_bouton.src='/styles/idauf_bouton_survol.png';" onmouseout="document.idauf_bouton.src='/styles/idauf_bouton.png';"><img id="idauf_bouton" src="/styles/idauf_bouton.png" height="32" width="200"></a> + +</p> +</form> + + +<p align="left"><strong>Pour les usagers qui n'ont pas d'adresse @auf.org,</strong><br>utilisez le formulaire de connexion suivant :</p> + + + <ul style='width: 500px; margin-left: auto; margin-right: auto'> <?php $pluginNames = array_keys($pluginContent);
Hack du plugin webauth pour le logout:
cd mv patchs/Authwebserver.php.patch /srv/www/sondages.auf.org/application/core/plugins/Authwebserver/ cd /srv/www/sondages.auf.org/application/core/plugins/Authwebserver/ patch Authwebserver.php < Authwebserver.php.patch && rm Authwebserver.php.patch
Reference: contenu du fichier Authwebserver.php.patch
--- Authwebserver.php.orig 2015-02-12 12:31:54.984740145 -0500 +++ Authwebserver.php 2015-02-12 12:30:42.064742670 -0500 @@ -20,7 +20,11 @@ 'type' => 'checkbox', 'label' => 'Check to make default authentication method (This disable Default LimeSurvey authentification by database)', 'default' => true, - ) + ), + 'logout_url' => array( + 'type' => 'string', + 'label' => 'Remote auth logout URL (LimeSurvey will redirect to this URL after local logout)', + ), ); public function __construct(PluginManager $manager, $id) { @@ -31,6 +35,7 @@ */ $this->subscribe('beforeLogin'); $this->subscribe('newUserSession'); + $this->subscribe('afterLogout'); } public function beforeLogin() @@ -127,5 +132,13 @@ } - + public function afterLogout() + { + $logoutURL = $this->get('logout_url'); + if (!empty($logoutURL)) + { + header("Location: $logoutURL"); + exit; + } + } }
Configuration du plugin auth web:
https://sondages.auf.org/index.php/plugins
- Cliquer pour activer Webserver
- Cliquer pour configurer Webserver
- Strip domain part ... []
- Key to use for username ... [REMOTE_USER]
- Check to make default authentication method ... []
Pour la création automatique des utilisateurs:
cd mv patchs/config.php.patch /srv/www/sondages.auf.org/application/config/ cd /srv/www/sondages.auf.org/application/config/ patch config.php < config.php.patch && rm config.php.patch
Reference: contenu du fichier Authwebserver.php.patch
--- config.php.orig 2015-02-12 12:54:42.388692801 -0500 +++ config.php 2015-02-12 12:53:11.624695944 -0500 @@ -53,8 +53,9 @@ // on your webspace. // LimeSurvey developers: Set this to 2 to additionally display STRICT PHP error messages and get full access to standard templates 'debug'=>0, - 'debugsql'=>0 // Set this to 1 to enanble sql logging, only active when debug = 2 - ) + 'debugsql'=>0, // Set this to 1 to enanble sql logging, only active when debug = 2 + 'auth_webserver_autocreate_user'=>true, + ), ); /* End of file config.php */ -/* Location: ./application/config/config.php */ \ Pas de fin de ligne à la fin du fichier +/* Location: ./application/config/config.php */
Pour définir le profile des nouveaux utilisateurs :
cd mv patchs/config-defaults.php.patch /srv/www/sondages.auf.org/application/config/ cd /srv/www/sondages.auf.org/application/config/ patch config-defaults.php < config-defaults.php.patch && rm config-defaults.php.patch
Reference: contenu du fichier config-defaults.php.patch
--- config-defaults.php.orig 2015-02-12 14:04:35.680547616 -0500 +++ config-defaults.php 2015-02-12 14:10:21.276535650 -0500 @@ -197,14 +197,21 @@ // You can use any external DB in order to fill the profile for the user_name passed as the first parameter // A dummy example for the 'hook_get_auth_webserver_profile' function is given below: // -//function hook_get_auth_webserver_profile($user_name) -//{ -// return Array( -// 'full_name' => '$user_name', -// 'email' => "$user_name@localdomain.org", -// 'lang' => 'en', -// 'htmleditormode' => 'inline'); -//} +function hook_get_auth_webserver_profile($user_name) +{ + return Array( + 'full_name' => getenv("MELLON_gn")." ".getenv("MELLON_sn"), + 'email' => getenv("MELLON_mail"), + 'lang' => 'fr', + 'create_survey' => 1, + 'create_user' => 0, + 'delete_user' => 0, + 'superadmin' => 0, + 'configurator' =>0, + 'manage_template' => 0, + 'manage_label' => 0, + ); +} // filterxsshtml
Configuration ID AUF en utilisant https://redmine.auf.org/projects/auth/wiki/MiseEnPlaceSP
cd mkdir ssl cd ssl/ openssl req -new -x509 -keyout key.pem -out cert.pem -nodes -days 3650 -newkey rsa:2048 -subj "/CN=sondages.auf.org" chmod 0600 key.pem chmod 0644 cert.pem chown root:root key.pem cert.pem mv key.pem /etc/ssl/private/saml-sondages.auf.org-key.pem mv cert.pem /etc/ssl/certs/saml-sondages.auf.org-cert.pem wget --no-check-certificate https://id.auf.org/idp/saml2/metadata -O- | tee -a /etc/ssl/saml-id.auf.org-metadata.xml
Installation du mod mellon :
apt-get install libapache2-mod-auth-mellon
Configuration Apache/mod-mellon (ajouter dessus </VirtualHost>) /etc/apache2/sites-available/sondages.auf.org-ssl
<Location /> AuthType "Mellon" # si on veut imposer l'authentification avant d'accéder au site (100% privé) #MellonEnable "auth" # si on veut laisser le site web déclencher l'authentification (public + privé) MellonEnable "info" # les méta-données MellonDefaultLoginPath "/" MellonOrganizationName "sondages.auf.org" MellonOrganizationDisplayName "fr" "Sondages AUF" MellonOrganizationURL "http://www.auf.org" MellonSPPrivateKeyFile /etc/ssl/private/saml-sondages.auf.org-key.pem MellonSPCertFile /etc/ssl/certs/saml-sondages.auf.org-cert.pem MellonIdPMetadataFile /etc/ssl/saml-id.auf.org-metadata.xml # les conditions d'accès MellonUser "mail" MellonCond "mail" "^[^@]*@auf\.org$" [REG] #MellonCond "mail" "jean-christophe.andre@auf.org" [OR] #MellonCond "mail" "moussa.nombre@auf.org" #MellonCond "eduPersonAffiliation" "employee" </Location> <Location /mellon/> AuthType "Mellon" MellonEnable "info" </Location>
a2enmod auth_mellon service apache2 restart
Tests:
- Login standard user
- login ID
- Creation du sondage avec utilisateur ID
- Verifier s'il est possible de choisir le template
- Verifier le template2014