Ajout : 3615.cyclocoop.org .
[lhc/ateliers.git] / etc / nginx / site.d / cyclo-3615 / local.sh
1 hint="run before: remote/runit-configure nginx -- $site"
2 assert "sudo test -f /etc/nginx/x509.d/\"$site\"/key.pem" hint
3 assert "sudo test -f ~wiki-$site/etc/ssh/id_rsa" hint
4
5 sudo install -m 664 -o www -g www \
6 "$tool"/var/pub/x509/3615.cyclocoop.org/crt+ca.pem \
7 /etc/nginx/x509.d/"$site"/crt.pem
8
9 "$tool"/local/apt-get-install ikiwiki \
10 xapian-omega \
11 libsearch-xapian-perl \
12 libdigest-sha-perl \
13 libhtml-scrubber-perl
14
15 #"$tool"/local/adduser fcgi-"$site" \
16 # --disabled-login \
17 # --disabled-password \
18 # --group \
19 # --home /home/cyclo/var/ikiwiki/'"'$site'"' \
20 # --shell /bin/false \
21 # --system
22 "$tool"/local/adduser www-"$site" \
23 --disabled-login \
24 --disabled-password \
25 --group \
26 --home /home/www/data/"$site" \
27 --shell /bin/false \
28 --system
29 #sudo adduser fcgi-"$site" www-"$site"
30 #sudo adduser fcgi-"$site" wiki-"$site"
31 #sudo adduser www-"$site"-tls www-"$site"
32 sudo install -d -m 2770 -o wiki-"$site" -g wiki-"$site" \
33 /home/cyclo/var/ikiwiki/"$site"
34 sudo install -d -m 3771 -o git -g git \
35 /home/git/hooks/cyclo
36 sudo install -d -m 2770 -o git -g www-"$site" \
37 /home/git/hooks/cyclo/"$site"
38 sudo install -m 771 -o git -g git /dev/stdin \
39 /home/git/data/3615cyclo.git/hooks/post-update <<-EOF
40 #!/bin/sh -efux
41
42 # The cd below is why we must use this script.
43 # The current directory may not be accessible
44 # by the user running the ikiwiki.
45 # the execution of the ikiwiki wrapper would fail with :
46 # "E: Failed to change to directory '...': Permission denied"
47 cd /
48
49 exec /home/git/hooks/cyclo/$site/post-update.ikiwiki
50 EOF
51
52 if sudo test -d /home/cyclo/var/ikiwiki/"$site"/src/.git
53 then sudo -u wiki-"$site" sh -$-c ' \
54 cd /home/cyclo/var/ikiwiki/'"'$site'"'/src &&
55 git pull -v &&
56 git submodule update --recursive --init'
57 else
58 sudo -u wiki-"$site" sh -$-c ' \
59 umask 007 &&
60 git clone \
61 git@localhost:3615cyclo \
62 /home/cyclo/var/ikiwiki/'"'$site'"'/src &&
63 cd /home/cyclo/var/ikiwiki/'"'$site'"'/src &&
64 git config core.sharedRepository group
65 '
66 fi
67
68 sudo adduser wiki-"$site" www-"$site"
69 sudo adduser wiki-"$site" wiki-cyclo-wiki
70 sudo install -d -m 2770 -o wiki-"$site" -g fcgi-"$site" \
71 /home/www/data/"$site"/cgi
72
73 sudo install -d -m 2771 -o wiki-"$site" -g wiki-"$site" \
74 /home/cyclo/var/ikiwiki/"$site" \
75 /home/cyclo/var/ikiwiki/"$site"/src
76 cd /
77 sudo -u wiki-"$site" ikiwiki \
78 --verbose \
79 --setup /home/cyclo/var/ikiwiki/"$site"/src/ikiwiki.setup \
80 --refresh \
81 --wrappers
82 sudo chmod g+w \
83 /home/cyclo/var/ikiwiki/"$site"/src/.ikiwiki \
84 /home/cyclo/var/ikiwiki/"$site"/src/.ikiwiki/xapian/3615 # TODO: chmod all database
85
86 sudo install -m 664 -o wiki-"$site" -g wiki-"$site" /dev/stdin \
87 /home/cyclo/var/ikiwiki/"$site"/src/.ikiwiki/xapian/omega.conf <<-EOF
88 database_dir .
89 template_dir ./templates
90 EOF
91
92 sudo cat /etc/gitweb/gitweb.conf - <<-EOF |
93 \$export_ok = "cyclo-3615-export-ok";
94 \$favicon = "/gitweb/static/git-favicon.png";
95 \$home_link = "/";
96 \$home_link_str = '3615';
97 \$home_text = "/etc/gitweb/cyclo.home_text.html";
98 \$javascript = "/gitweb/static/gitweb.js";
99 \$logo = "/gitweb/static/git-logo.png";
100 \$my_uri = "/gitweb/";
101 \$my_url = "/gitweb/";
102 \$projects_list = "/etc/gitweb/cyclo-3615.projects.list";
103 \$site_footer = "/etc/gitweb/cyclo.site_footer.html";
104 \$site_header = "/etc/gitweb/cyclo.site_header.html";
105 \$site_name = "3615.cyclocoop.org";
106 @stylesheets = ("/gitweb/static/gitweb.css");#
107 EOF
108 sudo install -m 640 -o root -g fcgi-gitweb /dev/stdin \
109 /etc/gitweb/cyclo-3615.conf
110 sudo install -m 640 -o root -g fcgi-gitweb \
111 "$tool"/etc/gitweb/cyclo.home_text.html \
112 /etc/gitweb/cyclo.home_text.html
113 sudo install -m 640 -o root -g fcgi-gitweb /dev/stdin \
114 /etc/gitweb/cyclo-3615.projects.list <<-EOF
115 cyclo3615.git
116 EOF