默认的nginx和fcgiwrap启动用户都是www-data,而我本地文件管理都是root建立的,因此需要把这两个的启动用户都改成root,这样做在生产环境是不安全的,本地随便搞
fcgiwrap 的配置文件有两处,第一处是/etc/init.d/fcgiwrap,还有一处要看 service fcgiwrap status
里面展示的文件路径,修改之后需要systemctl daemon-reload
1. 安装软件:
apt-get install -y nginx apache2-utils fcgiwrap
- nginx
- apache工具,用于生成http连接的密码
- fcgiwrap,用于身份验证之后提供git连接
2. 生成http的帐号密码
touch /cwg_wd/run/nginx-git-passwd
htpasswd /cwg_wd/run/nginx-git-passwd cwg
3. 配置nginx,这一段需要查看加在nginx配置文件的server段
location ~ /git-repo(/.*) {
auth_basic "Restricted";
# 认证的用户文件
auth_basic_user_file /cwg_wd/run/nginx-git-passwd;
# FastCGI 参数
fastcgi_pass unix:/var/run/fcgiwrap.socket;
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
fastcgi_param GIT_HTTP_EXPORT_ALL "";
# git 库在服务器上的根目录
fastcgi_param GIT_PROJECT_ROOT /cwg_wd/git-repo;
fastcgi_param PATH_INFO $1;
# 将认证用户信息传递给 fastcgi 程序
fastcgi_param REMOTE_USER $remote_user;
# 包涵默认的 fastcgi 参数;
include fastcgi_params;
# 将允许客户端 post 的最大值调整为 100 兆
client_max_body_size 100M;
}
4. 重启nginx服务
nginx -s reload
5. 测试
git clone http://192.168.1.4/git-repo/xx.git
相关文档
暂无
随便看看
畅言模块加载中