Linux下安装Gitlab

分类: Linux 评论(2) 367 阅读 2017-02-16 14:40 ZooM查看

摘要 在前段时间安装了Gitblit用作自己的git,这一次给公司安装选择了Gitlab
Linux Gitlab


先来对比一下Gitblit与Gitlab的界面


Gitblit:

gitblit.png

Gitlab:

gitlab.png


Gitlab在功能和界面上更胜一筹。


开始安装:


1:这里安装方式是下载好rpm文件,进行安装


推荐下面的地址:


https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.8.5-ce.1.el7.x86_64.rpm


可以直接在Linux上下载也可以下载好在用FTP工具传上去


2:安装


# 安装
# rpm -ivh gitlab-ce-8.8.5-ce.1.el7.x86_64.rpm


3:修改配置文件,如果是纯净的系统那么走下来应该没有问题,但是因为系统里面已经存在nginx等软件而gitlab默认会占用 80 和 8080 端口 所以需要修改配置文件,并且需要将gitlab下的nginx进程名称修改一下 不然不能启动


a: vim /etc/gitlab/gitlab.rb

## Url on which GitLab will be reachable.## For more details on configuring external_url see:
## 
 
## 修改为本机IP
external_url 'http://120.76.XX.XX'


## Note: configuration settings below are optional.
## Uncomment and change the value.
############################
# gitlab.yml configuration #
############################


b:vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb


# What ports/sockets to listen on, and what options for them.
# 注释掉默认的8080端口 另外开放一个端口
# listen "127.0.0.1:8080", :tcp_nopush => true
listen "127.0.0.1:8082", :tcp_nopush => true
listen "/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket", :backlog => 1024


c:vim /var/opt/gitlab/nginx/conf/gitlab-http.conf


server {

  // 监听端口
  listen *:82;

  // 本机的IP
  server_name 120.76.XX.XX;
  server_tokens off; ## Don't show the nginx version number, a security best practice

  ## Increase this if you want to upload large attachments
  ## Or if you want to accept large git objects over http
  client_max_body_size 0;


  ## Real IP Module Config
  ## http://nginx.org/en/docs/http/ngx_http_realip_module.html

  ## Individual nginx logs for this GitLab vhost
  access_log  /var/log/gitlab/nginx/gitlab_access.log gitlab_access;
  error_log   /var/log/gitlab/nginx/gitlab_error.log;

  location / {
    ## If you use HTTPS make sure you disable gzip compression
    ## to be safe against BREACH attack.
    

    ## https://github.com/gitlabhq/gitlabhq/issues/694
    ## 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 http;

    proxy_pass http://gitlab-workhorse;
  }

  error_page 404 /404.html;
  error_page 422 /422.html;
  error_page 500 /500.html;
  error_page 502 /502.html;
  location ~ ^/(404|422|500|502)\.html$ {
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    internal;
  }

  
}


d:vim /var/opt/gitlab/gitlab-shell/config.yml


# GitLab user. git by default
user: git

# Url to gitlab instance. Used for api calls. Should end with a slash.
# 修改为自己的端口
gitlab_url: "http://127.0.0.1:8082"

http_settings:
  
#  user: someone
#  password: somepass
#  ca_file: /etc/ssl/cert.pem
#  ca_path: /etc/pki/tls/certs
#  self_signed_cert: false

# Repositories path
# Give the canonicalized absolute pathname,
# REPOS_PATH MUST NOT CONTAIN ANY SYMLINK!!!
# Check twice that none of the components is a symlink, including "/home".


e:如果有老的nginx,则进行这一步


# 复制一份 gitlib 下的 nginx
mv /opt/gitlab/embedded/sbin/nginx /opt/gitlab/embedded/sbin/nginx2

# 修改启动脚本
vi /opt/gitlab/sv/nginx/run


修改如下内容


exec chpst -P /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx
# 改为
exec chpst -P /opt/gitlab/embedded/sbin/nginx2 -p /var/opt/gitlab/nginx


f:重新载入配置使生效


gitlab-ctl reconfigure


g:启动


gitlab-ctl start|stop|restart|status


注意查看输出来的日志,是否都是OK的


其日志输出目录在:/var/log/gitlab/...


问题:改成了非 80 端口后,创建项目生成的 http 地址没有带端口号,不能直接使用!比如生成的git地址是 

http://120.76.XX.XX/project/document.git 没有端口号 

正确的应该是:

http://120.76.XX.XX:82/project/document.git

评论2
评论已关闭