home · contact · privacy
GitWeb / git server setup.
[config] / buster / etc_files / website / etc / nginx / sites-available / website.nginx
diff --git a/buster/etc_files/website/etc/nginx/sites-available/website.nginx b/buster/etc_files/website/etc/nginx/sites-available/website.nginx
new file mode 100644 (file)
index 0000000..05c9a4b
--- /dev/null
@@ -0,0 +1,31 @@
+server {
+    listen 443 ssl;
+    server_name REPLACE_fqdn_ECALPER;
+    ssl_certificate /etc/letsencrypt/live/REPLACE_fqdn_ECALPER/fullchain.pem;
+    ssl_certificate_key /etc/letsencrypt/live/REPLACE_fqdn_ECALPER/privkey.pem;
+    root /var/www/html/;
+    index index.html index.htm index.nginx-debian.html;
+
+    # serve /var/repos/* for HTTPS git cloning
+    location ~ /repos/clone(/.*) {
+        include fastcgi_params;
+        fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
+        # fastcgi_param GIT_HTTP_EXPORT_ALL "";
+        fastcgi_param GIT_PROJECT_ROOT /var/repos;
+        fastcgi_param PATH_INFO $1;
+        fastcgi_pass unix:/var/run/fcgiwrap.socket;
+    }
+
+    # gitweb static files
+    location /repos/static/ {
+        alias /usr/share/gitweb/static/;
+    }
+
+    # gitweb; this needs packages fcgiwrap and gitweb
+    location /repos/ {
+        include fastcgi_params;
+        fastcgi_param SCRIPT_FILENAME /usr/share/gitweb/gitweb.cgi;
+        fastcgi_param GITWEB_CONFIG /etc/gitweb.conf;
+        fastcgi_pass unix:/var/run/fcgiwrap.socket;
+    }
+}