CentOS7 安装宝塔面板以及 GitLab-CE

本贴最后更新于 2148 天前,其中的信息可能已经时移世易

安装前建议

在安装、配置环境前,建议执行 yum update 更新软件包

[root@10-9-104-120 ~]# yum update

安装宝塔面板

对于宝塔面板,个人觉得相对外国面板简单、易用,官方各种发行版一键安装,相信和我一样 Linux 菜鸟也是能够快速上手。
由于宝塔面板安装极其简单,这里就不演示了,请移步官网查阅更多信息以及安装教程。
宝塔面板官方网址:https://www.bt.cn/

安装 nginx

前面我们已经安装了宝塔面板,接下来我们需要安装 nginx 作为反向代理服务器,虽然 GitLab 官方包已经自带 nginx,但是并不能方便我们使用宝塔进行管理,所以我们需要安装 GitLab 后停用自带 nginx。
宝塔面板安装软件非常容易,只需要登陆到面板后台,点击左侧菜单的「软件管理」,选择安装 nginx,或者在第一次进入面板的时候进行安装(建议安装 nginx 1.12)。

安装 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 配置文件 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 用户运行,需要允许该用户访问
如果你已将作为 git 服务的域名已经完成了 SSL 签名,那么可以将
external_url = 'http://youdomain.com'
修改为
external_url = 'https://youdomain.com'

[root@10-9-104-120 ~]# vim /etc/gitlab/gitlab.rb

  external_url = 'https://youdomain.com'
  nginx['enable'] = false
  web_server['external_users'] = ['www']

至此停用自带 nginx 已经完成。

其它一些修改

GitLab 支持 HTTP/HTTPS 或者 SSH 进行拉取或者提交,默认的 SSH 链接域名为 external_url 中的域名,可以通过修改 gitlab_rails['gitlab_ssh_host'] 实现个性化 SSH 地址。
作为外国产品,我们可能还需要修改一下默认时区,可以通过修改 gitlab_rails['time_zone'] = 'PRC' 设置为北京时间。
找回密码、邮箱验证等邮件发件人是 gitlab@youdomain.com?也是可以自定义的,通过修改 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;
}
到这里,我们的前端也配置完成

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3453 回帖 • 203 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...