CentOS 7安装GitLab

591 阅读3分钟

注意

若服务器在公网环境,安装gitlab时,请务必修改内置的redis配置,访问ip改为localhost设置密码,否则非常大的概率会被挖矿病毒攻击!!!

环境

腾讯云-轻量应用服务器 CentOS 7.6 64bitgitlab-ce-14.5.2-ce.0.el7.x86_64.rpm

检查/安装本地服务组件

  • policycoreutils、policycoreutils-python
  • openssh-server、openssh-clients
  • 防火墙(firewalld)
  • postfix,用于GitLab的邮件通知功能
  • wget,用于下载公网资源
  • curl,可选安装

1、使用命令模糊搜索本地已安装服务 yum list installed | grep "服务名称",以上服务依赖腾讯云服务器已经默认安装,如未安装则看第二步; image.png 2、若未安装,可使用命令 yum -y install 服务依赖名称,多个使用空格隔开 安装;
3、安装后,将 sshdfirewalldpostfix 设置开机启动,使用命令 systemctl enable 服务名称 逐个执行,再使用命令 systemctl start 服务名称 将服务逐个启动,最后逐个检查服务状态,使用命令 systemctl status 服务名称,如下图可看到sshd服务处于激活状态。 image.png

下载

清华源-GitLab社区版(推荐使用) mirrors.tuna.tsinghua.edu.cn/gitlab-ce/
官方RPM源(慢) packages.gitlab.com/gitlab/gitl…

进入目录下,找到要安装的版本(若要安装较新版本,直接划到底部),右击复制链接(或下载下来再上传到服务器),注意:CentOS 7对应el7,版本不同依赖的服务组件会存在差异,安装时会提示组件缺失,如下图一,并且安装缺失组件时也会提示找不到组件

image.png image.png 复制的链接:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.5.2-ce.0.el7.x86_64.rpm
使用wget命令下载rpm包到当前目录 wget 复制的链接,如下图: image.png

安装

官网教程 about.gitlab.com/install/#ce…

先将rpm包移至目标安装目录(指定目录安装rpm包时【rpm -ivh --prefix=/opt/gitlab gitlab-ce-14.5.2-ce.0.el7.x86_64.rpm】会失败,如下图一),使用命令安装rpm包 rpm -ivh gitlab-ce-14.5.2-ce.0.el7.x86_64.rpm下图二为安装成功, image.png image.png

安装失败如何处理

第一次安装失败后,后续的安装无法正常进行,我的情况是:显示安装成功且速度很快,但在 /etc/gitlab 目录找不到 gitlab.rb 配置文件,且无法运行相关命令 使用如下命令完全卸载:

# rpm安装的,就用rpm卸载gitlab-ce相关的包
rpm -e gitlab-ce
# 找到gitlab相关的运行程序,使用kill -9杀死,我这边没有就没有走继续下去
ps aux | grep gitlab
……
# 后续可参考下方的参考链接

配置

修改配置文件,跳转到 /etc/gitlab 目录,编辑配置文件 vim gitlab.rb,键入 i 进入输入模式, 配置访问路径:external_url http://ip:port,配好后键入 ESC:wq!保存退出,最后,加载配置 gitlab-ctl reconfigure,第一次时间会比较长,运行 gitlab-ctl restart 启动。

访问

初始账号名 root,初始密码存储文件位置 /etc/gitlab/initial_root_password,如下访问成功 image.png

注意事项

  • 配置访问端口时,先查找下端口号有没被占用,使用命令 netstat -tunlp|grep 端口号,没有进程说明端口可用
  • 修改配置文件后,需要重新加载配置 gitlab-ctl reconfigure,再?(试过再更新),重启所有相关服务 gitlab-ctl restart
  • 如果是云服务器,比如我的是腾讯云服务器,配的端口号是8081,则需要配置安全访问规则,否则无法访问,如图: image.png
  • 服务器如果启用了防火墙,还需要配置内部访问规则,否则无法访问,使用命令新增防火墙规则 firewall-cmd --permanent --add-port=8081/tcp、刷新防护墙规则 firewall-cmd --reload image.png

相关命令

gitlab-ctl start          # 启动所有 gitlab 组件
gitlab-ctl stop           # 停止所有 gitlab 组件
gitlab-ctl restart        # 重启所有 gitlab 组件
gitlab-ctl status         # 查看服务状态
gitlab-ctl reconfigure    # 加载配置信息
gitlab-ctl show-config    # 验证配置文件
gitlab-ctl tail           # 查看日志
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab
systemctl disable gitlab-runsvdir.service    # 禁止开机自启,默认是开机自启的
enable gitlab-runsvdir.service    # 启用开机自启

参考链接