如何搭建自己的gitlab服务器

这里使用Termus工具连接服务器,然后根据步骤走即可!

安装

1.配置yum源安装gitlab

sh 复制代码
vim /etc/yum.repos.d/gitlab-ce.repo

修改或新增下面配置并保存

sh 复制代码
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

2.更新本地缓存

sh 复制代码
sudo yum makecache

然后执行安装命令

sh 复制代码
sudo yum install -y gitlab-ce  #自动安装最新版本
# 若需安装指定版本,则添加版本号即可,即yum install gitlab-ce-x.x.x

3.修改配置

sh 复制代码
vim /etc/gitlab/gitlab.rb
# 修改IP和端口,将external_url的值修改即可
# 格式:external_url 'http://ip:端口'
external_url 'https://10.0.21.125:443' # 这里使用https需要配置ssl证书

4.启动gitlab服务

sh 复制代码
sudo gitlab-ctl start

5.防火墙开启端口

sh 复制代码
# 开放上面配置的external_url中的 443端口 
firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重启防火墙
firewall-cmd --reload

gitlab常用的一些命令

sh 复制代码
gitlab-ctl help  # 命令帮助
gitlab-ctl reconfigure # 重新配置
gitlab-ctl show-config # 显示配置
gitlab-ctl uninstall # 卸载
gitlab-ctl kill # 杀服务
gitlab-ctl restart # 重启服务
gitlab-ctl service-list # 服务清单
gitlab-ctl start # 启动服务
gitlab-ctl status # 查看状态
gitlab-ctl stop # 停止服务
gitlab-ctl tail # 查看所有启动服务的服务日志

如何修改默认储存目录

1.停止gitlab服务

sh 复制代码
gitlab-ctl stop 

2.新建新的储存目录

sh 复制代码
# gitlab默认的存储目录是 /var/opt/gitlab/git-data/
mkdir -p /home/data/gitlab-data

3.修改配置文件(找到 git_data_dirs 参数对应的配置)

sh 复制代码
vim /etc/gitlab/gitlab.rb
# 修改git_data_dirs的path值
git_data_dirs({
"default" => {
"path" => "/home/data/git-data"
}
})

4.迁移代码库

sh 复制代码
 rsync -av /var/opt/gitlab/git-data/repositories /home/data/gitlab-data/

5.重启配置

sh 复制代码
sudo gitlab-ctl reconfigure

6.启动gitlab

sh 复制代码
sudo gitlab-ctl start

管理员登录

在初始化配置时,已经有提示给我们密码,如果没有记住的话可以执行下面命令查看初始密码

sh 复制代码
vi /etc/gitlab/initial_root_password

首次登录通过"Edit Profile>Password"修改密码

公网IP启用https

1.生成ssl证书和私钥

sh 复制代码
mkdir /etc/gitlab/ssl

chmod 700 /etc/gitlab/ssl/ -R

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/gitlab/ssl/server.key -out /etc/gitlab/ssl/server.crt

参数说明:

  • openssl:这是用于创建和管理OpenSSL证书,密钥和其他文件的基本命令行工具。
  • req -x509:这指定我们要使用X.509证书签名请求(CSR)管理。"X.509"是SSL和TLS坚持用于密钥和证书管理的公钥基础结构标准。
  • -nodes:这告诉OpenSSL跳过用密码保护我们的证书的选项。当服务器启动时,我们需要Apache能够读取文件,而无需用户干预。密码可以防止这种情况发生,因为每次重新启动后我们都必须输入密码。
  • 第365天:此选项设置证书被视为有效的时间长度。我们在这里定了一年。
  • -newkey rsa:2048:这指定我们要同时生成一个新的证书和一个新的密钥。我们没有在上一步创建签名证书所需的密钥,所以我们需要与证书一起创建证书。该rsa:2048部分告诉它做一个2048位长的RSA密钥。
  • -keyout:这一行告诉OpenSSL在哪里放置我们正在创建的私有密钥文件。
  • -out:这告诉OpenSSL在哪里放置我们正在创建的证书。

2.修改配置文件:vim /etc/gitlab/gitlab.rb

sh 复制代码
external_url 'https://10.0.21.125:443'    #启用https,默认是http

nginx['enable'] = true
nginx['redirect_http_to_https'] = true    #http重定向到https

nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"   #ssl证书路径
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"  #ssl秘钥路径

修改完配置文件需要重启配置

shell 复制代码
gitlab-ctl reconfigure
gitlab-crl restart
相关推荐
TheBestRucy2 分钟前
基于Dify的旅游攻略&王者荣耀攻略智能助手项目
服务器·开发语言·人工智能·python·算法·旅游
zfoo-framework14 分钟前
安装pi agent 支持duojie和deepseek
java·服务器·前端
梅菲塔亚24 分钟前
Keepalived高可用全解析
linux·运维·服务器·开发语言·网络·php
.柒宇.1 小时前
运维常见面试题_04_Nginx与DNS服务
运维·nginx·面试·dns
15Moonlight1 小时前
Linux系统(02):基础开发工具
linux·运维·服务器
沪上企服通1 小时前
当 RPA 遇见企服:合规链路自动化的技术演进与五类市场样本观察
运维·自动化·rpa
hxhy001 小时前
服务器挖矿排查与清理
运维·服务器
lightqjx1 小时前
VS Code连接Linux远端服务器的方法
linux·服务器·vs code
琥珀色糖2 小时前
Linux GDB调试
linux·运维·服务器·gdb·调试
NGINX开源社区2 小时前
NGINX Ingress Controller 5.5:安全性与性能提升,迁移更轻松
java·服务器·nginx