gitlab在服务器上的安装与配置-自己搭建一个gitlab服务器

简介: gitlab在服务器上的安装与配置-自己搭建一个gitlab服务器

gitlab是一个基于Git实现的在线代码仓库托管软件,可以使用gitlab自己搭建一个类似于Github一样的系统,方便一个企业、组织或者学校内部进行开发学习等等。

今天我来分享一下,gitlab在服务器上的安装配置,以Debian为例。

1,安装gitlab

gitlab有ce和ee两个版本,分别是免费的社区版和有付费功能的企业版,平时小型组织使用社区版即可,今天也以安装社区版为例。

首先安装依赖:

sudo apt install curl openssh-server ca-certificates perl postfix

安装过程中会显示postfix的配置界面:

网络异常,图片无法展示
|

这里选择Internet Site,确定,下一个填写mail name,自行起一个就行:

网络异常,图片无法展示
|

然后添加gitlab的仓库:

curl-sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudobash

然后安装gitlab-ce:

sudo apt install gitlab-ce

其安装包非常大,可能要很长时间。等待安装完成即可!

2,配置gitlab

找到/etc/gitlab/gitlab.rb,这个就是gitlab的配置文件,使用文本编辑器打开,我们只需修改一些常用配置即可。

里面很多配置都是默认被开头的#注释掉了,记得先去掉开头的#(去掉注释)再配置值。

(1) 访问地址配置

在配置文件中找到external_url这一项,将其改为你的服务器访问域名或者是ip地址,如果不想使用标准端口还可以设置为别的端口(例如xx.com:2122),内网服务器一般设置为内网地址:

网络异常,图片无法展示
|

如果你的地址是https的,还需要配置ssl证书,准备好一个有效的crt证书,然后修改以下配置项:

nginx['enable'] =truenginx['redirect_http_to_https'] =truenginx['redirect_http_to_https_port'] =80nginx['ssl_certificate'] ="crt证书位置"nginx['ssl_certificate_key'] ="证书密钥位置"

如果说你的证书是用Let's Encrypt生成的pem格式,可以用下列命令转换为crtkey

# 将证书pem文件转换为crt文件openssl x509 -in"证书pem文件路径"-out"输出crt文件路径"# 将证书私钥pem文件转换为key文件openssl rsa -in"私钥pem文件路径"-out"输出key文件路径"

Let's Encrypt生成的证书在/etc/letsencrypt/live/你的域名目录下:

网络异常,图片无法展示
|

(2) 权限配置

默认gitlab的普通用户也可以创建组,不过一般这个需要关掉,找到gitlab_rails['gitlab_default_can_create_group']将其配置为false:

网络异常,图片无法展示
|

(3) 邮箱配置

首先要准备一个邮箱,163、qq的都行,并开启smtp服务。

然后找到以下配置值并配置为如下:

gitlab_rails['smtp_enable'] =truegitlab_rails['smtp_address'] ="smtp服务器地址"gitlab_rails['smtp_port'] =465gitlab_rails['smtp_user_name'] ="你的邮箱"gitlab_rails['smtp_password'] ="授权码"gitlab_rails['smtp_domain'] ="smtp服务器地址"gitlab_rails['smtp_authentication'] ="login"gitlab_rails['smtp_enable_starttls_auto'] =truegitlab_rails['smtp_tls'] =truegitlab_rails['smtp_pool'] =falsegitlab_rails['gitlab_email_from'] ='你的邮箱'gitlab_rails['gitlab_email_display_name'] ='发件人显示名'

需要注意的是,gitlab_rails['gitlab_email_from']这一项也一定要配置为你的邮箱地址,然后现在基本上都使用465端口发送邮件,因此gitlab_rails['smtp_tls']一定要是true

网络异常,图片无法展示
|

网络异常,图片无法展示
|

(4) 代码存放位置配置

找到git_data_dirs,把其中的path改为自定义值:

网络异常,图片无法展示
|

没有特殊需要这个可以不配置。

(5) 备份设置

找到以下配置并配置如下:

gitlab_rails['manage_backup_path'] =truegitlab_rails['backup_path'] ="备份位置"gitlab_rails['backup_keep_time'] =604800

上述gitlab_rails['backup_keep_time']表示备份保留时长。

备份设置没有特殊需要也可以不用修改。

最后执行命令重载配置:

sudo gitlab-ctl reconfigure

然后,gitlab服务端就启动了!

gitlab服务端常用命令:

# 启动服务端sudo gitlab-ctl start# 停止服务端sudo gitlab-ctl stop# 重启服务端sudo gitlab-ctl restart# 重载配置sudo gitlab-ctl reconfigure
# 查看状态sudo gitlab-ctl status

3,访问并登录管理员账户

启动完成之后,就可以访问服务器地址,登录了。

管理员账户名默认为root,密码可以在/etc/gitlab/initial_root_password文件中找到:

网络异常,图片无法展示
|

登录后记得修改管理员密码。

4,备份与恢复

我们可以手动创建备份:

sudo gitlab-rake gitlab:backup:create

由上述配置可知,备份文件默认在/var/opt/gitlab/backups目录下。

备份的文件为一个tar文件。

恢复则使用下列命令:

sudo gitlab-rake gitlab:backup:restore BACKUP=备份编号

可以在备份目录查看自己的备份文件,如果备份文件名为:1632904480_2021_09_29_14.3.0_gitlab_backup.tar,那么备份编号就是1632904480_2021_09_29_14.3.0

注意,备份和恢复时,必须保证gitlab是正在运行状态,并且备份文件必须和版本匹配,如果低版本备份文件恢复到高版本是不行的。

并且/etc/gitlab目录下的gitlab.rbgitlab-secrets.json这两个文件是不会被备份的,需要手动复制出来,最后放回去。

5,更新

先开始安装时已经在系统加入了gitlab软件源了,后续gitlab如果需要更新,执行apt updateapt full-upgrade即可更新。

需要注意的是,更新时必须保证gitlab服务器是启动状态,否则可能失败。

如果仍然更新失败,可能是版本跨太多了,可以先使用apt list -a gitlab命令查看gitlab的版本,然后一级一级地向上更新。

安装指定版本软件:

sudo apt install 软件名=版本号

6,总结

至此基本安装配置就完成了,下面给出一些参考地址:

相关文章
|
8天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
154 78
|
29天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
168 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
2月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
159 61
|
19天前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
2月前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
54 2
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
69 6
|
2月前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
243 4
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
86 4
|
3月前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
79 5
Linux系统之安装Ward服务器监控工具