# gitlab部署文档 **Published by:** [Mongo](https://paragraph.com/@mongo/) **Published on:** 2021-11-22 **URL:** https://paragraph.com/@mongo/gitlab ## Content gitlab部署文档配置环境: Ubuntu 20.04 安装包版本:gitlab-ce_13.8.4 arm64 文件系统: linux ext4目录确认配置在线安装离线安装修改配置运行安全配置-与letsencrypt配合续签配置使用客户端连接常用操作用户管理确认配置内存小于4G将无法完成安装FAT文件系统不允许创建符号连接,会导致安装失败在线安装到gitlab官网下载安装合适的版本,本文使用的是Ubuntu 20.04,从官网得知这个版本的代号是“focal”访问 https://packages.gitlab.com/gitlab/gitlab-ce选择 ubuntu/focal选择需要安装的版本,例如 gitlab-ce_13.8.4-ce.0_arm64.deb跳转的页面上有安装教程,首先下载安装脚本 curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash然后执行安装 sudo apt-get install gitlab-ce=13.8.4-ce.0安装完成离线安装将 ./gitlab-ce_13.8.5-ce.0_amd64.deb 上传到服务器;也可以从这里下载 https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_13.8.5-ce.0_amd64.deb/download.deb安装 dpkg -i gitlab-ce_13.8.5-ce.0_amd64.deb修改配置安装完成后,程序输出了一个配置文件地址 /etc/gitlab/gitlab.rb , 将里面的访问地址external_url修改为需要用的 external_url 'http://yourdomain.com' 运行执行 sudo gitlab-ctl reconfigure访问前面配置的 external_url地址,看到已经可以访问控制台,初步配置完成安全配置-与letsencrypt配合参考:gitlab官方文档编辑配置文件 vi /etc/gitlab/gitlab.rb设置letsencrypt['enable'] = true # 开启letsencrypt external_url "https://yourdomain.com" # 设置为你的域名 (https) 然后运行sudo gitlab-ctl reconfigure重新加载配置,即可自动申请获得ssl证书 注意:letsencrypt不支持支持自定义端口,所以我们就用默认的443端口,在配置时需要暂时开放80和443端口,允许letsencrypt访问,才能完成自动配置 配置完成后,由于不再进行http连接,80端口可以永久关闭,但443端口还要在续签的时候开放续签配置编辑配置文件 vi /etc/gitlab/gitlab.rb设置letsencrypt['auto_renew'] = true # 打开自动续签 letsencrypt['auto_renew_hour'] = "12" letsencrypt['auto_renew_minute'] = "30" letsencrypt['auto_renew_day_of_month'] = "*/7" letsencrypt['auto_renew_log_directory'] = '/opt/software/gitlab' #指定一个存在的目录,用来放续签日志 然后运行sudo gitlab-ctl reconfigure sudo gitlab-ctl renew-le-certs 这样程序就会周期性地检查是否需要续签,在证书过期前30天,自动完成续签,注意,续签时需要开放443端口让letsencrypt访问使用客户端连接下载git客户端 https://git-scm.com/downloads常用操作修改配置后的初始化gitlab-ctl reconfigure 启动sudo systemctl start gitlab-runsvdir sudo gitlab-ctl start 停止 sudo gitlab-ctl stop 重启 sudo gitlab-ctl restart 开机启动 systemctl enable gitlab-runsvdir.service 禁止开机自启动 systemctl disable gitlab-runsvdir.service 备份和恢复 Gitlab备份、迁移、恢复和升级用户管理Gitlab管理用户、组、权限Gitlab用户注册及管理 ## Publication Information - [Mongo](https://paragraph.com/@mongo/): Publication homepage - [All Posts](https://paragraph.com/@mongo/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@mongo): Subscribe to updates