Gitlab搭建指南

1.本文目标

在centOS7系统上成功装上Gitlab

2.准备工作

  • 需要自己搭建CentOS7系统,不管是在服务器上还是自己开虚拟机
  • 如果自己开虚拟机,这里推荐virtualbox虚拟机,然后去centOS官网下载iso镜像
  • 安装Gitlab需要至少4GB的可用内存,由于操作系统和其他正在运行的应用也会使用内存, 所以安装GitLab前一定要注意当前服务器至少有4GB的可用内存,少于4GB内存会导致在reconfigure的时候出现各种诡异的问题, 而且在使用过程中也经常会出现500错误.

关闭防火墙

# systemctl stop firewalld

防止防火墙开机启动

# systemctl disable firewalld

用vi指令打开selinux文件并修改SELINUX=disabled

 # vi /etc/sysconfig/selinux
 ...
 SELINUX=disabled
 ...

重启系统

 # reboot

可以用下面的指令查看是否成功,如果显示 Disabled就成功了

# getenforce

3.Gitlab安装配置管理

1、安装Gitlab组件

# yum  install curl policycoreutils openssh-server openssh-clients postfix

2、 配置YUM仓库

# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

3、 启动postfix邮件服务

# systemctl start postfix 
# systemctl enable postfix

4、安装Gitlab-ce社区版本

# yum -y install gitlab-ce

4.Omnibus Gitlab等相关配置初始化并完成安装

1、创建本地私有秘钥


 # mkdir -p /etc/gitlab/ssl
 # openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048

2、使用刚才的私有密钥创建CSR证书


 # openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"

3、进入csr证书的安装项,需要填写一些信息,根据个人具体信息填写

country 输入 cn
province 输入 bj
city 输入 bj
organization name输入空格
organization unit name输入空格
common name输入域名 gitlab.example.com
Email地址输入[email protected]
证书密码输入123456
optional company name 直接回车

上面输入的域名 gitlab.example.com,效果就是http://gitlab.example.com
可以输入LL查看私有秘钥和csr证书否创建成功

4、使用私有密钥和CSR证书创建CRT签署证书


# openssl x509 -req -days 365 -in "/etc/gitlab/ssl/gitlab.example.com.csr" -signkey "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.crt"

5、创建pem证书


# openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048

6、更改所有证书的权限

# chmod 600 *

7、编辑Gitlab的配置文件
vi指令打开gitlab.rb文件并找到external_url这一行,把后面的http改成https

 vi /etc/gitlab/gitlab.rb

 external_url 'https://gitlab.example.com'

然后输入 /redirect_http_to_https 搜索,
找到nginx['redirect_http_to_https']改为true并且把最前面的注释打开,
ssl_certificate, ssl_certificate_key, 按照下面的改,
ssl_dhparam这一行,把nil替换成/etc/gitlab/ssl/dhparams.pem

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

8、初始化gitlab

# gitlab-ctl reconfigure

5.Nginx SSL代理服务配置

1、找到gitlab下面的nginx代理工具,去更改gitlab http 配置文件
vi指令打开gitlab.rb文件

vi /var/opt/gitlab/nginx/conf/gitlab-http.conf

搜索 /server_name,在这行下面添加一行,用来重定向http请求

server_name gitlab.example.com;

rewrite ^(.*)$ https://$host$1 permanent;

2、初始化Gitlab相关服务并完成安装

 # gitlab-ctl restart

修改本地host文件,将gitlab.example.com设置为服务器Ip
浏览器访问gitlab.example.com即可

6.注意事项

1、clone项目的时候,可以用http.sslverify=false,这个是为了避免本地证书无法进行克隆操作

# git -c http.sslverify=false clone https://gitlab.yadong.com/root/myfirstproject.git

2、执行 gitlab-ctl reconfigure 进行更新配置(只要修改了该文件,必须执行该命令才能生效)

3、执行 gitlab-ctl restart 重启服务

你可能感兴趣的:(Gitlab搭建指南)