首先声明,本文使用的服务器是Centos 6.5,在其他版本的LINUX上运行不保证也是一样的效果。

顺便说下 来波点赞 来波收藏和推荐  有什么问题 我会一直关注评论的

想放一张最终图吧

其中主要涉及了LDAP的部署和汉化操作。

好了 进入正题,服务器搭建环节:

第一步:安装GIT

yum install git

这应该没什么问题。

第二部:安装GITLAB

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/

这是Centos6的安装包地址,如果是其他版本,请自行寻找。

PS:这里有一个坑,centos6.5安装gitlab9.0以上版本会报错,存在有一个依赖包的版本过低,推荐使用7和8的GITLAB版本。

包有了接下来是安装环境了,

sudo yum install curl openssh-server openssh-clients postfix cronie 
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh

以上操作会开启邮件服务器和必要的安装环境以及开启防火墙的端口。

接下来将安装包导入到linux服务器:

我使用的是xshell的xftp直接传了。这一步就八仙过海吧 ,哈哈

导入进入服务器以后,使用rpm -ivh 安装包

经过一长串的输出以后便安装完成了。

接下来就是编辑gitlab本身的参数和应用LDAP了。

GITLAB本身的配置文件在

/etc/gitlab/gitlab.rb

下面。但是GITLAB本身在

/opt/gitlab/embedded/service/gitlab-rails/

首先备份和编辑配置文件:

cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak

vim /etc/gitlab/gitlab.rb

external_url 'http://10.86.249.40'
gitlab_rails['ldap_enabled']=true
gitlab_rails['ldap_servers']=YAML.load <<-'EOS'
main:
label: 'LDAP'
port:
host: '10.88.7.10'
uid: 'sAMAccountName'
method: 'plain'
base: 'ou=iuser,dc=xxx,dc=com'
bind_dn: 'cn=tacaaa,ou=commuser,dc=xxxx,dc=com'
password: 'xxxxx'
active_directory: true
allow_username_or_email_login: true
block_auto_created_users: false
user_filter: ''
attributes:
username: ['uid','userid','sAMAccountName']
email: ['mail', 'email', 'userprincipalName']
name: 'cn' EOS

此处需要注意的事情有:

所有的空格不能使用tab键补齐,external_url最好使用http://IP地址的形式,不然无法识别。

UID的作用是用于登录的用户名。因此选择AD服务器中适合做用户名的字段,本文选择了sAMAccountName字段作为了UID。

method是密码的交互过程是使用明文还是密纹,plain是明文。

allow_username_or_email_login这一段的话并不是验证邮箱,而是读取用户名到第一个@截止,造成一种可以使用邮箱登录的假象。程序猿这个地方不走心了。

好了配置完了以后,让gitlab使用配置的文件:

gitlab-ctl reconfigure

经过一大串输出以后,如果显示为

如此便是配置成功,如果有报错,则跟着报错修改就OK了。

此时可以通过

gitlab-ctl  status

查看各组件的工作状态,并通过 gitlab-ctl stop/start/restart来进行控制

此时查看是否可以通过web页面访问,如果不能访问,检查8080端口是否被其他应用占据如apache等,gitlab使用的是niginx,并非apache。

还有一种情况是extend_url配置错误,请检查。

第三步:汉化GITLAB

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

 查看当前gitlab版本。

随后下载带有汉化版的gitlab包

git clone https://coding.net/u/larryli/p/gitlab/git

进入目录下:

sudo git diff origin/8-5-stable..8-5-zh > /tmp/8.5.diff

将8-5修改成自己对应的版本即可。

随后cd进入gitlab目录

cd /opt/gitlab/embedded/service/gitlab-rails/
gitlab-ctl stop
git apply /tmp/8.5.diff
git reconfigure
git reconfigure

查看即可。

Git服务器和Git权限管理应用GITLAB安装方法的更多相关文章

  1. Windows下搭建Git 服务器: BONOBO GIT SERVER + TortoiseGit

    本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...

  2. 搭建Git服务器环境----Git hooks代码自动部署

    引言:自己想搭一套git的服务端环境,不想用github码云等.经多方资料整合,实验总结,以下是亲测有效的方式.可用于公司日常开发 一.搭建Git环境 ① 安装 Git Linux 做为服务器端系统, ...

  3. 不搭建git服务器对git仓库进行局域网内共享多人合作开发项目

    有时候在一个临时局域网内没有搭建git服务器,但是又想多人开发一个项目,此时只要每个人电脑安装有git客户端,参考一下方法即可尝试建一个本地化的远程仓库进行多人开发工作. 远程仓库通常只是一个裸仓库( ...

  4. 详解权限管理(RBAC)的实现方法

    在说权限管理前,应该先知道权限管理要有哪些功能: ().用户只能访问,指定的控制器,指定的方法 ().用户可以存在于多个用户组里 ().用户组可以选择,指定的控制器,指定的方法 ().可以添加控制器和 ...

  5. TortoiseGit 连接Git服务器不用每次输入用户名和密码的方法

    每次git push 都要输入用户名和密码. 虽然安全,但在自己电脑上每次都输有些麻烦,如何记住用户名和密码呢? 试了很多方法,找到这个最简单,亲测可行. 当你配置好git后,在C盘C:\Users\ ...

  6. CentOS搭建Git服务器及权限管理

    声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...

  7. git远程仓库创建及权限管理(二)多个项目

    本文介绍ubutu下使用gitolite实现多项目的权限管理1.安装git sudo apt-get install git 2.设置Git的user name和email: git config - ...

  8. Windows下配置Git服务器和客户端 超全

    为了配合Redmine使用,特地用Git来做版本控制. Git Candy© 是一个基于ASP.NET MVC的Git分布式版本控制平台,Git Candy的目标是轻松干掉Bonobo,逐渐追赶Git ...

  9. 架设Git服务器

    架设Git服务器项目 Git Candy:http://github.com/Aimeast/GitCandy/ AE大神的作品, Git Candy© 是一个基于ASP.NET MVC的Git分布式 ...

随机推荐

  1. 方法名的string类型应用(补)

    string strClass = "stringConvertClass.test"; //命名空间+类名 string strMethod = "Method&quo ...

  2. CF-798B

    B. Mike and strings time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  3. Flutter实战视频-移动电商-15.首页_商品推荐模块编写

    15.首页_商品推荐模块编写 商品推荐,我们做成可以横向滚动的 分析: 上面是标题,下面是ListView,里面是一个Column, column分三层,第一是图片,第二是价格,第三是市场价格 小细节 ...

  4. WeFlow 简单使用教程

    一.前言 WeFlow 是什么?一个高效.强大.跨平台的前端开发工作流工具.(官网定义),下载那些你们都知道,我就不一 一介绍了.下面我说一下简单使用: 二.使用教程 首先,我们使用 WeFlow 是 ...

  5. 前端之CSS2

    CSS盒子模型 CSS盒子模型介绍 盒子模型解释 元素在页面中显示成一个方块,类似一个盒子,CSS盒子模型就是使用现实中盒子来做比喻,帮助我们设置元素对应的样式. 盒子模型示意图如下: 把元素叫做盒子 ...

  6. iCarousel的简单介绍及应用

    iOS开源类iCarousel介绍 iCarousel是一个类,它继承于UIView,用于简化实现各种类型的旋转木马(分页滚动视图)iPhone.iPad和Mac OS.iCarousel实现一些常见 ...

  7. Spring中配置Dbutils

    <!--配置QueryRunner--> <bean id="runner" class="org.apache.commons.dbutils.Que ...

  8. 随机函数rand()

    一.C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过.但在C语言中int random(num)可以这样使用,它返回的是0至num-1的 ...

  9. Weekly Contest 111-------->943. Find the Shortest Superstring(can't understand)

    Given an array A of strings, find any smallest string that contains each string in A as a substring. ...

  10. HDU2846【字典树】

    题意: 百度. 思路: 一个串的插入只能搞出这个串的前缀,然而对于要query的串是子串,所以插入的时候暴力插入所有字母开头的串.... 然后还要注意到自己的串本身会叠加字典树中的前缀,要标记掉. # ...