apache+svn+ladp认证

今日收到上司邮件,下一步公司要做整合,估计以后公司所有环境都需要整改,对我这个菜鸟来说感觉压力好大,因为初次接触linux system。 但我一直都在努力。。。。。come on
下一步我们会更改那些登录命名带有@ecvision.com的,我们目前所做的动作是为了将来用AD登录做准备。
 
所以你搭好一个AD的环境,自己测试一下登录有无问题,
 
AD目前需要做的地方:
1.       PC和现在域一样绑定能登录
2.       绑定SVN能登录
3.       绑定JIRA能登录,设定好JIRA的安全组等等
4.       从AD导出用户到你目前AD(为以后迁移域做准备)
5.       还有是一些基本的安全策略的测试,例如:不能安装软件,不能更改电脑名,不能修改网络连接等基本的安全控制.


废话不多说,开始实践。

CentOS 6.6 X64 + Subersion1.8.13+apache 2.4.6

#yum upgrade
 
#yum -y install openssl  perl perl* pcre wget  zlib  tree gcc gcc-c++ make libtool pcre-devel lrzsz zlib-devel openssl-devel neon openldap-devel
 
Install the Apr
#tar zvxf apr-1.5.2.tar.gz
#cd apr-1.5.2
#./configure --prefix=/usr/local/apr
#make
#make install
 
Install the Apr-util
#tar zvxf apr-util-1.5.4.tar.gz
#cd apr-util-1.5.4
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
#Make
#make install
#Verify: # /usr/local/apr-util/bin/apu-1-config --version
 
Install the pcre
#tar zvxf pcre-8.35.tar.gz
#cd pcre-8.35
#./configure --prefix=/usr/local/pcre
#make
#make install
 
 
Install the sqlite
#tar zvxf sqlite-autoconf-3080500.tar.gz
#cd sqlite-autoconf-3080500
#./config
#make
#make install
 
install the dap
tar zvxf dap-3.9.tar.gz
cd dap-3.9.tar.gz
./configure

install apache
#tar zvxf httpd-2.4.6.tar.gz
#cp -rf ./apr-1.5.2  ./httpd-2.4.6/srclib/apr
#cp -rf ./apr-util-1.5.4  ./httpd-2.4.6/srclib/apr-util
需要apr和apr-utils并解压到 ./srclib/ 目录下, 再进行编译。
#cd httpd-2.4.6
#./configure --prefix=/usr/local/apache --enable-ldap=shared --enable-authnz-ldap=sahred --with-included-apr --with-ldap --with-apr --with-apr-util --enable-dav --enable-dav-fs --enable-dav-lock --enable-rewrite=shared --enable-ssl=shared --enable-deflate=shared --enable-authn-dbm=shared --enable-authn-anon=shared --enable-auth-basic=shared  --with-mpm=prefork --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache      --enable-mods-shared=all

./configure --prefix=/usr/local/apache --enable-ldap --enable-authnz-ldap --with-included-apr --with-ldap --with-apr --with-apr-util --enable-so --enable-dav --enable-rewrite --enable-ssl --enable-deflate=shared --enable-authn-dbm --enable-authn-anon --enable-auth-basic  --with-mpm=prefork --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache

( --enable-mods-shared=all :这里参数是添加常用模块,上列编译是编译指定模块,如果把这个参数加上不知行不行,还未测试!!!!!!!! )
#make
#make install

install PHP
yum install libjpeg libjpeg-devel  libpng libpng-devel openssl openssl-devel curl curl-devel libxml2 libxml2-devel -y

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php/etc --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-zts


#make
#make install

install subversion
#tar zvxf subversion-1.8.13.tar.gz
#cd subversion-1.8.10
#

./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  --with-zlib=/usr/local/zlib --with-sqlite=/usr/local/sqlite
#make
#make install
 
#cd ~
#vim .bash_profile
#PATH=$PATH:$HOME/bin:/usr/local/subversion/bin
#source .bash_profile     #让.bash_profile及时生效

SVN 单独使用 


[[email protected] ~]# svnadmin create --pre-1.6-compatible /svn/repos  这里一定要加--pre-1.6-compatible 要不然会报错,但是好像不影响使用

配置版本库下面的/svn/repos/conf/svnserve.conf文件。

灰色部分是改动的
然后配置passwd 以及 authz 文件
vim passwd

vim authz


然后配置防火墙,由于我是测试我直接把防火墙关了

service iptables stop      停止Iptables服务
chkconfig iptables off   禁止开机启动
vim /etc/sysconfig/selinux 
把 SELINUX=enforcing 改为:SELINUX=disabled
然后重启下reboot
启动svn :
svnserve -d -r /svn/repos 

查看端口是否启用:lsof -i tcp:3690

然后客户端测试:

说明配置成功了, 输入账户看下

失败:配置文件没配好,再继续找原因
再次配置svnserve.conf文件,指定权限和账户文件具体路径

还是不行,再继续找原因。查看权限配置文件:authz

结果可以了:




SVN+Apache





#rpm -e --nodeps httpd

#mv /etc/httpd /etc/httd.org

#ln -s /usr/local/apache /etc/httpd


重命名/etc/httpd文件夹,这是安装下来的默认文件,不用它,建立一个httpd一样的软连接到这里

#rmdir /etc/httpd/logs
#mkdir /var/log/httpd

#ln -s /var/log/httpd /etc/httpd/logs
这里是将apache默认日志文件删除,在/var/log/目录下建立一个httpd日志文件。然后建立一个软连接到原本httpd目录下。
这里只是个人习惯问题,可改可不改。

然后启动httpd

重启却报错了.折腾了好几个小时也没有解决, 直到下班回家在家里重新做,结果又是这个问题. 我发现安装完httpd后 /etc/rc.d/init.d/httpd 有一个启动脚本文件.可是httpd安装目录下的启动脚本文件却不是这个. 而是:/usr/local/apache/bin/apachectl 这个文件. 于是我删除了init.d下面的httpd.然后建立apache/bin/apachectl软连接到 /init.d/httpd目录下. 
然后vim httpd

#rm /etc/rc.d/init.d/httpd



#cp /usr/local/apache/bin/apachectl  /etc/rc.d/init.d/httpd

#vim httpd

# chkconfig: 2345 85 15

# description: Activates/Deactivates Apache Web Server

#chkconfig --add httpd
#chkconfig httpd on

重启服务:   service httpd restart .  哈哈OK. 现在可以下一步了.

这里的提示不用理会,稍后改下配置文件就不会再提示了。

Edit  /etc/httpd/conf/httpd.conf

修改配置文件

启用mod_dav.so 模块

cp /usr/local/subversion/libexec/mod_* /usr/local/apache/modules/

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so



这里用户和组改成apche , 因为往后如果要用到其他模块需要apche用户,所以早点改了.

然后重启httpd那个提示的原因就是这里:  我们把这里改成本地IP地址, 加不加端口都可以

然后重启httpd

[[email protected] ~]# svnadmin create --pre-1.6-compatible /svn/repo/svntest

然后在/svn/目录下建立一个conf目录,然后建立两个文件

然后建立用户

vim authz

给SVN库配置Apache权限

chown -R apche:apche /svn/repo/svntest

chmod -R 777 /svn/repo/svntest

然后编辑 httpd.conf 添加一下SVN配置

<Location /svn>

DAV svn

SVNParentPath /usr/svn

AuthType Basic

AuthName "Subversion repository"

#密码存储文件

AuthUserFile /usr/svn/auth.conf

Require valid-user

#用户访问目录的权限文件

AuthzSVNAccessFile /usr/svn/access.conf

</Location>


service httpd restart


测试客户端

这里已连接上,测试权限配置文件是否OK?输入帐号密码看看。。。。。。。

同样OK , 说明对了。

备注一下:如果SVN采用httpd的访问访问的话, SVN本身配置文件就没用了,等于作废了。 所以只要配置httpd.conf文件即可。

接下来是测试 SVN+APACHE+AD验证 也就是apche的LDAP模块功能。如果httpd是rmp安装, 我发现没有这个模块。就算是编译如果没有

编译这个模块,也不会有。 所以编译的时候注意。




SVN+APACHE+AD验证      (LDAP)



首先我的环境是:AD: Windows server 2008 172.17.16.74   域名:szardc1.arsz.com

SVN: CentOS 6.6 X64      172.17.16.73

要先让SVN能通过域名访问AD  就要先配置一下DNS, 因为域名是通过internet访问的, 但如果是在内网的话,可以通过DNS解析访问

vim /etc/resolv.conf

添加以下内容

nameserver 202.96.134.133

nameserver 172.17.16.74

domain szardc1.arsz.com

然后测试是OK的。通了

vim httdp.conf

启动这些模快

配置LDAP脚本


配置ldap模块验证:

<Location /svn/>

DAV svn

#SVN版本库路径

SVNParentPath /svn/repo

SVNListParentPath On

#权限控制文件路径

AuthzSVNAccessFile /svn/conf/authz

#AuthzLDAPAuthoritative off

AuthType Basic

AuthName "subversionserver"

#认证方式

AuthBasicProvider ldap

#绑定域用户  CN:userID   ou :域组  DC :域名  下个三个DC:指的域名是:szardc1.arsz.com

AuthLDAPBindDN "CN=svn1,OU=ecvision,DC=szardc1,DC=arsz,DC=com"

#用户密码AuthLDAPBindPassword "mrtanqun"

#连接域

AuthLDAPURL "ldap://172.17.16.74:389/DC=szardc1,DC=arsz,DC=com?sAMAccountName?sub?(objectClass=*)"

#要求全部都要验证

Require valid-user

</Location>

#service httpd restart 重启Httpd

如果要采用 LDAP 验证的话,  上面HTTPD验证就不需要了, 注释掉那些配置


接下来测试客户端:

OK。上面文件a是我用SVN2用户创建的。  我现在登录是SVN3。

差不多就是这样了.

其他的还得去摸索, 环境终于搭好了. 想骂人了. NND.. 哈哈


注意细节:

启用http.conf中的 mod_dav.so 模块

cp /usr/local/subversion/libexec/mod_* /usr/local/apache/modules/

配置ldap模块验证:

<Location /svn/>

DAV svn

#SVN版本库路径

SVNParentPath /svn/repo

SVNListParentPath On

#权限控制文件路径

AuthzSVNAccessFile /svn/conf/authz

#AuthzLDAPAuthoritative off

AuthType Basic

AuthName "subversionserver"

#认证方式

AuthBasicProvider ldap

#绑定域用户  CN:userID   ou :域组  DC :域名  下个三个DC:指的域名是:szardc1.arsz.com

AuthLDAPBindDN "CN=svn1,OU=ecvision,DC=szardc1,DC=arsz,DC=com"

#用户密码

AuthLDAPBindPassword "mrtanqun"

#连接域

AuthLDAPURL "ldap://172.17.16.74:389/DC=szardc1,DC=arsz,DC=com?sAMAccountName?sub?(objectClass=*)"

#要求全部都要验证

Require valid-user

</Location>

authz权限配置文件

[groups]

admin = sammytan,nitchellli

[test:/]

* = rw

@admin = rw

来自为知笔记(Wiz)

时间: 2024-10-14 11:57:49

apache+svn+ladp认证的相关文章

Centos实现svn本地认证apache认证mysql认证

本文系统:Centos6.5_x64 本地lamp环境 ip:192.168.184.129 一.搭建svn,实现svn方式访问.本地用户认证 二.实现http方式访问.apache本地文件认证 subversion目录说明:*dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据*db目录:就是所有版本控制的数据存放文件*hooks目录:放置hook脚本文件的目录*locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端*for

Apache+SVN构建代码仓库平台

很多同学对SVN+Apache整合很少头疼,今天整理了一版Apache+SVN整合的文档,希望能帮助到大家! SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion.说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的. Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(四)(网内首发超详细版)

6安装maven 下载地址:http://maven.apache.org/download.cgi 解压安装 unzip –o apache-maven-3.2.1-bin.zip mv apache-maven-3.2.1 maven 配置环境变量 MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH 7 java环境自动构建部署 7.1 新建job 输入名称如下图 输入SVN服务器地址 注意:上面已经认证过了,因此没有报

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(一)(网内首发超详细版)

目录结构如下: 目录 1说明及环境介绍3 1.1说明3 1.2环境准备及格式约定4 2 Linux下apache搭建svn服务器4 2.1 apache安装部署4 2.2 svn安装部署5 2.3整合svn和apache6 2.4 ssl方式部署apache7 2.4.1安装apache7 2.4.2安装svn7 2.4.2 部署认证8 3 Linux下svn独立服务器方式部署9 3.1安装SVN9 3.2 配置环境10 3.3 权限配置样例11 3.4 启动SVN服务器12 3.5 访问方式1

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(二)(网内首发超详细版)

2.4 ssl方式部署apache 2.4.1安装apache ./configure --prefix=/usr/local/apache2 --enable-dav --enable-ssl--enable-so --enable-mods-shared=all make && make install 2.4.2安装svn 安装apr-1.4.6.tar.gz.apr-util-1.5.1.tar.gz.neon-0.29.6.tar.gz同2.2章节部分 unzip sqlite-

最新apache+svn+reviewboard实现在线代码评审

本文重点说reviewboard的安装 作用,在线代码评审工具. --------------------------------------------------------------------------- mysql安装 yum -y install gcc gcc-c++ make cmake autoconf automake ncurses* bison* zlib* expat* openssl* apr* neon* yum -y install mysql-server

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)

3.3 权限配置样例 注意: * 权限配置文件中出现的用户名必须已在用户配置文件中定义. * 对权限配置文件的修改立即生效,不必重启svn. 用户组格式: [groups] = , 其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔. 版本库目录格式: [<版本库>:/项目/目录] @<用户组名> = <权限> <用户名> = <权限> 其中,方框号内部分可以有多种写法: [/],表示根目录及以下,根目录是svnserve启动时指定的,我们

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(五)(网内首发超详细版)

8 Subversion FAQ 8.1 官方FAQ网址 http://subversion.apache.org/faq.zh.html 8.2 svn遇到错误总结 8.2.1 svn不显示日志 解决办法:1)找到你SVN版本库下conf文件夹下的svnserve.conf文件2)打开svnserve.conf文件,将其中名为anon-access的一项设置为anon-access=none. 这样的话,日志文件即可显示正常. 8.2.2 版本冲突问题 svn update --usernam

yum/源码编译安装配置apache+svn

本次整理的比较急.源码编译和命令解释后续加上.不多说开始吧 系统环境:CentOS6.5_x86_64 minimal YUM版 1.检查是否安装了httpd.mod_dav_svn(实现apache+svn的一个模块).subversion(默认是安装的.需要yum remove subversion卸载掉) [[email protected] ~]# rpm -ql httpd package httpd is not installed [[email protected] ~]# rp