因为 Github 被收购,跟风创建了个 Gitlab 账号却完全不知道怎么用。翻阅了一些博客之后大概懂了一点,现在分享一下搭建思路。
前期准备
- 关闭 Selinux(属于不是非常了解Selinux的无奈之举)
- 关闭防火墙(Firewalld,Iptables)或开放相应端口
安装 Omnibus Gitlab-ce Package
- 安装 Gitlab 的必要组件 ( Curl, Policycoreutils, Openssh-server, Openssh-clients, Postfix)
- 配置提供 Gitlab 的 YUM 仓库
- 启用 Postfix 邮件服务
- 安装 Gitlab-ce
Omnibus Gitlab 配置初始化
配置思路
- 创建安全证书与配置私有密钥加载
- 配置 Nginx 使其支持 SSL
- 初始化 Gitlab
具体方法
创建自签名证书
- 创建 Private Key
- 生成 Certificate Request
- 移除Private Key 中的密码短语
- 创建证书
- 移除证书请求文件
- 设置文件权限
# openssl genrsa -des3 -out /etc/gitlab/ssl/gitlab.domain.com.key 2048
# openssl req -new -key /etc/gitlab/ssl/gitlab.domain.com.key -out /etc/gitlab/ssl/gitlab.domain.com.csr
# cp -v /etc/gitlab/ssl/gitlab.domain.com.{key,original}
# openssl rsa -in /etc/gitlab/ssl/gitlab.domain.com.original -out /etc/gitlab/ssl/gitlab.domain.com.key
# rm -v /etc/gitlab/ssl/gitlab.domain.com.original
# openssl x509 -req -days 1460 -in /etc/gitlab/ssl/gitlab.domain.com.csr -signkey /etc/gitlab/ssl/gitlab.domain.com.key -out /etc/gitlab/ssl/gitlab.domain.com.crt
# rm -v /etc/gitlab/ssl/gitlab.domain.com.csr
# chmod 600 /etc/gitlab/ssl/gitlab.domain.com.*
Gitlab 配置更改
- 开启 Https 外部链接
- 将 Http 重定向为 Https
- 在持续交付中启用 Https
- 复制证书到 Gitlab 目录
#! /etc/gitlab/gitlab.rb
external_url 'https://gitlab.domain.com'
...
nginx['redirect_http_to_https'] = true
...
ci_nginx['redirect_http_to_https'] = true
# cp /etc/gitlab/ssl/etc/gitlab/ssl/gitlab.domain.com.crt /etc/gitlab/trusted-certs/
常用操作
- 重新加载配置
# gitlab-ctl reconfigure
- 重启
# gitlab-ctl restart
- 关闭本地 SSL 认证
# git config --global http.sslVerify false
参考资料
评论
发表评论