如何搭建自己的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
相关推荐
HIT_Weston14 小时前
93、【Ubuntu】【Hugo】搭建私人博客:面包屑(一)
linux·运维·ubuntu
cuijiecheng201815 小时前
Linux下Beyond Compare过期
linux·运维·服务器
喵叔哟15 小时前
20.部署与运维
运维·docker·容器·.net
HIT_Weston15 小时前
92、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(六)
linux·运维·ubuntu
CodeAllen嵌入式15 小时前
Windows 11 本地安装 WSL 支持 Ubuntu 24.04 完整指南
linux·运维·ubuntu
期待のcode15 小时前
前后端分离项目 Springboot+vue 在云服务器上的部署
服务器·vue.js·spring boot
AI 智能服务16 小时前
第6课__本地工具调用(文件操作)
服务器·人工智能·windows·php
松涛和鸣18 小时前
49、智能电源箱项目技术栈解析
服务器·c语言·开发语言·http·html·php
凉、介18 小时前
SylixOS 中的 Unix Socket
服务器·c语言·笔记·学习·嵌入式·sylixos
RisunJan19 小时前
Linux命令-ipcs命令(报告进程间通信(IPC)设施状态的实用工具)
linux·运维·服务器