centos7搭建gitlab服务器
1,关闭防火墙.
systemctl stop firewalld
2,防止防火墙开机启动.
systemctl disable firewalld
3 用vi指令打开selinux文件并修改SELINUX=disabled
vi /etc/sysconfig/selinux
SELINUX=disabled
4,重启系统.
reboot
5. 可以用下面的指令查看是否成功,如果显示 Disabled就成功了
getenforce
6,安装Gitlab组件
yum install curl policycoreutils openssh-server openssh-clients postfix
7,配置YUM仓库
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/ script.rpm.sh | sudo bash
8,启动postfix邮件服务
systemctl start postfix
systemctl enable postfix
9,安装Gitlab-ce社区版本
yum -y install gitlab-ce
10, Omnibus Gitlab等相关配置初始化并完成安装
创建本地私有秘钥
mkdir -p /etc/gitlab/ssl
openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048
11,使用刚才的私有密钥创建CSR证书
openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"
12,进入csr证书的安装项,需要填写一些信息,根据个人具体信息填写
country 输入 cn
province 输入 bj
city 输入 bj
organization name输入空格
organization unit name输入空格
common name输入域名 gitlab.example.com
Email地址输入admin@example.com
证书密码输入123456
optional company name 直接回车
13. 上面输入的域名 gitlab.example.com,效果就是http://gitlab.example.com
可以输入LL查看私有秘钥和csr证书否创建成功
14. 使用私有密钥和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"
15, 创建pem证书
openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
16. 更改所有证书的权限
chmod 600 *
17 编辑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
18. 初始化gitlab
gitlab-ctl reconfigure
19. Nginx SSL代理服务配置,找到gitlab下面的nginx代理工具,去更改gitlab http 配置文件
vi指令打开gitlab.rb文件
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
搜索 /server_name,在这行下面添加一行,用来重定向http请求
erver_name gitlab.example.com;
rewrite ^(.*)$ https://$host$1 permanent;
20,初始化Gitlab相关服务并完成安装
gitlab-ctl restart
21,修改本地host文件,将gitlab.example.com设置为服务器Ip
浏览器访问gitlab.example.com即可
22, clone项目的时候,可以用http.sslverify=false,这个是为了避免本地证书无法进行克隆操作
23,执行 gitlab-ctl reconfigure 进行更新配置(只要修改了该文件,必须执行该命令才能生效)
24,执行 gitlab-ctl restart 重启服务