From a1ae7493cd715af233e04ac5204989db031c533e Mon Sep 17 00:00:00 2001 From: Lunar Date: Mon, 3 Jun 2013 13:27:52 +0200 Subject: [PATCH] =?utf8?q?Mise=20=C3=A0=20jour=20de=20la=20documentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- README | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/README b/README index 0aafd0a..f5deeba 100644 --- a/README +++ b/README @@ -135,9 +135,51 @@ Installer les dépendences : ruby1.9.1 /usr/bin/bundle install --deployment \ --without=development \ --path=vendor/bundle + chmod -R o+rX vendor/bundle -Il faut ensuite mettre en place le lien symbolique vers le script -`pre-receive-hooks`. XXX: à détailler +Pour rendre facilement accessible `list-members-emails`, on peut ajouter dans +`/usr/local/bin` un mini script tel que celui-ci : -XXX: configuration sudoers -XXX: crontab pour update-ag-subscribers + #!/bin/sh + NOS_OIGNONS_BOARD_WIKI_PATH=/srv/ikiwiki/wiki-ca/src \ + /srv/ikiwiki/wiki-ca/gestion-adh/bin/list-emails + +Ne pas oublier de le rendre exécutable. + +Pour permettre au script `update-ag-subscribers` de fonctionner, il est +nécessaire de l'autoriser à exécuter certaines commandes de Mailman. +Pour cela, on va créer un fichier dans `/etc/sudoers.d` : + + Cmnd_Alias AG_MANAGEMENT = /usr/sbin/list_members ag,\ + /usr/sbin/add_members -r - ag,\ + /usr/sbin/remove_members -f - ag + + wiki-ca ALL = (list) NOPASSWD: AG_MANAGEMENT + +Ensuite, pour exécuter régulièrement les scripts via le *crontab* du compte +`wiki-ca`, il faut y ajouter : + + 42 * * * * BUNDLE_GEMFILE=/srv/ikiwiki/wiki-ca/gestion-adh/Gemfile NOS_OIGNONS_BOARD_WIKI_PATH=/srv/ikiwiki/wiki-ca/src ruby1.9.1 /srv/ikiwiki/wiki-ca/gestion-adh/bin/update-ag-subscribers + 42 6 * * * BUNDLE_GEMFILE=/srv/ikiwiki/wiki-ca/gestion-adh/Gemfile NOS_OIGNONS_BOARD_WIKI_PATH=/srv/ikiwiki/wiki-ca/src ruby1.9.1 /srv/ikiwiki/wiki-ca/gestion-adh/bin/send-membership-reminders + +Pour installer le `pre-commit` *hook* sur le dépôt utilisé par +Ikiwiki, on met dans `/srv/ikiwiki/wiki-ca/src/.git/hooks/pre-commit` : + + if ! BUNDLE_GEMFILE=/srv/ikiwiki/wiki-ca/gestion-adh/Gemfile ruby1.9.1 /srv/ikiwiki/wiki-ca/gestion-adh/bin/pre-commit-hook; then + # Reset changes that do not pass the pre-commit hook to prevent + # wrong changes to lay in the Ikiwiki source directory. + git reset --hard + exit 1 + fi + +Ne pas oublier de le rendre exécutable. + +Pour installer le `pre-receive` *hook* sur le dépôt central, on met dans +`/srv/git/.gitolite/hooks/wiki-ca/hooks/pre-receive` : + + #!/bin/sh + BUNDLE_GEMFILE=/srv/ikiwiki/wiki-ca/gestion-adh/Gemfile ruby1.9.1 /srv/ikiwiki/wiki-ca/gestion-adh/bin/pre-receive-hook + +Ne pas oublier de le rendre exécutable. Il faut ensuite faire un lien symbolique : + + ln -s ../../../.gitolite/hooks/wiki-ca/pre-receive /srv/git/repositories/wiki-ca.git/hooks/pre-receive -- 2.39.5