LNMP环境中使用Docker安装配置GitLab教程

前言

本文将介绍在CentOS已部署LNMP环境下,使用Docker安装GitLab,并配置SSL证书HTTPS访问.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

前提环境

  • Linux服务器一台,本文以CentOS7为例.
  • LNMP环境,很多需要安装GitLab的服务器都已经安装过LNMP环境.
  • Docker环境

安装GitLab

SSH登录服务器并拉取镜像

LNMP环境中使用Docker安装配置GitLab教程
启动容器

  • hostname:指定容器绑定域名,请提前规划好.
  • publish:为容器内80/443/22/映射到服务器81/444/23/端口
  • name:容器名
  • volume:挂载数据卷,容器内部数据映射到外部存储空间.
  • 84a0020a3b4b:拉取下来的GitLab官方镜像ID
容器外部存储空间 容器内部存储空间 用途
/srv/gitlab/config /etc/gitlab 存储GitLab配置文件
/srv/gitlab/logs /var/log/gitlab 存储日志
/srv/gitlab/data /var/opt/gitlab 存储应用数据

查看已启动的容器信息

3403243795

配置SMTP

提前准备好SMTP服务器信息,本文以阿里云企业邮箱为例.

配置SMTP邮件服务器

进入容器内部

编辑gitlab.rb配置文件

在配置文件中内加入以下代码

  • gitlab_rails[‘smtp_address’]:为SMTP服务器地址
  • gitlab_rails[‘smtp_port’]:为SMTP服务器端口
  • gitlab_rails[‘smtp_user_name’]:用户名即你的邮箱地址
  • gitlab_rails[‘smtp_password’]:邮箱密码
  • gitlab_rails[‘smtp_domain’]:你的邮箱域名
  • gitlab_rails[‘smtp_tls’]:你的加密协议
  • gitlab_rails[‘gitlab_email_from’]:发件人邮件,同用户名邮件地址

2427123615
重新加载GitLab配置

测试邮件发送

测试成功
3930720949

配置Web

部分GitLab安装在已经存在LNMP环境的服务器中,Nginx占用了80/443端口,需要配置Nginx反向代理来使用域名访问GitLab.
建议使用80和443两种方式中的一种.

配置80端口

如需配置443端口HTTPS协议,请跳过本章,查看下一章.

配置Nginx

编辑Nginx配置文件,添加以下配置.

检查并重启Nginx

  • 检查Nginx配置无误
  • 重启Nginx
  • 使用域名访问GitLab

2744740063

配置443端口

如需配置80端口HTTP协议,请跳过本章,查看上一章.

准备证书

准备好域名的SSL证书,并重命名为域名形式,方便识别:

gitlab.ioiox.com.crt
gitlab.ioiox.com.key

GitLab默认证书路径为容器内的`/etc/gitlab/ssl
启动容器命令中挂载的外部路径为 /srv/gitlab/config/
我们在 /srv/gitlab/confg/中创建 ssl文件夹,并将2个证书文件拷贝至此.
3292308687

配置gitlab.rb

进入容器内部

编辑gitlab.rb配置文件

在配置文件中加入以下代码

由于是容器配置文件,注意证书路径需使用内部路径,external_url指向HTTPS的域名,并开启强制跳转HTTPS.

1660967514
重新加载gitlab配置

配置Nginx

编辑Nginx配置文件,添加以下配置.

注意Nginx的证书配置路径应为容器外的外部地址.同时配置80端口HTTP强制跳转到443端口HTTPS.

检查并重启Nginx

  • 检查Nginx配置无误
  • 重启Nginx
  • 使用域名访问GitLab强制跳转到HTTPS安全链接

1571744143


结语

关于GitLab更多使用技巧请参考以下链接:

GitLab官方文档


本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享