傻瓜式搭建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的密碼,設置成功後即可登錄。
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章