注意
若服务器在公网环境,安装gitlab时,请务必修改内置的redis配置,访问ip改为localhost、设置密码,否则非常大的概率会被挖矿病毒攻击!!!
环境
腾讯云-轻量应用服务器 CentOS 7.6 64bit、gitlab-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 "服务名称",以上服务依赖腾讯云服务器已经默认安装,如未安装则看第二步;
2、若未安装,可使用命令
yum -y install 服务依赖名称,多个使用空格隔开 安装;
3、安装后,将 sshd、firewalld、postfix 设置开机启动,使用命令 systemctl enable 服务名称 逐个执行,再使用命令 systemctl start 服务名称 将服务逐个启动,最后逐个检查服务状态,使用命令 systemctl status 服务名称,如下图可看到sshd服务处于激活状态。
下载
清华源-GitLab社区版(推荐使用) mirrors.tuna.tsinghua.edu.cn/gitlab-ce/
官方RPM源(慢) packages.gitlab.com/gitlab/gitl…
进入目录下,找到要安装的版本(若要安装较新版本,直接划到底部),右击复制链接(或下载下来再上传到服务器),注意:CentOS 7对应el7,版本不同依赖的服务组件会存在差异,安装时会提示组件缺失,如下图一,并且安装缺失组件时也会提示找不到组件;
复制的链接:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.5.2-ce.0.el7.x86_64.rpm
使用wget命令下载rpm包到当前目录 wget 复制的链接,如下图:
安装
先将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,下图二为安装成功,
安装失败如何处理
第一次安装失败后,后续的安装无法正常进行,我的情况是:显示安装成功且速度很快,但在
/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,如下访问成功
注意事项
- 配置访问端口时,先查找下端口号有没被占用,使用命令
netstat -tunlp|grep 端口号,没有进程说明端口可用 - 修改配置文件后,
需要重新加载配置?(试过再更新),重启所有相关服务gitlab-ctl reconfigure,再gitlab-ctl restart - 如果是云服务器,比如我的是腾讯云服务器,配的端口号是8081,则需要配置安全访问规则,否则无法访问,如图:
- 服务器如果启用了防火墙,还需要配置内部访问规则,否则无法访问,使用命令新增防火墙规则
firewall-cmd --permanent --add-port=8081/tcp、刷新防护墙规则firewall-cmd --reload
相关命令
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 # 启用开机自启