首先声明,本文使用的服务器是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. SyntaxError: can't assign to operator

    变量名不能有'-'

  2. html5代码如何转成小程序代码

    插件源码 链接:https://pan.baidu.com/s/1pGY8ZsdESaQGEzoEgpb_Rw 提取码:s1ix  放到与pages文件夹同级目录下 js中调用 //引入 var wx ...

  3. builtin_shaders-5.3.4f1学习-Sprites-Default

    Shader "Sprites/Default" { Properties { [PerRendererData] _MainTex ("Sprite Texture&q ...

  4. String.Format 大全

    0.0的格式化 string.Format("{0:8D8}", 3)//第一个8表示空8个位置,后一个8表示用0填写最多8位数据 1.格式化货币(跟系统的环境有关,中文系统默认格 ...

  5. 进击python第三篇:基础

    基础拾遗 序列解包 例: >>>x,y,z=1,2,3 >>>print x,y,z 1 2 3 交换变量也是没问题 >>>x,y=y,x > ...

  6. IT兄弟连 JavaWeb教程 Servlet会话跟踪 设置Session存活时长

    方式一:修改所有的session默认时长,修改tomcat目录下的conf文件夹下的web.xml文件. <session-config> <session-timeout>希 ...

  7. 新装ubuntu 12.04 , 使用技巧

    *********************************************** 一.让Ubuntu 12.04开机默认进入命令行模式. 修改 /etc/default/grubGRUB ...

  8. 【Luogu P1502】 窗口的星星

    →传送窗口 (复制一下题面好了~) 题目背景 小卡买到了一套新房子,他十分的高兴,在房间里转来转去. 题目描述 晚上,小卡从阳台望出去,“哇~~~~好多星星啊”,但他还没给其他房间设一个窗户,天真的小 ...

  9. __enter__,__exit__上下文管理协议

    上下文管理协议__enter__,__exit__ 用途或者说好处: 1.使用with语句的目的就是把代码块放入with中执行,with结束后,自动完成清理工作,无须手动干预 2.在需要管理一些资源比 ...

  10. linux进行文件vim编辑时没有退出文件直接关闭出现E325: ATTENTION Found a swap file by the name "/usr/local/php/etc/.php.ini.swp"

    E325: ATTENTIONFound a swap file by the name "/usr/local/php/etc/.php.ini.swp"          ow ...