我尝试过多次使用 apache2 配置 cgit 但都失败了。以下是我的配置:
apache2 配置:
<VirtualHost *80:>
DocumentRoot /var/www/htdocs/cgit
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/home/git/repositories">
AllowOverride None
Options +ExecCGI
DirectoryIndex /cgi-bin/cgit.cgi
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/htdocs/cgit">
AllowOverride None
Options +ExecCGI
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
cgit /etc/cgitrc:
# cgit configuration
virtual-root=/git/
enable-index-links=1
enable-log-filecount=1
enable-log-linecount=1
snapshot=tar.gz zip
logo=/cgit/cgit.png
css=/cgit/cgit.css
# repositories
repo.url=blc
repo.path=/home/git/repositories/testing.git
并且cgit的安装采用默认配置,即docroot在/var/www/htdocs/cgit
,可执行cgi在下/usr/lib/cgi-bin/
。
但是当我尝试访问时,http://localhost/git
总是出现以下情况:The requested URL /git was not found on this server.
那么我错在哪里了?谢谢你的帮助!
答案1
你在 apache2 中启用了 cgi 吗?在 xenial 中,默认情况下它未启用。
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/cgi.load cgi.load
Ubuntu 的 cgit 包对我有用