aboutsummaryrefslogtreecommitdiff
path: root/pages/logs/cgit-nginx-ubuntu/cgit-nginx-ubuntu.md
diff options
context:
space:
mode:
authorflu0r1ne <flu0r1ne@flu0r1ne.net>2021-07-21 03:59:15 -0500
committerflu0r1ne <flu0r1ne@flu0r1ne.net>2021-07-21 03:59:15 -0500
commit437268370661087dbe31323efb18dfe1a518da33 (patch)
treecffc95cc50da55eced9ed1e3b68502c68f01ca19 /pages/logs/cgit-nginx-ubuntu/cgit-nginx-ubuntu.md
parent51967b62cd274b10326a604d4db670e9e89f8fd5 (diff)
downloadhomepage-437268370661087dbe31323efb18dfe1a518da33.tar.xz
homepage-437268370661087dbe31323efb18dfe1a518da33.zip
Dynamic markdown page generation with preloading
Diffstat (limited to 'pages/logs/cgit-nginx-ubuntu/cgit-nginx-ubuntu.md')
-rw-r--r--pages/logs/cgit-nginx-ubuntu/cgit-nginx-ubuntu.md96
1 files changed, 0 insertions, 96 deletions
diff --git a/pages/logs/cgit-nginx-ubuntu/cgit-nginx-ubuntu.md b/pages/logs/cgit-nginx-ubuntu/cgit-nginx-ubuntu.md
deleted file mode 100644
index c225bd4..0000000
--- a/pages/logs/cgit-nginx-ubuntu/cgit-nginx-ubuntu.md
+++ /dev/null
@@ -1,96 +0,0 @@
-Installing cGit behind NGINX on Ubuntu
-======================================
-
-[cGit](https://git.zx2c4.com/cgit/about/) is a fast web interface based on the CGI specification. It is lightweight and doesn't require a database or web authentication system.
-
-It's easy to configure. For some reason, all the online guides for Ubuntu decided they needed to compile it from scratch and write their own start scripts in a mix of perl and bash. You don't need superhero sysadmin skills from the late 90s. All components are packaged with systemd units... there is a better way...
-
-### 1. Install `cgit` and `fcgiwrap`.
-
-`fcgiwrap` will create a socket NGINX can use to pass the CGI variables to cGit:
-```
-sudo apt install fcgiwrap
-sudo apt install cgit
-```
-
-### 2. Modify the `cgitrc` file under `/etc/cgitrc` to your liking:
-```
-# See cgitrc(5)
-# prepend this string to every url
-virtual-root=/
-enable-index-links=1
-enable-commit-graph=1
-
-root-title=My Git Repos
-root-desc=I exclusivly write code in Smalltalk-71
-logo=/assets/my_custom_logo.png
-
-# Add site-specific configuration
-# ...
-
-```
-
-### 3. Optionally create an assets directory and add your custom logo / css:
-```
-mkdir /var/www/html/assets
-cp my_custom_logo.png /var/www/html/assets
-```
-
-### 4. Configure NGINX
-
-Add the site to NGINX. This launches the `cgit.cgi` executable passing it to the `fcgiwrap` socket:
-```conf
-echo >/etc/nginx/sites-available/cgit.conf <<EOF
-server {
- listen 80;
-
- server_name git.domain.com;
- server_name www.git.domain.com;
-
- root /usr/share/cgit;
-
- # Maintainer overridden assets will live in /assets
- # This allows you to change add a custom logo or modified CSS
- # See cgitrc(5)
- location ~* /assets {
- root /var/www/html;
- expires 30d;
- }
-
- # Fallback to static assets included by cGit
- location ~* ^.+\.(css|png|ico)$ {
- root /usr/share/cgit;
- expires 30d;
- }
-
- try_files $uri @cgit;
-
- location @cgit {
- fastcgi_param SCRIPT_FILENAME /usr/lib/cgit/cgit.cgi;
- fastcgi_param PATH_INFO $uri;
- fastcgi_param QUERY_STRING $args;
- fastcgi_param HTTP_HOST $server_name;
- fastcgi_pass unix:/run/fcgiwrap.socket;
- }
-
- access_log /var/log/nginx/access.log;
- error_log /var/log/nginx/error.log warn;
-}
-EOF
-```
-
-### 4. Enable the site:
-```bash
-ln -s /etc/nginx/sites-available/git.conf /etc/nginx/sites-enabled/cgit.conf
-```
-
-Note: all files in sites-enabled should be included in `nginx.conf`'s http section:
-```conf
-include /etc/nginx/sites-enabled/*;
-```
-
-### 5. Restart NGINX
-
-```
-sudo systemctl restart nginx
-```