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的使用 **

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容