Correction : vm_hosted : etc/nginx/site.d/gitweb/ .
authorJulien Moutinho <julm+burette@autogeree.net>
Sun, 24 Mar 2013 16:47:03 +0000 (17:47 +0100)
committerJulien Moutinho <julm+burette@autogeree.net>
Tue, 26 Mar 2013 08:20:03 +0000 (09:20 +0100)
etc/init.d/tmpfs
etc/nginx/site.d/gitweb/configure.sh
etc/nginx/site.d/gitweb/site.conf
etc/sv/gitweb/configure.sh
vm_hosted

index fa749ee..adae6f3 100755 (executable)
@@ -46,9 +46,9 @@ do_start() {
                         /run/shm/cache/php5/fpm \
                         /run/shm/tmp/php5
                        
-                       ! getent passwd gitweb >/dev/null ||
-                       sudo install -d -m 770 -o gitweb -g gitweb \
-                        /run/tmp/gitweb
+                       ! getent passwd fcgi-gitweb >/dev/null ||
+                       sudo install -d -m 1771 -o fcgi-gitweb -g fcgi-gitweb \
+                        /run/shm/tmp/gitweb
                        
                        ! getent passwd mysql >/dev/null ||
                        sudo install -d -m 1771 -o mysql -g mysql \
index 3e1e949..07a681c 100644 (file)
@@ -1,39 +1,4 @@
 rule apt_get_install gitweb highlight
 
-sudo ln -fns /etc/gitweb /home/git/etc/gitweb
-sudo install -d -m 550 -o www-"$site" -g www-"$site" \
- /etc/gitweb \
- /etc/gitweb/cgi
-sudo install -m 740 -o git -g www-"$site" /dev/stdin \
- /home/git/etc/gitweb/gitweb.conf <<-EOF
-       \$commit_oneline_message_width = 70;
-       \$default_projects_order = 'age';
-       \$default_text_plain_charset = 'UTF-8';
-       @diff_opts = ();
-       \$favicon = "img/git-favicon.png";
-       \$git_temp = "/run/shm/tmp/gitweb";
-       \$home_footer = "/etc/gitweb/cgi/home-footer.cgi.inc";
-       \$home_header = "/etc/gitweb/cgi/home-header.cgi.inc";
-       \$home_link = "/";
-       \$home_link_str = 'd&eacute;p&ocirc;ts';
-       \$home_th_age = 'activit&eacute;';
-       \$home_th_descr = 'description';
-       \$home_th_owner = 'contact';
-       \$home_th_project = 'd&eacute;p&ocirc;t';
-       \$javascript = "js/gitweb.js";
-       \$logo = "img/git-logo.png";
-       \$my_uri = "";
-       \$projectroot = "../git";
-       \$projects_list = "/etc/gitolite/projects.list";
-       \$projects_list_description_width = 42;
-       \$projects_list_owner_width = 15;
-       \$search_str = "Filtre&nbsp;:";
-       \$site_footer = "/etc/gitweb/cgi/site-footer.bin";
-       \$site_header = undef;
-       \$site_name = "git.$vm_domainname";
-       \$space_to_nbsp = 0;
-       @stylesheets = ("css/gitweb.css");#
-       \$untabify_tabstop = 2;
-       EOF
 sudo adduser www-data git-data
 sudo adduser www-"$site"-tls www-"$site"
index f15b046..e056493 100644 (file)
@@ -2,11 +2,8 @@ server_name git.heureux-cyclage.org;
 
 client_body_buffer_size 8k;
 client_max_body_size 10m;
-location / {
-       index index.html;
+location ~* ^.+\.(css|png|js)$ {
        root /usr/share/gitweb;
- }
-location ~* ^.+.(css|gif|html|ico|jpeg|js|jpg|png|txt|xml)$ {
        access_log off;
        expires 30d;
        log_not_found off;
@@ -31,6 +28,8 @@ location ~ ^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$
        fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
  }
 location @gitweb {
+       root /usr/share/gitweb;
+       fastcgi_param SCRIPT_FILENAME /usr/share/gitweb/gitweb.cgi;
        include /etc/nginx/conf.d/fastcgi.conf;
        set $no_cache "0";
        if ($request_method !~ ^(GET|HEAD)$) {
@@ -55,9 +54,6 @@ location @gitweb {
        fastcgi_no_cache $no_cache;
        fastcgi_param GITWEB_CONFIG /etc/gitweb/gitweb.conf;
        fastcgi_param PATH_INFO $uri;
-       fastcgi_param REDIRECT_STATUS 200;
-               # NOTE: PHP only, required if PHP was built with --enable-force-cgi-redirect
-       fastcgi_param SCRIPT_FILENAME /usr/share/gitweb/gitweb.cgi;
        
        fastcgi_pass_header Cookie;
        fastcgi_pass_header Set-Cookie;
index 9f1a1cd..cd6faa7 100644 (file)
@@ -14,6 +14,41 @@ rule adduser log-fcgi-"$sv" \
  --shell /bin/false \
  --system
 sudo adduser fcgi-"$sv" www-"$sv"
-#sudo adduser fcgi-"$site" git-data
+sudo adduser fcgi-"$sv" git-data
 sudo install -d -m 770 -o log-fcgi-"$sv" -g log-fcgi-"$sv" \
  /home/www/log/"$sv"/spawn-fcgi
+sudo install -d -m 2750 -o git -g fcgi-"$sv" \
+ /etc/gitweb \
+ /etc/gitweb/cgi
+sudo ln -fns /etc/gitweb /home/git/etc/gitweb
+sudo install -m 400 -o fcgi-"$sv" -g fcgi-"$sv" /dev/stdin \
+ /home/git/etc/gitweb/gitweb.conf <<-EOF
+       \$commit_oneline_message_width = 70;
+       \$default_projects_order = 'age';
+       \$default_text_plain_charset = 'UTF-8';
+       @diff_opts = ();
+       \$favicon = "static/git-favicon.png";
+       \$git_temp = "/run/shm/tmp/gitweb";
+       \$home_footer = "/etc/gitweb/cgi/home-footer.cgi.inc";
+       \$home_header = "/etc/gitweb/cgi/home-header.cgi.inc";
+       \$home_link = "/";
+       \$home_link_str = 'd&eacute;p&ocirc;ts';
+       \$home_th_age = 'activit&eacute;';
+       \$home_th_descr = 'description';
+       \$home_th_owner = 'contact';
+       \$home_th_project = 'd&eacute;p&ocirc;t';
+       \$javascript = "static/gitweb.js";
+       \$logo = "static/git-logo.png";
+       \$my_uri = "";
+       \$projectroot = "/home/git/pub";
+       \$projects_list = "/etc/gitweb/projects.list";
+       \$projects_list_description_width = 42;
+       \$projects_list_owner_width = 15;
+       \$search_str = "Filtre&nbsp;:";
+       \$site_footer = "/etc/gitweb/cgi/site-footer.bin";
+       \$site_header = undef;
+       \$site_name = "git.$vm_domainname";
+       \$space_to_nbsp = 0;
+       @stylesheets = ("static/gitweb.css");#
+       \$untabify_tabstop = 2;
+       EOF
index 78e1809..874c3e8 100755 (executable)
--- a/vm_hosted
+++ b/vm_hosted
@@ -565,7 +565,7 @@ rule_gitolite_configure () {
                #\$GL_WILDREPOS_DEFPERMS = 'R @all';
                \$GL_WILDREPOS_PERM_CATS = "READERS WRITERS";
                \$HTPASSWD_FILE = "";
-               \$PROJECTS_LIST = \$ENV{HOME} . "/projects.list";
+               \$PROJECTS_LIST = \$ENV{HOME} . "/etc/gitweb/projects.list";
                \$REPO_BASE = "pub";
                \$REPO_UMASK = 0007;
                \$RSYNC_BASE = "";
@@ -1129,7 +1129,7 @@ rule_runit_configure () {
                IFS= read -r sv_status_$sv_hash <<-EOF
                        $(sudo sv status "$sv")
                        EOF
-               rm -f /etc/service/"$sv"
+               sudo rm -f /etc/service/"$sv"
         done
        for sv in ${1-"$tool"/etc/sv/*}
         # NOTE: configure et (re-)démarre les services
@@ -1150,7 +1150,7 @@ rule_runit_configure () {
                 fi
                test ! -r "$tool"/etc/sv/"$sv"/configure.sh ||
                .         "$tool"/etc/sv/"$sv"/configure.sh
-               ln -fns ../sv/"$sv" /etc/service/"$sv"
+               sudo ln -fns ../sv/"$sv" /etc/service/"$sv"
                eval local sv_status=\"\${sv_status_$sv_hash-}\"
                case $sv_status in
                 ("") true;;