我已经设置并配置gitolite并希望为其配置cgitWeb界面.
使用cgit我浏览目录时收到错误:
找不到存储库
创建新存储库时,gitolite会/home/git/repositories自动为其创建相应的目录.cgit被configuered读取使用这些存储库:
project-list=/home/git/projects.list
scan-path=/home/git/repositories
Run Code Online (Sandbox Code Playgroud)
问题是这些存储库似乎不是裸存储库.如果我改为使用手动克隆其中一个存储库
git clone --bare user@server:repo
Run Code Online (Sandbox Code Playgroud)
它似乎工作.每次签入新的存储库时,我都不想手动执行此操作.为什么gitolite 裸存储库已经创建了?我该如何自动化?
我想在启动cgit的cgi后向cgit引入访问控制.我们的想法是列出gitolite中可用的所有repos,但是根据用户身份验证启用/禁用目录列表.
在apache执行cgit cgi之前,我设法获得了访问控制:
AllowOverride None
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /var/lib/git_alfonso/passwords
Options +ExecCGI
Order allow,deny
Allow from all
Run Code Online (Sandbox Code Playgroud)
Alias /cgit.png /var/www/htdocs/cgit/cgit.png
Alias /cgit.css /var/www/htdocs/cgit/cgit.css
ScriptAlias /cgit "/var/www/htdocs/cgit/cgit.cgi"
RewriteRule ^$ / [R]
RewriteRule ^/(.*)$ /cgit.cgi/$1****
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何在访问存储库路径时获得相同的效果,我尝试使用目录指令并在那里添加身份验证但是一旦启动了cgit,apache就不会应用http.conf文件中声明的任何其他指令.
关于如何实现它的任何线索?
非常感谢提前.
Br Alfonso.