安装前建议
在安装、配置环境前,建议执行 sudo yum update
更新软件包
安装宝塔面板
对于宝塔面板,个人觉得相对外国面板简单、易用,官方各种发行版一键安装,相信和我一样 Linux 菜鸟也是能够快速上手。
由于宝塔面板安装极其简单,这里就不演示了,请移步官网查阅更多信息以及安装教程。
宝塔面板官方网址:https://www.bt.cn/
安装 nginx
前面我们已经安装了宝塔面板,接下来我们需要安装 nginx 作为反向代理服务器,虽然 GitLab 官方包已经自带 nginx,但是并不能方便我们使用宝塔进行管理,所以我们需要安装 GitLab 后停用自带 nginx。
宝塔面板安装软件非常容易,只需要登陆到面板后台,点击左侧菜单的「软件管理」,选择安装 nginx,或者在第一次进入面板的时候进行安装(建议安装 nginx 最新版本)。
安装 GitLab-CE
GitLab 分为 CE 社区版和 EE 商业版,商业版有官方的服务支持,所以并不会在这里进行讨论。
GitLab 建议使用 Omnibus 进行安装,这里也比较推荐,因为后续升级也方便,如果你比较爱折腾,可以选择编译安装,还可以自己下载 rpm 包进行手动安装。
GitLab 官方教程默认安装的是 EE 商业版,所以我们需要稍微改动一下,只需要将所有命令中的 gitlab-ee
改为 gitlab-ce
即可顺利安装 GitLab-CE 社区版。
由于安装过程如同宝塔面板一样轻松便捷,所以这里就不具体展示。
GitLab EE 安装教程:https://about.gitlab.com/installation/#centos-7
修改 GitLab-CE 配置文件
前面我们已经通过 Omnibus 安装了 GitLab-CE 社区版,接下来我们需要再进行一些配置工作,使其能够达到我们预期的运行状态。
停用自带 nginx
GitLab 自带 nginx,虽然可以和宝塔面板的 nginx 一起运行,但是我们没有必要运行两个 nginx,而对于服务器来说,可能我们还需要在上面运行其它站点,既然安装了宝塔面板,就是希望便捷管理服务器,所以我们应该使用后者来作为 GitLab 的前端。
使用 vim 或 vi 打开 GitLab 配置文件
sudo vim /etc/gitlab/gitlab.rb
找到以下两个配置项目
# nginx['enable'] = true
# web_server['external_users'] = ['gitlab-www']
分别修改为
nginx['enable'] = false # 停用自带 nginx
web_server['external_users'] = ['www'] # 宝塔面板的 nginx 以 www 用户运行,需要允许该用户访问
至此停用自带 nginx 已经完成。
其它一些修改
如果你已将作为 git 服务的域名已经完成了 SSL 签名,那么可以将
external_url 'http://youdomain.com'
修改为
external_url 'https://youdomain.com'
GitLab 支持 HTTP/HTTPS 或者 SSH 进行拉取或者提交,默认的 SSH 链接域名为 external_url
中的域名,可以通过修改 gitlab_rails['gitlab_ssh_host']
实现个性化 SSH 地址。
作为外国产品,我们可能还需要修改一下默认时区
gitlab_rails['time_zone'] = 'PRC' # 设置为北京时间
找回密码、邮箱验证等邮件发件人是 [email protected]
?也是可以自定义的,通过修改 gitlab_rails['gitlab_email_from']
实现。
使修改后的配置文件生效
简单的修改了 GitLab 的配置文件,但是我们还需要执行一条命令使得这些配置生效
gitlab-ctl reconfigure
少数情况下可能还需要执行一次重启 GitLab 服务的命令
gitlab-ctl restart
配置 nginx 反向代理
上面我们已经停用了 GitLab 自带 nginx 服务,但是还需要配置宝塔面板的 nginx 才可以使用 Web 进行访问。
使用宝塔添加网站
在宝塔面板的左侧菜单中点击「网站」,再点击「添加网站」,输入你的 git 服务域名,然后点保存。
这里建议「FTP、数据库和 PHP 版本」分别设置为「不创建、不创建和纯静态」,然后我们需要修改该站点的配置文件,以便 nginx 能够正常连接到 GitLab。
宝塔面板的 nginx 配置文件我们可以参考 GitLab 生成的 nginx 配置文件
cd /var/opt/gitlab/nginx/conf
如果找不到配置文件,那么可以去备份目录找找看
cd /opt/gitlab/embedded/cookbooks/cache/backup/var/opt/gitlab/nginx/conf
gitlab-ctl
生成的配置文件已经有详细说明,将大部分内容复制并且粘贴到宝塔面板的 nginx 站点配置文件即可,仅有有少数地方需要修改。
如果提示未定义 $connection_upgrade 之类的错误,请将下面代码粘贴到站点配置文件顶部。
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
到这里,我们的前端也配置完成
更新 GitLab
如果你是通过 Omnibus 进行安装,则在终端执行 yum update -y gitlab-ce
即可完成更新,其它方式请自己查阅官方文档。
结束
由于该文章是在我搭建好环境后创建,所以没有搭配图片,并且大部分步骤是根据之前搭建过程写出来,并没有进行实际操作,可能会有意想不到的事情发生,请自行解决,所以该篇文章仅仅作为搭建的备忘录,不作为教程文章。
“CentOS 7 安装宝塔面板以及 GitLab-CE”上的2条回复
我看完文章还没有完全理解,请问是不是安装了gitlab之后仍然能够并行 入宝塔进行域名解析的管理??我现在的问题是安装gitlab后不能用域名访问。
宝塔的 Nginx 和 GitLab 的 Nginx 两个是可以一起运行,你可以直接宝塔的 Nginx 反代理到 GitLab 的 Nginx。