Apache+svn+openldap+phpldapadmin方案操作日志

Apache+svn+openldap+phpldapadmin方案操作日志

2023年6月25日发(作者:)

Apache+svn+openldap+phpldapadmin⽅案操作⽇志1.⽅案说明

apache作为前端访问⼊⼝和功能整合svn的认证使⽤apache代理openLDAP完成svn的权限和授权受限于svn本⾝的机制,⽬前任然使⽤其原⽣配置⽂件⽅式。openLDAP提供⽤户⾝份认证数据提供和⽤户统⼀管理2.环境及软件2.1.操作系统准备操作系统:centos-6.3 64位因为在部署整个环境中经常需要安装⼀些系统的组件,所以,这⾥先配置好yum的仓库,便于后⾯安装设置。yum仓库设置-6.3安装包FTP准备在⽹络内任务服务器上,解压操作系统的ISO⽂件(如:/pub/centos/6.3),并把对应的包⽂件夹暴露为FTP服务(访问地址如:ftp://192.168.30.33/pub/centos/6.3/x86_64/)

2.设置操作系统的yum仓库# cd /etc/.d/# 如果⽂件不存在则创建⽂件:centos6.3_x86_# touch centos6.3_x86_# 使⽤VI编辑设置仓库# vi centos6.3_x86_

[centos6.3]name=centos6.3baseurl=ftp://192.168.30.33/pub/centos/6.3/x86_64/gpgcheck=0enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

以上配置中,gpgcheck=0表⽰访问不需要验证;enabled=1表⽰本仓库可⽤。

3.安装必须的组件# yum install openssl# yum install gcc

如果后续在各软件安装过程中,出现错误提⽰需要依赖某组件或找不到某组件,请使⽤yum search 和 yum install 进⾏安装。

2.2.软件准备 软件所有内⽹共享地址:192.168.30.202public_resourcestopicapache_svn_openldap_phpldapadmin

(下载地址://httpd/ )(bdb)# mkdir /data/packages# cd /data/packages拷贝或下载⼀下⽂件到/data/packages⽬录,待⽤。

3.安装openLDAP

安装BDBLDAP采⽤openLDAP,因为其依赖DBD,所以我们先安装BDB。# cd /data/packages

# tar -zxvf

# db-5.3.15/build_unix# ../dist/configure# make# make install

如果出现错误:configure: error: C compiler cannot create executables解决办法:yum install glibc-devel

安装完成后,安装⽬录在:/usr/local/BerkeleyDB.5.3 # 设置系统级动态链接# cd /etc/.d# touch # echo /usr/local/BerkeleyDB.5.3/lib > # ldconfig

安装openLDAP# cd /data/packages

tar -xzvf openldap-2.4.35./configure --prefix=/usr/local/openldap CPPFLAGS="-I/usr/local/BerkeleyDB.5.3/include" LDFLAGS="-L/usr/local/BerkeleyDB.5.3/lib"

make dependmakemake install

安装完成后⽬录在:/usr/local/openldap/

配置openLDAP

# 新建LDAP数据存储⽬录# mkdir /data/openldap/data

openLDAP⼀般只需要配置:/usr/local/openldap/etc/openldap/ ⽂件,主要是设置根,认证,名称等基础信息。如下:# vi /usr/local/openldap/etc/openldap/

# 默认的schema只有core,增加两个常⽤的schema,⽤于建⽴⽤户信息。include /usr/local/openldap/etc/openldap/schema/include /usr/local/openldap/etc/openldap/schema/include /usr/local/openldap/etc/openldap/schema/######################################################################## BDB database definitions######################################################################## 使⽤bdb作为存储database bdb# 顶层节点DN配置suffix "dc=feinno,dc=com"# 管理员DNrootdn "cn=Manager,dc=feinno,dc=com"# Cleartext passwords, especially for the rootdn, should# be avoid. See slappasswd(8) and (5) for details.# Use of strong authentication encouraged.# 密码,这⾥设置的是123456,请根据其情况设置rootpw 123456# The database directory MUST exist prior to running slapd AND# should only be accessible by the slapd and slap tools.# Mode 700 recommended.# 存储路径directory /data/openldap/data# Indices to maintain# 索引配置index objectClass eq 以上内容是需要修改和配置的,其他参数主要是权限配置,可以暂不配置。完成配置后,请保持退出。

# 配置环境变量,⽤户后续的LDAP操作# vi /etc/profile在⽂件结尾加⼊:export PATH=$PATH:/usr/local/openldap/bin保持退出# soruce /etc/profile

启动openLDAP# /usr/local/openldap/libexec/slapd# 停⽌openLDAP# killall slapd

验证和使⽤openLDAP1.命令⾏⽅式使⽤ldif⽂件建⽴根组织DN# mkdir /data/openldap/ldif# cd /data/openldap/ldif# vi

dn:dc=feinno,dc=comobjectclass:topobjectclass:dcObjectobjectclass:organizationo:feinnodc:feinno 保存退出

# 命令⽅式创建根DN entity:"dc=feinno,dc=com",使⽤rootdn的账户和密码(前⾯⽂件中配置)# ldapadd -x -D "cn=Manager,dc=feinno,dc=com" -W -f ter LDAP Password:adding new entry "dc=feinno,dc=com"

......

# 查询已经创建的entity# ldapsearch -x -b 'dc=feinno,dc=com' '(objectclass=*)'......

2.使⽤桌⾯客户端⼯具推荐使⽤桌⾯⼯具:LDAPAdmin 下载地址:Apache LDAP studio 下载地址:这⾥使⽤LDAPAdmin 做操作演⽰。我们Demo的LDAP结构如下:

建⽴连接:

创建组织结构单元: 建⽴部门节点: 建⽴⽤户:

3.使⽤B/S的phpLDAPAdmin请参见后⾯第7节

4.安装Apache安装

apache是整个SVN和LDAP的前端,这⾥打开其动态加载功能(DSO)# yum install openldap-devel zlib-devel expat-devel# cd /data/packages# tar -xzvf # cd httpd-2.2.23# ./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all --enable-dav=share --enable-dav-fs --with-ldap --enable-ldap --enable-authnz-ldap# make# make install安装完成后,⽬录在:/usr/local/apache2# 设置环境变量,⽅⾯后⾯操作

# vi /etc/profile在⽂件结尾加⼊:export PATH=$PATH:/usr/local/apache2/bin保持退出# soruce /etc/profile

基本配置主配置⽂件:/usr/local/apache2/conf/1、修改ServerName,防⽌DNS查找失败错误# If your host doesn't have a registered DNS name, enter its IP address Name localhost:80

2、打开server-status配置,⽀持apache 状态检查。请确保主配置⽂件中存在配置⾏:LoadModule status_module modules/mod_在主配置⽂件结尾加⼊:

ExtendedStatus On SetHandler server-status Order allow,deny Allow from all

系统服务和⾃启动

# apache 服务和⾃启动Apache加⼊到系统服务⾥⾯:# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd修改httpd在⽂件头部加⼊如下内容:#### Comments to support chkconfig on RedHat Linux# chkconfig: 2345 90 90# description:http server###保存 # chkconfig --add httpd# chkconfig --level 35 httpd on等级0表⽰:表⽰关机等级1表⽰:单⽤户模式等级2表⽰:⽆⽹络连接的多⽤户命令⾏模式等级3表⽰:有⽹络连接的多⽤户命令⾏模式等级4表⽰:不可⽤等级5表⽰:带图形界⾯的多⽤户模式等级6表⽰:重新启动

验证# apachectl start如果现实:It work! 表⽰安装成功。# 关闭apache,等待配置# apachectl stop

5.安装SVN安装# subversion1.7.9的编译依赖 SQLITE的算法# cd /data/packages# tar -xjvf 2# cd subversion-1.7.9# mkdir sqlite-amalgamation# cd..# unzip # cp sqlite-amalgamation-3071602/sqlite3.c subversion-1.7.9/sqlite-amalgamation/# cd subversion-1.7.9# ./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2# make# make install安装成功后,安装⽬录在:/usr/local/subversion# 设置环境变量

# vi /etc/profile在⽂件结尾加⼊:export PATH=/usr/local/subversion/bin:$PATH保持退出# soruce /etc/profile

创建和配置仓库# 创建SVN仓库⽬录# mkdir /data/svn/repositories# cd /data/svn/repositories# 创建测试⼯程# svnadmin create project1

# svnadmin create project2# svnadmin create project3# svnadmin create project4# svnadmin create project5# lsproject1 project2 project3 project4 project5 project6# vi [groups]admin=zhangpu

[/]@admin=rw*=#*=r

[project1:/]zhangpu=rlibingyang=r*=

完成以上后,待⽤,后续使⽤apache整合。

6.配置apache+svn+ldap# 采⽤HOST⽅式配置,打开主配置⽂件⽂件中对host配置的引⽤注释。# vi /usr/local/apache2/conf

Include conf/extra/

保存退出# 配置vhost# cd /usr/local/apache2/conf/extra# vi NameVirtualHost *:80LoadModule dav_svn_module modules/mod_dav_Module authz_svn_module modules/mod_authz_ ServerAdmin xxxx@ ServerName ErrorLog logs/-error_log CustomLog logs/-access_log common # SVN配置 DAV svn SVNListParentPath on SVNParentPath /data/svn/repositories/ AuthzSVNAccessFile /data/svn/repositories/

# 在ldap找不到账号的情况下可以使⽤其它的认证⽅式(如,密码⽂件) AuthzLDAPAuthoritative off # openLDAP的管理账户 AuthLDAPBindDN "cn=Manager,dc=feinno,dc=com" AuthLDAPBindPassword 123456 AuthBasicProvider ldap # 认证数据来源:"ou=rd,dc=cq,dc=feinno,dc=com" 下所有⼦entity的uid作为认证⽤户名 AuthLDAPURL "ldap://localhost:389/ou=rd,dc=cq,dc=feinno,dc=com?uid?sub?(objectClass=*)" # http 基本认证 AuthType Basic AuthName "feinno Subversion repository" Require valid-user # 设置⽬录权限,实现列表所有⼯程⽬录 Options Indexes FollowSymLinks Order allow,deny Allow from all 完成配置后,保存退出。

7.安装php和phpldapadmin安装配置PHP# yum install libxml2# yum install libxml2-devel -y# cd /data/packages# tar -xzvf # cd php-5.3.22# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php5 --with-ldap --with-gettext# make# make install 安装完成后的⽬录在:/usr/local/php5# 拷贝默认的配置⽂件# cp /data/packages/php-5.3.22/-development /usr/local/lib/# 如果在配置的时候出现如下问题⼀般是因为64位操作系统造成的原因,请如下操作解决。configure: error: Cannot find ldap libraries in /usr/lib# cp -frp /usr/lib64/libldap* /usr/lib/

# 停⽌apache配置⽀持php# service httpd stop# vi /usr/local/apache2/conf/adModule php5_module modules/# 在⽂件中找到节点,在后⾯增加⽬录默认页⾯:## DirectoryIndex: sets the file that Apache will serve if a directory# is requested.# DirectoryIndex # 在⽂件结尾增加对php⽂件的⽀持 SetHandler application/x-httpd-php SetHandler application/x-httpd-php SetHandler application/x-httpd-php-source保存退出

安装phpldapadmin下载1.2.3版本,直接解压到apache的相关⽬录。修改config/⽂件配置LDAP相关参数。# cd /data/packages/ /usr/local/apache2/htdocs/# cd /usr/local/apache2/htdocs/# unzip # mv phpldapadmin-1.2.3 phpldapadmin# cd /usr/local/apache2/htdocs/phpldapadmin/config# 修改phpldapadmin参数# cp e # vi # ldap服务器地址$servers->setValue('server','host','127.0.0.1');# ldap服务端⼝$servers->setValue('server','port',389);# ldap根实体dn$servers->setValue('server','base',array('dc=feinno,dc=com'));# ldap管理⽤户名$servers->setValue('login','bind_id','cn=Manager,dc=feinno,dc=com');# ldap管理⽤户密码$servers->setValue('login','bind_pass','123456'); 保存退出。

从新启动apache,验证phpldapadmin# service httpd start使⽤ldap的管理账户登录。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687691746a32102.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信