首先声明,本文使用的服务器是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
查看即可。