我有一台带有Centos 7的DigitalOcean水滴,但我无法在我的水滴上看到我的回购。
我有一个用户git
,在相应的主文件夹中,我有文件夹" projects":/home/git/projects
在该文件夹中是使用以下内容初始化的测试仓库:git init --bare
这是我的gitweb.conf
$projectroot = "/home/git/projects";
$git_temp = "/tmp";
$home_link = $my_uri || "/";
$home_text = "indextext.html";
$projects_list = $projectroot;
这里是我的sites-availables文件:
server {
listen 80;
server_name git.apselom.com;
access_log /var/log/nginx/git.apselom.com.access_log main;
error_log /var/log/nginx/git.apselom.com.error_log info;
location /gitweb.cgi {
root /var/www/git/;
include fastcgi_params;
gzip off;
fastcgi_param SCRIPT_NAME $uri;
fastcgi_param GITWEB_CONFIG /etc/gitweb.conf;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
location / {
root /var/www/git/;
index gitweb.cgi;
}
}
有了这些,我只收到错误:404 - No projects found
。
答案 0 :(得分:0)
我怀疑问题是您的网络服务器正在运行,因为无法访问您的git存储库。
奇怪的是你说你使用的是CentOS 7,但是CentOS 7附带了Apache httpd,你看起来像Lighttpd配置。 CentOS的iperf
软件包附带一个Apache配置文件,因此使用它基本上是:
安装软件包:
gitweb
创建yum install gitweb httpd
用户并确保git
用户能够访问内容:
apache
编辑# useradd -c 'git user' git
# usermod -a -G git apache
# su - git <<EOF
mkdir projects
git init --bare projects/project1
git init --bare projects/project2
EOF
# chmod -R g+rwX /home/git
以指向项目目录:
/etc/gitweb.conf
启动网络服务器:
our $projectroot = "/home/git/projects";
你很高兴:
systemctl enable httpd
systemctl start httpd
但关键部分是确保您的Web服务器对$ links http://localhost/git/
[...]
Project Description Owner Last Change
project1 Unnamed repository; edit this... git user No commits summary | shortlog | log |
tree
project2 Unnamed repository; edit this... git user No commits summary | shortlog | log |
tree
目录具有适当的权限。如果您没有使用Apache,请找出您的Web服务器正在使用的用户,然后将其替换为上面的内容。
答案 1 :(得分:0)
您可以轻松地将apache添加到git组。
usermod -a -G git apache