Centos6 64位下搭建GitLab

之前我的一篇文章已经叙述过为什么选择了GitLab,下面来说一下GitLab在Centos6下的安装过程

一、开始之前

1)选择什么方式安装?

官方提供两种安装方式选择:

  • 编译源码安装
  • 官方推荐的一键安装包,提供了deb、rpm打包的一键安装包。包含了GitLab所依赖的各个软件,更多详情请查看GitLab官网https://www.gitlab.cc/downloads/
    (源码安装部分软件因为GFW的原因,无法下载。所以暂时选择官方推荐的一键安装方式)
2)选择什么版本安装?
  • GitLab分为社区版(GitLab Community Edition)和企业版(GitLab Enterprise Edition)。社区版免费,企业版收费,但是功能比社区版多。根据目前的需求,选择安装社区版(GitLab-CE)。
  • 如果对于每个版本的异同没什么特殊要求,就不用管了,直接选择最新的 stable 版就好了(目前选择是8.17.2版本)

二、安装步骤

1)系统环境
  • 服务器:本地局域网服务器
  • 操作系统:Centos6 64位
2)安装过程
  • 关闭selinux
# 修改vi /etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled ,然后重启电脑
# sestatus -v 查看selinux状态
  • 安装配置依赖项
    如想使用Postfix来发送邮件,在安装期间请选择'Internet Site'. 您也可以用sendmai或者 配置SMTP服务使用SMTP发送邮件.
    在 Centos 6 和 7 系统上, 下面的命令将在系统防火墙里面开放HTTP和SSH端口.
sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh
  • 添加GitLab仓库,并安装到服务器上
curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bashsudo yum install gitlab-ce
curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-XXX.rpm
rpm -i gitlab-ce-XXX.rpm
  • 设置smtp发送邮件服务
    • Omnibus 包配置
      通过修改/etc/gitlab/gitlab.rb来设置邮件功能
# 通过SMTP来发送邮件
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25 
# 邮箱账号
gitlab_rails['smtp_user_name'] = "xxuser@163.com" 
# 邮箱密码
gitlab_rails['smtp_password'] = "xxpassword"------->注意这里填的是开启smtp的授权码,不是邮箱登录密码
# 邮箱域:这里填写163.com就好
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
##修改gitlab配置的发信人
# 第一行配置一定要和163邮箱的账户名一样否则可能发送失败
gitlab_rails['gitlab_email_from'] = "xxuser@163.com"
user["git_user_email"] = "xxuser@163.com"
  • 源码包配置
    源码包有现成的smtp模板来配置发送邮件功能
# 切换至gitlab安装目录
cd /home/git/gitlab
# 复制模板文件
cp config/initializers/smtp_settings.rb{.sample,}
# 修改配置文件
sudo -u git -H editor config/initializers/smtp_settings.rb
    if Rails.env.production?
      Gitlab::Application.config.action_mailer.delivery_method = :smtp
    
      ActionMailer::Base.smtp_settings = {
        address: "smtp.163.com",
        port: 25,
        user_name: "j__xnt",
        password: "123456",
        domain: "163.com",
        authentication: :plain,
        enable_starttls_auto: true,
        #openssl_verify_mode: 'peer' # See ActionMailer documentation for other possible options
      }
    end
  • 上面方法按照你选择安装的方式来选择,最后重启GitLabgitlab-ctl reconfigure

  • 测试邮件配置是否成功
    执行 gitlab-rails console进入控制台。 然后在控制台提示符后输入下面的命令 发送一封测试邮件:Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

  • 添加服务器开机自动启动GitLab

# 拷贝启动脚本至特定目录
cp lib/support/init.d/gitlab /etc/init.d/gitlab
# 设置开机启动
chkconfig --add gitlab
chkconfig gitlab on
# 如果你的安装目录没有按照我们的教程来,你还需要准备并修改下面这个文件
cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
# 如果你的安装目录或者用户和教程不同,修改 /etc/default/gitlab 就可以了,
# 请不要尝试修改/etc/init.d/gitlab,因为该文件在更新的时候会被更改
  • 启动GitLab
sudo gitlab-ctl reconfigure
  • 使用浏览器访问(服务器IP地址)GitLab
    首次访问GitLab,系统会让你重新设置管理员的密码,设置成功后会返回登录界面.
    默认的管理员账号是root,密码5iveL!fe。如果你想更改默认管理员账号,请输入上面设置的新密码登录系统后修改帐号名.

三、GitLab服务构成

GitLab由以下服务构成:

  • nginx:静态Web服务器
  • gitlab-shell:用于处理Git命令和修改authorized keys列表
  • gitlab-workhorse:轻量级的反向代理服务器
  • logrotate:日志文件管理工具
  • postgresql:数据库
  • redis:缓存数据库
  • sidekiq:用于在后台执行队列任务(异步执行)
  • unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。

四、GitLab工作流程

** 下一篇文章会写GitLab的使用 **

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容