Gitlab 安装,配置HTTPS证书、配置SMTP

 

Gitlab 安装,配置HTTPS证书、配置SMTP

 Linux应用  Mr.c  3年前 (2017-05-14)  8795℃  0评论

  GitHub 大家应该非常的熟悉了,目前非常有名的代码托管网站,但是GitHub 毕竟是国外的,国内不管是提交还是拖代码经常出错,并且需要创建私有库是需要付费的。
  企业里面代码托管是必不可少的,如果单纯的安装一个Git仓库服务,那是非常简单的,详情请看:
《Centos 搭建Git服务器》 
  Git服务没有管理界面,对于ssh公钥的添加,版本库的增加都需要上服务器进行操作,这是很繁琐的,正好就有一个类似于GitHub的开源系统GitLab 满足大家的需求。
  GitLab 是基于Ruby语言开发的,另外用了redis 和postgresql 数据库,手动安装非常的麻烦,官方提供了一键安装包: https://www.gitlab.com.cn/downloads/#centos7
  GitLab 服务较多,如果是正式的使用建议至少要4G内存以上服务器进行安装。
系统版本:CentOS Linux release 7.3.1611 (Core)

一:安装GitLab服务

  官方安装默认会安装postfix 作为邮件服务发送注册用户通知等使用,但是这样很容易被拦截,而且很多IDC服务商已经封锁了25端口,无法直接通过postfix发信,所以这里采用SMTP方式配置邮件。
1.安装系统依赖

 
  1. [root@gitlab ~] yum -y install curl policycoreutils openssh-server openssh-clients

  由于个人还是习惯iptables 防火墙,所以安装iptables ,并放行SSH服务22端口,80端口和443端口,详情请看 《Centos 7 启用iptables》 
2.运行安装GitLab 源

 
  1. [root@gitlab ~] curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
  2. [root@gitlab ~] yum -y install gitlab-ce

3.初始化GitLab服务

 
  1. [root@gitlab ~] gitlab-ctl reconfigure

  这里执行命令后会进行系统初始化,初始化完成后gitlab服务就已经完成了,如果没有特殊需求就已经可以使用了。默认GitLab 是安装到/opt/gitlab 目录,配置文件在/etc/gitlab/下

二:配置HTTPS证书

  现在国内很多IDC 服务商都代理了赛门铁克的免费SSL证书,这里就不介绍了,可以看下该博文 《免费申请阿里云DV SSL证书》 去阿里云或者腾讯云去申请。
1.创建证书存放目录,并放入证书。

 
  1. [root@gitlab gitlab] cd /etc/gitlab/
  2. [root@gitlab gitlab] mkdir ssl
  3. [root@gitlab gitlab] ll ssl/
  4. total 16
  5. -rw-r--r-- 1 root root 1679 May 9 10:27 gitlab.key
  6. -rw-r--r-- 1 root root 3900 May 9 10:27 gitlab.pem

2.修改配置文件/etc/gitlab/gitlab.rb

 
  1. [root@gitlab gitlab] vim /etc/gitlab/gitlab.rb
 
  1. external_url 'https://mygit.cnyunwei.cc' #这里就填写您申请的gitlab证书域名地址
  2. nginx['redirect_http_to_https']=true
  3. nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.pem"
  4. nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"

更新Gitlab配置:

 
  1. [root@gitlab ~] gitlab-ctl reconfigure

3.修改nginx 配置文件
  这里建议直接修改原配置文件端口,并开启ssl

 
  1. [root@gitlab gitlab] vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
 
  1. server {
  2. listen *:443 ssl http2;
  3. server_name mygit.cnyunwei.cc;
  4. server_tokens off;
  5. client_max_body_size 0;
  6. ssl on;
  7. ssl_certificate /etc/gitlab/ssl/gitlab.pem;
  8. ssl_certificate_key /etc/gitlab/ssl/gitlab.key;
  9. ............................. #剩余的信息省略了
  10. }
  11.  
  12. server{
  13. listen*:80;
  14. server_name mygit.cnyunwei.cc;
  15. rewrite^(.*)$https://$host$1permanent;
  16. }

重启GitLab:

 
  1. [root@gitlab ~] gitlab-ctl restart

  注意防火墙记得添加放行443端口,然后就可以访问配置的域名进行测试了。

三:配置SMTP发送邮件

  官方已经给出了详细配置方法了 https://docs.gitlab.com.cn/omnibus/settings/smtp.html#smtp-settings 
  目前大部分IDC 都封了25端口,需要配置465加密端口才可以发送邮件,这也是为什么不用postfix的原因,以下为阿里云企业邮配置(和腾讯企业邮相同):

 
  1. gitlab_rails['smtp_enable'] = true
  2. gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
  3. gitlab_rails['smtp_port'] = 465
  4. gitlab_rails['smtp_user_name'] = "[email protected]"
  5. gitlab_rails['smtp_password'] = "ABcd123456"
  6. gitlab_rails['smtp_authentication'] = "login"
  7. gitlab_rails['smtp_enable_starttls_auto'] = true
  8. gitlab_rails['smtp_tls'] = true
  9. gitlab_rails['gitlab_email_from'] = '[email protected]'

重新载入配置文件:

 
  1. [root@gitlab ~] gitlab-ctl restart

官方给出了一个测试方法,登录到console 控制台进行测试。

 
  1. [root@gitlab ~] gitlab-rails console
  2. irb(main):003:0> Notify.test_email('[email protected]', 'Test Page', 'This is test mail').deliver_now
  3. #Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

  如果发送失败建议先通过postfix 等邮件客户端工具配置该发信邮箱测试是否能够通过SMTP方式发送邮件,另外smtp地址如果已经额外加了解析为自己的smtp.cnyunwei.cc 等方式,也建议直接配置为企业邮箱提供的smtp地址。

转载请注明:菜鸟运维 » Gitlab 安装,配置HTTPS证书、配置SMTP

 

你可能感兴趣的:(版本控制)