一.概述
=======
- 用户管理使用LDAP管理, 选用产品ApacheDS,安装在ServerLDAP
- 文档和代码管理使用Git, 选用产品GitLAB, 安装在MiniServer, 并和LDAP集成
- 项目管理和Bug管理使用Redmine, 安装在MiniServer,并和LDAP集成
- 项目中使用FTP管理大型文件
二.具体安装配置
=============
2.1 LDAP配置
- 安装JRE
sudo apt-get install -y openjdk-8-jdk
-
下载 ApacheDS-2.0.0-M24, 并安装
wget http://mirrors.tuna.tsinghua.edu.cn/apache/directory/apacheds/dist/2.0.0-M24/apacheds-2.0.0-M24-amd64.deb chmod +x apacheds-2.0.0-M24-amd64.deb sudo dpkg -i apacheds-2.0.0-M24-amd64.deb sudo service apacheds-2.0.0-M24-default restart ldapsearch -h localhost -p 10389 -x -D "uid=admin,ou=system" -W
- 缺省端口:10389
- 管理员信息:uid=admin,ou=system, 密码:secret (ApacheDS缺省设置)
- 也可以另外添加一个管理员帐号: uid=useradmin,ou=system, 密码:xxxxxx (自己随意指定)
-
下载 Apache Directory Studio,
http://directory.apache.org/studio/downloads.html
- 切换到Eclipse的LDAP视图,新建连接
- hostname: MiniServer.IP
- port:10389
- encryption method: nocryption (不同加密算法端口注意)
- authentication method: simple
- user:uid=admin,ou=system passwd:secret (默认的最高权限用户)
- OpenConfiguration启用Access Control,禁用匿名登录
- 系统默认example分区,我们删除之,并新建,本次创建dc=hello.com
- 修改uid=admin,ou=system的密码
- 重启apacheds服务生效
- 添加用户:
ou=employees,dc=hello,dc=com uid=test1,ou=employees,dc=hello,dc=com uid=test2,ou=employees,dc=hello,dc=com
- 添加用户的ldif文件:
dn: uid=xxxx.li,ou=employees,dc=hello,dc=com objectclass: inetOrgPerson objectclass: organizationalPerson objectclass: person objectclass: top cn: 李XXXX uid: xxxx.li description: 李XXXX sn: 李 givenname: XXXX displayname: 李XXXX mail: xxxx.li@hello.com userpassword: 123123
- 切换到Eclipse的LDAP视图,新建连接
2.2 GitLAB 配置
-
安装GitLab
sudo apt-get install git ldap-utils curl openssh-server ca-certificates postfix curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null echo 'deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main' |sudo tee -a /etc/apt/sources.list sudo apt-get update sudo apt-get install gitlab-ce sudo service postfix start sudo gitlab-ctl reconfigure sudo gitlab-ctl status
-
检查是否可以登陆
- 运行环境: http://MiniServer.IP
- 记住Gitlab 超级管理员密码: root/password (默认密码)
-
配置 /etc/gitlab/gitlab.rb, 使用 ldap accounts:
``` main: # 'main' is the GitLab 'provider ID' of this LDAP server label: 'ldap-team' host: 'ServerLDAP' port: 10389 uid: 'uid' method: 'plain' bind_dn: 'uid=admin,ou=system' password: 'xxxxxx' active_directory: true allow_username_or_email_login: false base: 'ou=employees,dc=hello,dc=com' ```
-
配置 /etc/gitlab/gitlab.rb 使用 SMTP 发送通知 email
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtpserver.com.cn" #修改成所需SMTP环境 gitlab_rails['smtp_port'] = 25 gitlab_rails['smtp_user_name'] = "aaaaaa@hello.com" gitlab_rails['smtp_password'] = "xxxxxxx" gitlab_rails['smtp_domain'] = "hello.com" gitlab_rails['smtp_authentication'] = "login"
2.3 Redmine 配置
http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step
-
安装 apache2 mysql
sudo apt-get install -y apache2 libapache2-mod-passenger mysql-server mysql-client
修改root密码, 并创建redmine用户(mysql用户) –>The user is for redmine web application. -
Deployment redmine to /opt/redmine3
记住redmine admin用户密码
-
Install unicorn and nginx to power redmine (也可使用Passenger等其他Server)
运行环境: http://MiniServer:3000 , --> 具体配置请参见Unicorn和Nginx集成文档
-
配置LDAP, 利用admin用户登录Redmine的页面,进行配置即可
2.4 LDAP-Account-Manager配置
为了方便团队成员添加用户(例如新员工加入等), 使用ldap-account-manager管理ApacheDS的员工帐号
- 安装ldap-account-manager,lam to manage LDAP accounts
- install php
- download lam tar.bz 包, 解压缩到/opt/lam
- 在 nginx 添加一个Site,监听在 3300端口
- 直接在lam页面上添加一个LDAP Profile,在页面上配置即可
2.5 Self LDAP Change Password
为了方便员工自己修改密码,部署LTB - Self Service Prassword
-
选择LTB - Self Service Prassword, 部署到Nginx, 和LAM 使用同一个文件, /passwd Location
location /lam { index index.html; alias /opt/lam; autoindex off; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } location ~ /lam/(tmp/internal|sess|config|lib|help|locale) { deny all; return 403; } } location /passwd { index index.php; alias /opt/self_ldap_passwd; autoindex off; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }
-
编辑/opt/self_ldap_passwd/conf/confic.inc.php 中的 LDAP 连接信息
$ldap_url = "ldap://ServerLDAP:10389"; $ldap_binddn = "uid=useradmin,ou=system"; $ldap_bindpw = "xxxxxx"; $ldap_base = "dc=hello,dc=com"; $ldap_login_attribute = "uid";
2.6 FTP配置
项目中的大文件签入Git会造成git速度下降, 所以大的二进制文件使用FTP管理
- 下载FileZilla Server, 安装
-
配置FTP Server
可以下载FileZilla Server Inferface(GUI Tool)来配置FileZilla FTP Server 连接信息: 127.0.0.1 端口:14147, 密码:xxxxx (自己指定)
[Troubleshooting]
使用FileZilla Server 作为FTP服务器, 刚开始login和list非常慢, 我的尝试解决办法:
- 首先使用服务器管理器的“windows高级安全防火墙”添加端口, 没有解决问题
- 使用控制面板中的windows防火墙吧“FileZilla Server”和“FileZilla Admin Server 都加进去, 然后全部启用,就好了, 记录一下, 以后备查。
ftp的根目录 d:\ftp_home
权限配置为: 所有人匿名可读可上传, 可匿名上传到临时目录, 由文档管理人员整理到正式目录
临时目录:uploadings, -->供用户零时上传的目录,
正式目录:projects, dept_documents, tools, softwares
2.7 其他
其他可以配置, Code Review (To be done)