首先声明,本文使用的服务器是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. Eclipse用Runnable JAR file方式打jar包,并用该jar包进行二次开发

    目录: 1.eclipse创建Java项目(带jar包的) 2. eclipse用Export的Runnable JAR file方式打jar包(带jar包的) 打jar包 1)class2json1 ...

  2. 【eclipse插件开发实战】Eclipse插件开发3——OSGi、RCP

    Eclipse插件开发实战3--OSGi.RCP 一.OSGi 1. 什么是OSGi框架 OSGi(Open Service Gateway Initiative)框架是运行在JavaVM环境里的服务 ...

  3. UVaLive 6853 Concert Tour (DP)

    题意:给定 n 个城市,m 个月,表示要在这 n 个城市连续 m 个月开演唱会,然后给定每个月在每个城市开演唱会能获得的利润,然后就是演唱会在不同城市之间调动所要的费用, 问你,怎么安排这 n 个演唱 ...

  4. unity2d 动画

    1 资源test.jpg(如下)放入Resources文件夹 2 切割图片 点击图片,在inspector中,选择Texture Type为Sprite(2D and UI),然后点击Sprite E ...

  5. 【书评】【不推荐】《TensorFlow:实战Google深度学习框架》(第2版)

    参考书 <TensorFlow:实战Google深度学习框架>(第2版) 这本书我老老实实从头到尾看了一遍(实际上是看到第9章,刚看完,后面的实在看不下去了,但还是会坚持看的),所有的代码 ...

  6. 世风日下的哗啦啦族I (简单分块模板)

    题目链接 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define inf 0x7ffffff ...

  7. sublime text 插件的删除方法

    1.ctr+shift+P,输入Package Control: Remove Package 2.回车, 3.出现一个弹出框,输入你要删除的package 4.回车,OK!!!

  8. python 基础(八) os模块

    OS模块 概念:包含了普遍的操作 系统的功能 一.函数 函数名 函数说明 os.name 获取操作系统类型 nt->Windows posix->Linux/Unix os.listdir ...

  9. AKOJ-1695-找素数

    题意: 给定区间L,R. 计算区间中素数个数. 2 <= L,R <= 2147483647, R-L <= 1000000. 思路: 素数区间筛 先筛(2-sqrt(r)). 再用 ...

  10. Codeforces Round #533(Div. 2) C.Ayoub and Lost Array

    链接:https://codeforces.com/contest/1105/problem/C 题意: 给n,l,r. 一个n长的数组每个位置可以填区间l-r的值. 有多少种填法,使得数组每个位置相 ...