gitblit其实挺好用的,就是功能有点少。升级到gitlab玩玩。
Gitlab<-点击进入
安装方法
去官网gitlab参考安装命令,主要安装命令就两条
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee
等待完成安装。
开始配置
打开文件/etc/gitlab/gitlab.rb
修改大概32行的 external_url,将来所有链接都会基于这个地址生成。
配置SMTP,用来发送邮件的,要注意的是下方发件人和发件人名要填好才能正常工作。
配置默认的主题配色,主要用来配合自己的LOGO。
配置仓库的保存路径,(配置这个主要是为了方便备份)如果不配置默认路径是/var/opt/gitlab/git-data/repositories
就配置这么多差不多能用了。
ssh 进入服务器输入指令 sudo gitlab-ctl reconfigure
使得配置生效。
如果服务器没其他网站服务的话应该就能直接用了。
我的服务器安装了宝塔又用宝塔安装了Nginx,这就和gitlab自带的Nginx冲突了。
解决冲突
打开/var/opt/gitlab/nginx/conf/gitlab-http.conf
将80和443端口改成其他的
ssh 输入指令sudo gitlab-ctl restart
重启Gitlab。
在防火墙放行刚刚输入的端口,不同系统各不相同,宝塔比较方便可以直接添加端口
到了这里已经可以通过网址加端口的方式访问自己的gitlab。
优雅的访问Gitlab
网址带端口,一般强迫症根本受不了。
在宝塔以external_url的链接创建一个网站并配置好ssl
配置反向代理,改好目标地址。
参考:
#PROXY-START/
location /
{
proxy_pass https://192.168.2.75:50443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_buffering off;
proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
#Set Nginx Cache
add_header Cache-Control no-cache;
}
#PROXY-END/
完成
到这里就可以通过你的域名进入你的Gitlab了。
初始账号是root,密码保存在/etc/gitlab/initial_root_password
这个文件会在24小时后自动删除,所以要及时改密码。
2022-3-25更新
发现一个BUG,新用户注册完第一次登陆会强制302到一个页面,自定义LOGO后这个LOGO也会被302。这就导致logo无法显示,虽然影响不大,还是稍微解决一下
用了一个蠢办法解决,利用Nginx的url重写功能,把logo的url重写成外链
打开/var/opt/gitlab/nginx/conf/gitlab-http.conf
重写两个logo
rewrite /uploads/-/system/appearance/header_logo/1/logo.png https://wnfed.com/usr/uploads/2022/03/3006266426.png last;
rewrite /uploads/-/system/appearance/favicon/1/gitblt-favicon.png https://wnfed.com/usr/uploads/2022/03/2796746191.png last;
搞定
3 条评论
原来如此
冒昧问一句,这个git私服是在云服务器上还是自己家里的服务器上,如果是云服务器后期迁移是不是有些麻烦啊
在自家服务器,即使在云上迁移也不麻烦,设置好仓库的保存路径,就可以一次性打包走