准备环境
1、关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
2、selinux关闭
vi /etc/sysconfig/selinux
将SELINUX设置为disabled
3 安装源
1 yum install curl policycoreutils openssh-server openssh-clients postfixs
2 curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
4 启动邮件服务
1、systemctl start postfix
2、systemctl enable postfix
5 安装gitlab
yum -y install gitlab-ce
6 安装证书
mkdir -p /etc/gitlab/ssl
openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048
openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"
然后进入向导输入相关信息
image.png
openssl x509 -req -days 1000 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"
openssl dhparam -out "/etc/gitlab/ssl/dhparams.pem" 2048
7 修改证书权限
cd /etc/gitlab/ssl
chmod 600 *
8 编辑gitlab配置文件
vi /etc/gitlab/gitlab.rb
修改
external_url 'https://gitlab.example.com'
nginx['redirect_http_to_https']=true
#nginx['ssl_certificate']="/etc/gitlab/ssl/gitlab.example.com.crt"
#nginx['ssl_certificate_key']="/etc/gitlab/ssl/gitlab.example.com.key"
#nginx['ssl_dhparam']= /etc/gitlab/ssl/dhparams.pem
gitlab-ctl reconfigure
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
image.png
gitlab-ctl restart
更改仓库位置
默认时GitLab的仓库存储位置在“/var/opt/gitlab/git-data/repositories”,在实际生产环境中显然我们不会存储在这个位置,一般都会划分一个独立的分区来存储仓库的数据,我这里规划把数据存放在“/data/git-data”目录下。
root@test1:~/tools# mkdir -pv /data/git-data
mkdir: 已创建目录 "/data"
mkdir: 已创建目录 "/data/git-data"
root@test1:~/tools# vim /etc/gitlab/gitlab.rb
启用git_data_dirs参数,并修改如下:
git_data_dirs 路径 "/data/git-data"
image
git_data_dirs({
"default" => {
"path" => "/data/git-data",
"failure_count_threshold" => 10,
"failure_wait_time" => 30,
"failure_reset_time" => 1800,
"failure_timeout" => 30
}
})