这个东西安装其实挺简单的,但是因为我这边迁移了数据目录和使用自己安装的 nginx 代理还是踩了几个坑,所以大家可以注意下
先看下安装
# 先安装必要组件
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata perl
# 添加gitlab官方仓库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
# 3. 安装 GitLab,设置 external_url(这里临时设置,后面再改,当然你也可以直接设置成自己的域名)
sudo EXTERNAL_URL="http://localhost" apt install -y gitlab-ce
正常情况上面其实就安装好了,但是因为我的服务器系统盘内存不大,然后挂载了一个数据盘,所以这里将 GitLab 项目数据目录迁移到挂载的数据盘 /data 目录下
# 先停止服务
sudo gitlab-ctl stop
# 在data下面创建目录并将数据拷贝过去
sudo mkdir -p /data/gitlab
sudo rsync -a /var/opt/gitlab/ /data/gitlab/
# 创建软连接
sudo mv /var/opt/gitlab /var/opt/gitlab.bak
sudo ln -s /data/gitlab /var/opt/gitlab
# 设置权限
sudo chown -R git:git /data/gitlab
sudo chmod -R 700 /data/gitlab
接着我们再去配置域名,我们打开下面的文件
sudo vi /etc/gitlab/gitlab.rb
找到 external_url 配置,就在三十行左右,换成自己的域名

改好了保存,然后执行下面的命令
sudo gitlab-ctl reconfigure
我这里因为自己也安装了 nginx,然后 gitlab 本身自带的也有 nginx ,一开始我害怕两个会冲突所以改了很多地方的配置,导致访问不了,或者能访问但是页面看不到样式等问题,其实不用改其它配置,自带的 nginx 是不会和你安装的 nginx 冲突的,完全就是我想太多了
所以我们自己的nginx按下面的常规配置就可以了
# HTTP 访问(80端口)配置
server {
listen 80;
server_name git.sakura.com;
# 如果你希望 http 自动跳转到 https,可以开启这个:
return 301 https://$host$request_uri;
}
# HTTPS 访问(443端口)配置
server {
listen 443 ssl;
server_name git.sakura.com;
ssl_certificate /usr/local/nginx/conf/ssl/sakura.com.pem;
ssl_certificate_key /usr/local/nginx/conf/ssl/sakura.com.key;
# 这里 proxy_set_header X-Forwarded-Proto 建议用 https,代表原始请求是 HTTPS
location / {
proxy_pass https://git.sakura.com;
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 X-Forwarded-Proto https;
Ubuntu部署私有Gitlab踩坑记录

最低0.47元/天 解锁文章
1336

被折叠的 条评论
为什么被折叠?



