GitList Installation 

  • Download GitList from https://github.com/patrikx3/gitlist/releases and decompress to your /var/www/gitlist folder, or anywhere else you want to place GitList.
  • Rename the config.example.ini-example file to config.ini.
  • Open up the config.ini and configure your installation. You'll have to provide where your repositories are located and the base GitList URL.
  • Create the cache folder and give read/write permissions to your web server user:
cd /var/www/gitlist
mkdir -p cache
chmod 777 cache

That's it, installation complete!

Webserver configuration 

Apache is the "default" webserver for GitList. You will find the configuration inside the .htaccess file. However, nginx and lighttpd are also supported.

To make it to be more secure: All PHP files will be in the root and only index.php, images, icons, svg, css, jsbundle files will be in the public subdir.

nginx server.conf 

server {
    server_name MYSERVER;
    access_log /var/log/nginx/MYSERVER.access.log combined;
    error_log /var/log/nginx/MYSERVER.error.log error;

    root /var/www/DIR/public;
    index index.php;

#   auth_basic "Restricted";
#   auth_basic_user_file .htpasswd;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;

    location ~* ^/index.php.*$ {
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        # if you're using php7.2-fpm via socket
        fastcgi_pass unix:/var/run/php7.2-fpm.sock;

        include snippets/fastcgi-php.conf;;

    location ~ \.php$ {
        include      snippets/fastcgi-php.conf;
        fastcgi_pass $php_listener;

    location ~ /\.ht {
     deny all;

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    add_header Vary "Accept-Encoding";
        expires max;
        try_files $uri @gitlist;
        tcp_nodelay off;
        tcp_nopush on;

#   location ~* \.(git|svn|patch|htaccess|log|route|plist|inc|json|pl|po|sh|ini|sample|kdev4)$ {
#       deny all;
#   }



I do not use lighthttpd, but you know what I mean. Make sure only, the gitlist/public folder should be enabled.

# GitList is located in /var/www/gitlist/
server.document-root        = "/var/www"

url.rewrite-once = (
    "^/gitlist/web/.+" => "$0",
    "^/gitlist/favicon\.ico$" => "$0",
    "^/gitlist(/[^\?]*)(\?.*)?" => "/gitlist/index.php$1$2"


I do not use hiawatha, but you know what I mean. Make sure only, the gitlist/public folder should be enabled.

UrlToolkit {
    ToolkitID = gitlist
    RequestURI isfile Return
    # If you have example.com/gitlist/ ; Otherwise remove "/gitlist" below
    Match ^/gitlist/.* Rewrite /gitlist/index.php
    Match ^/gitlist/.*\.ini DenyAccess
p3x Spawn
onenoteGithub onenoteredis-uiGithub redis-uiangular-compileGithub angular-compileramdiskGithub ramdiskgitlistGithub gitlistfreenomGithub freenomopenwrt-insomniaGithub openwrt-insomniadocker-debian-testing-mongodb-stableGithub docker-debian-testing-mongodb-stableopenwrt-redisGithub openwrt-redisaes-folderGithub aes-foldercorifeus-app-web-pagesGithub corifeus-app-web-pagescorifeusGithub corifeuscorifeus-web-materialGithub corifeus-web-materialhtml-pdfGithub html-pdfredis-ui-serverGithub redis-ui-serversystemd-managerGithub systemd-managerverdaccio-cliGithub verdaccio-cligrunt-p3x-expressGithub grunt-p3x-expresscorifeus-app-server-patrikx3Github corifeus-app-server-patrikx3corifeus-builder-angularGithub corifeus-builder-angularcorifeus-serverGithub corifeus-servercorifeus-utilsGithub corifeus-utilscorifeus-builderGithub corifeus-builderfortune-cookieGithub fortune-cookiecorifeus-webGithub corifeus-webplay-ai-uiGithub play-ai-uiredis-ui-materialGithub redis-ui-materialtoolsGithub tools
  Bugs are evident™ - MATRIX