X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=etc%2Fnginx%2Fsite.d%2Flhc-remorque%2Fconfigure.sh;fp=etc%2Fnginx%2Fsite.d%2Flhc-remorque%2Fconfigure.sh;h=59645ad007ea7a8daaeacd02bb3cfa8dc6f90dca;hb=b7595a000cae850e0702938336ce116376bc7d67;hp=0000000000000000000000000000000000000000;hpb=e61ce31922a217eafcaa2a2d05d906f9032133e9;p=lhc%2Fateliers.git diff --git a/etc/nginx/site.d/lhc-remorque/configure.sh b/etc/nginx/site.d/lhc-remorque/configure.sh new file mode 100644 index 0000000..59645ad --- /dev/null +++ b/etc/nginx/site.d/lhc-remorque/configure.sh @@ -0,0 +1,78 @@ +local hint="run vm_remote nginx_configure before" +assert "sudo getent passwd wiki-\"$site\" >/dev/null" hint +assert "sudo test -f ~wiki-$site/etc/ssh/id_rsa" hint + +rule apt_get_install ikiwiki \ + libsearch-xapian-perl + +rule adduser fcgi-"$site" \ + --disabled-login \ + --disabled-password \ + --group \ + --home /home/www/pub/"$site" \ + --shell /bin/false \ + --system +rule adduser www-"$site" \ + --disabled-login \ + --disabled-password \ + --group \ + --home /home/www/pub/"$site" \ + --shell /bin/false \ + --system +sudo adduser fcgi-"$site" www-"$site" +sudo adduser fcgi-"$site" wiki-"$site" +#sudo adduser www-"$site"-tls www-"$site" +sudo install -d -m 2770 -o wiki-"$site" -g wiki-"$site" \ + /home/lhc/var/ikiwiki/remorque + +sudo install -d -m 2770 -o wiki-"$site" -g wiki-"$site" \ + /home/lhc/var/ikiwiki/remorque +sudo install -d -m 2750 -o wiki-"$site" -g git \ + /home/git/hooks/remorque +sudo install -m 3771 -o git -g git /dev/stdin \ + /home/git/pub/remorqueatelier.git/hooks/post-update <<-EOF + #!/bin/sh -efux + + # The cd below is why we must use this script. + # The current directory may not be accessible + # by the user running the ikiwiki. + # the execution of the ikiwiki wrapper would fail with : + # "E: Failed to change to directory '...': Permission denied" + cd / + + exec /home/git/hooks/remorque/post-update.ikiwiki + EOF + +if test -d /home/lhc/var/ikiwiki/remorque/.git + then sudo -u wiki-"$site" \ + sh -c 'cd /home/lhc/var/ikiwiki/remorque && git pull -v' + else + ( + eval cd ~wiki-"$site" + set +f + sudo -u wiki-"$site" \ + git clone \ + git@localhost:remorqueatelier \ + /home/lhc/var/ikiwiki/remorque/git + sudo mv -i \ + /home/lhc/var/ikiwiki/remorque/git/.git* \ + /home/lhc/var/ikiwiki/remorque/git/* \ + /home/lhc/var/ikiwiki/remorque/ + ) + sudo rmdir /home/lhc/var/ikiwiki/remorque/git + fi + +sudo install -m 400 -o wiki-"$site" -g wiki-"$site" \ + "$tool"/etc/nginx/site.d/"$site"/ikiwiki.setup \ + /home/lhc/var/ikiwiki/remorque/etc/ikiwiki.setup +eval cd ~wiki-"$site" +sudo adduser wiki-"$site" www-"$site" + +sudo install -d -m 2770 -o wiki-"$site" -g fcgi-"$site" \ + /home/www/pub/"$site"/cgi + +sudo -u wiki-"$site" ikiwiki \ + --verbose \ + --setup /home/lhc/var/ikiwiki/remorque/etc/ikiwiki.setup \ + --refresh \ + --wrappers