Centos7安装GitLab
服务器配置一定不低于4G内存,4个CPU内核,否则GitLab安装过程或者启动过程,会出现各种问题,切记!
1. 安装ssh和python依赖
- 执行安装命令:
sudo yum install -y curl policycoreutils-pythonopenssh-server
- 执行设置ssh开机启动命令:
sudo systemctl enable sshd
- 执行安装命令:
sudo yum install -y curl policycoreutils-python
2. 安装防火墙
-
安装命令:
yum install firewalld systemd -y
-
启动防火墙命令:
service firewalld start
-
添加http服务到firewalld,pemmanent表示永久生效,若不加–permanent系统下次启动后就会失效。
sudo firewall-cmd --permanent --add-service=http
-
重启防火墙命令:sudo systemctl reload firewalld
3. 安装Postfix
-
安装Postfix,执行命令:
sudo yum install postfix
-
将postfix服务设置成开机自启动,执行命令:
sudo systemctl enable postfix
-
启动postfix,执行命令:
sudo systemctl start postfix
在安装Postfix期间,可能会出现配置屏幕。选择“Internet Site”并按enter键。使用您的服务器的外部DNS以“mail name”并按enter。如果出现额外的屏幕,继续按enter键接受默认值。
4. 安装GitLab
-
下载GitLab , 浏览器打开网址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
选择最新版本差不多700M大小,进行下载,使用wget命令下载超慢。
-
我选择下载的是
gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm
,将下载的安装包gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm
上传到服务器/opt目录下。 -
执行安装命令:
rpm -i gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm
, 需要1-3分钟才可完成安装,如下图代表安装成功: -
安装成功以后,修改gitlab配置文件指定服务器ip和自定义端口:
vim /etc/gitlab/gitlab.rb
修改
external_url
对应的IP+端口号,如下标红内容。
-
重新编译gitlab.rb文件:
gitlab-ctl reconfigure
重启命令:
gitlab-ctl restart
查看启动日志:
sudo gitlab-ctl tail
5. 开放GitLab端口
-
输入命令查看防火墙的状态:
firewall-cmd --state
-
如果防火墙没有开启,开启命令:
systemctl start firewalld.service
-
开放80端口 :
firewall-cmd --zone=public --add-port=80/tcp --permanent
–zone=public:表示作用域为公共的;
–add-port=80/tcp:添加tcp协议的端口80;
–permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效;
-
输入命令重启防火墙
systemctl restart firewalld.service
5. 访问GitLab
如果没有域名,直接输入服务器ip和指定端口进行访问 , 第一个打开有可能提示 502
, 多刷新几次就可以正常打开。初次强制修改密码,初始账号:root
6. 更改GitLab仓库存储位置
默认时GitLab的仓库存储位置在/var/opt/gitlab/git-data/repositories
,在实际生产环境中显然我们不会存储在这个位置,一般都会划分一个独立的分区来存储仓库的数据,我这里规划把数据存放在/data/git-data
目录下。
创建仓库存储文件夹:mkdir -p /data/git-data
编辑GitLab
配置文件:vim /etc/gitlab/gitlab.rb
git_data_dirs({
"default" => {
"path" => "/data/git-data",
"failure_count_threshold" => 10,
"failure_wait_time" => 30,
"failure_reset_time" => 1800,
"failure_timeout" => 30
}
})
重新编译gitlab.rb
文件,执行
gitlab-ctl reconfigure
gitlab-ctl restart
使用做的修改生效 , 重新编辑后,GitLab
在仓库目录会自动创建一个repositories
文件
7. 常见错误
-
浏览器访问502错误
8080端口被
tomcat
占用,netstat -ntpl
查看端口占用情况,如果已经被占用,可以修改下unicorn
的默认端口,vim /etc/gitlab/gitlab.rb
配置文件 , 新增一项nicorn['port']=8102
保存退出配置文件。
重新编译gitlab.rb
文件,执行gitlab-ctl reconfigure
gitlab-ctl restart