傻瓜式搭建gitlab私服,跟着复制我的命令就完事了

一 、 环境

CentOS 7
没有环境的可使用virtualBox安装一个虚拟机
搭建私服前需要做以下操作:

#打开xshell,登陆到自己的主机上
ssh [email protected]
#关闭防火墙
systemctl stop firewalld
#禁止防火墙开机启动
systemctl disable firewalld
#关闭Linux强制访问控制安全策略
vim /etc/sysconfig/selinux
把 SELINUX=enforcing 修改为 SELINUX=disabled
#重启系统,使配置生效
reboot
#重启完成后,使用getenforce查看selinux策略是否被禁用(disabled为被禁用)
getenforce

二、搭建gitlab私服

1.安装

  • 安装gitlab的依赖包
yum install curl policycoreutils openssh-server openssh-clients postfix
  • 下载gitlab yum仓库源
 curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
  • 开启邮件服务
#启动邮件服务
systemctl start postfix
#设置为开启启动
systemctl enable postfix
  • 安装gitlab-ce社区版本
 yum -y install gitlab-ce

2.配置

  • 使用Openssl创建私有密钥
#创建ssl文件夹
mkdir -p /etc/gitlab/ssl
#生成密钥
openssl genrsa -out "/etc/gitlab/ssl/gitlab.example.com.key" 2048
  • 使用openssl生成csr证书
 openssl req -new -key "/etc/gitlab/ssl/gitlab.example.com.key" -out "/etc/gitlab/ssl/gitlab.example.com.csr"

并填写国家、城市、域名、邮箱、密码等信息:
在这里插入图片描述

  • 使用openssl生成crt证书
#x509为生成格式,-days 3650为证书有效期3650天
openssl x509 -req -days 3650 -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生成pem证书
openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
  • 到此,证书都创建完毕,出现下面的四个证书即都创建成功
[root@VM_0_11_centos ~]# cd /etc/gitlab/ssl/
[root@VM_0_11_centos ssl]# ll

在这里插入图片描述

  • 修改所有证书的权限为600
#进入ssl文件夹
cd /etc/gitlab/ssl/
#更改本文件夹下所有文件的权限
chmod 600 *

权限解释:linux规定数字 4 、2 和 1表示读、写、运行权限,即r=4,w=2,x=1,4 + 2 = 6表示可读写不可运行,同时linux将权限分为 拥有者 、群组 、其它组 三个权限,600中的6表示拥有者的权限,另外两个0表示拥有者 、群组的权限,更多权限解读如下:

-rw------- (600)      只有拥有者有读写权限。
-rw-r--r-- (644)      只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700)     只有拥有者有读、写、执行权限。
-rwxr-xr-x (755)    拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711)    拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666)   所有用户都有文件读、写权限。
-rwxrwxrwx (777)  所有用户都有读、写、执行权限。
  • 编辑gitlab.rb,将所有的证书配置到gitlab的配置文件中
vim /etc/gitlab/gitlab.rb

找到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配置
#如果不执行此命令,此时可能会卡住报错
systemctl restart gitlab-runsvdir
#初始化
gitlab-ctl reconfigure

出现Reconfigured就是正常初始化结束。
在这里插入图片描述

  • 修改gitlab的nginx的代理文件
 vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

找到server,在server_name下增加:rewrite ^(.*)$ https://$host$1 permanent;
在这里插入图片描述

  • 重启gitlab使Nginx配置生效
gitlab-ctl restart

当执行成功后会出现下面的信息,至此,gitlab已经安装完成了。
在这里插入图片描述

  • 最后一步,修改windows下的hosts文件
#添加gitlab服务所在主机的IP,并指定gitlab.example.com
192.168.1.1   gitlab.example.com
  • OK,终于可以访问了
    打开浏览器,输入gitlab.example.com
    打开后,会让你设置新的root的密码,设置成功后即可登录。
    在这里插入图片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章