gitlab 配https_Omnibus-GitLab配置HTTPS

有一台空闲的服务器, 于是想着搭建一台GitLab玩一玩, 结果一看GitLab的官方安装步骤, 我和我的小伙伴们都惊呆了! 正准备放弃的时候, 结果从一个隐蔽的小角落里发现了一键安装包. 靠, 有一键你就早说!

GitLab Community Edition (CE) 俗称一键安装包: 下载页面

GitLab Community Edition (CE) 俗称一键安装包: 官方文档

这个文档已经写的非常简单了, 大体意思是你首先得有一台Linux服务器, Debian/Ubuntu or CenterOS. CenterOS我没用过, 这里只讲Debian/Ubuntu.

apt-get update & apt-get upgrade 首先升级系统到最新.

apt-get install openssh-server postfix postfix是用来Email给用户用的, 安装时选择默认选项, 之后输入你服务器绑定的域名.

下载安装包并拷贝到服务器.

dpkg -i gitlab_6.7.2-omnibus-1.ubuntu.12.04_amd64.deb 进行安装.

创建配置文件:

sudo mkdir -p /etc/gitlab

sudo touch /etc/gitlab/gitlab.rb

sudo chmod 600 /etc/gitlab/gitlab.rb

编辑配置文件, 加入一条域名配置external_url "http://hostname.com"

使用gitlab-ctl reconfigure命令载入&重新配置GitLab.

之后输入域名即可访问了, 真的只要6步, So easy. 默认用户名是root, 密码是5iveL!fe.

这个一键安装虽然很多部分都不是自定义配置, 但是作为自用玩儿来说是足够了. 但是虽然是自用玩儿, 咋也得来个HTTPS才能显得高端大气上档次! 前面的安装步骤我都是按照官方文档来的, 一点问题都没有, 顺利的都可以用HTTP访问使用了. 但是在开启HTTPS的时候官方文档就坑了, 按照官方文档开启HTTPS的步骤我在Debian 7, Ubuntu 12, Ubuntu 13全试过了, 都不行, 压根无法开启Nginx的HTTPS.

最后无奈之下我只能修改Nginx的配置了, 结果一下就行了, 坑爹阿.

建立SSL目录, 然后拷贝你的证书到SSL目录:

mkdir /etc/gitlab/ssl & chmod 700 /etc/gitlab/ssl

cp gitlab.hostname.com.crt gitlab.hostname.com.key /etc/gitlab/ssl/

编辑/etc/gitlab/gitlab.rb文件, 修改成:

external_url "https://hostname.com"

nginx['redirect_http_to_https'] = true

nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.hostname.com.crt"

nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.hostname.com.key"

之后使用gitlab-ctl reconfigure重建配置, 再修改Nginx配置文件/var/opt/gitlab/nginx/etc/gitlab-http.conf里的默认设置:

listen *:443 default_server;

ssl on;

ssl_certificate /etc/gitlab/ssl/gitlab.hostname.com.crt;

ssl_certificate_key /etc/gitlab/ssl/gitlab.hostname.com.key;

ssl_protocols SSLv3 TLSv1;

ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;

接着再创建一个/var/opt/gitlab/nginx/etc/index.conf文件用来HTTP跳转HTTPS:

server {

listen *:80;

server_name hostname.com;

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

}

最后修改/var/opt/gitlab/nginx/etc/nginx.conf配置文件, 在其中加入以下内容, 来载入index.conf:

include /var/opt/gitlab/nginx/etc/index.conf;

include /var/opt/gitlab/nginx/etc/gitlab-http.conf;

以上全部完成之后, 使用gitlab-ctl restart来重启所有服务, 即可使用HTTPS访问GitLab了.

PS: 注意在防火墙中开启SSH HTTP HTTPS and SMTP端口.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值