centos7已有nginx安装gitlab版本管理器10.1.2

    |     2017年11月11日   |   学习偶记   |     评论已关闭   |    4894

网上的教程因为版本的问题,会有各种各样的问题。经过摸索,实现了已安装lnmp的centos服务器上安装gitlab。

首先停止本机的nginx服务,lnmp使用lnmp stop停止。

https://about.gitlab.com/installation/#centos-7 官方安装流程

在这个流程中,我跳过了邮件配置,直接安装gitlab

安装命令列表

  • cd /root
  • sudo yum install -y curl policycoreutils-python openssh-server
  • sudo systemctl enable sshd
  • sudo systemctl start sshd
  • sudo firewall-cmd –permanent –add-service=http
  • sudo systemctl reload firewalld
  • curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
  • EXTERNAL_URL=”http://你的域名/IP:端口”
  • yum install -y gitlab-ce

安装后的样子。

gitlab安装完成

gitlab安装完成

这时打开http;//你的域名|IP:端口,即可跳转到重设密码页面。

gitlab重设页面

gitlab重设页面

 

进行邮箱配置。相对来说,smtp比较方便,这里以QQ企业邮箱为例,配置流程。
  • cd /root
  • vi /etc/gitlab/gitlab.rb 进行修改
  • 删除以下配置文件前面的#,并且进行配置。
  • gitlab_rails[‘smtp_enable’] = true
    gitlab_rails[‘smtp_address’] = “smtp.exmail.qq.com”
    gitlab_rails[‘smtp_port’] = 465
    gitlab_rails[‘smtp_user_name’] = “您的邮箱”
    gitlab_rails[‘smtp_password’] = “您的密码”
    gitlab_rails[‘smtp_authentication’] = “login”
    gitlab_rails[‘smtp_enable_starttls_auto’] = true
    gitlab_rails[‘smtp_tls’] = true
    gitlab_rails[‘gitlab_email_from’] = ‘您的邮箱’
  • gitlab-ctl reconfigure 加载配置
  • gitlab-ctl restart 重启gitlab服务
  • gitlab-rails console 进入gitlab控制台
  • Notify.test_email(‘你想给谁发的邮箱地址’, ‘邮箱主题’, ‘邮箱正文’).deliver_now
发送邮件测试
gitlab发送测试文件

gitlab发送测试文件[退出用exit命令]

邮箱配置完毕后,重新输入密码即可进入gitlab

 

———————-万恶的分割线,下面我们需要修改其他配置,以便可以和lnmp共存———–

踩了无数坑后,终于搞好了lnmp和gitlab的共存。为了给大家更多的资料,我将gitlab的端口修改为:8000

  • lnmp首先新建一个vhost,配置文件如下:

    upstream gitlab-workhorse {
    server unix:/var/opt/gitlab/gitlab-workhorse/socket;
    }

    ## Normal HTTP host
    server {
    listen 8000; ##我修改了端口
    server_name 你的域名;
    server_tokens off; ## 不显示nginx版本号
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    access_log /home/wwwroot/gitlab_access.log; #这里我修改成lnmp的logs路径
    error_log /home/wwwroot/gitlab_error.log; #这里我修改成lnmp的logs路径

    location / {
    client_max_body_size 0;
    gzip off;

    ## Some requests take more than 30 seconds.
    proxy_read_timeout 300;
    proxy_connect_timeout 300;
    proxy_redirect off;

    proxy_http_version 1.1;

    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_pass http://gitlab-workhorse;
    }
    }

  • 修改:/etc/gitlab/gitlab.rb

    A、web_server['external_users'] = ['www','git','gitlab-www']
    B、nginx['enable'] = false
    C、external_url 'http://你的域名:8000'
  • 修改:/opt/gitlab/embedded/conf/nginx.conf 端口改成8000
  • 修改:/var/opt/gitlab/nginx/conf/gitlab-http.conf 端口改成8000

因为还没有实际应用,不知道是否还有其他坑,只是可以打开gitlab后台。还未建立仓库和提交操作。

从gitlab自身带的nginx配置来看,感觉上应该比lnmp的配置要多不少,比如cache之类的。。个人建议使用gitlab自身的nginx配置。

噢!评论已关闭。