apache_svn

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的


实验环境

centos6.5_x64


软件安装

cp -pv /etc/sysconfig/selinux /etc/sysconfig/selinux.bak

echo >  /etc/sysconfig/selinux

echo SELINUX=disabled > /etc/sysconfig/selinux 

yum install -y  subversion httpd httpd-devel mod_dav_svn   linux服务端安装

TortoiseSVN-1.10.0.28176-x64-svn-1.10.0                              windows客户端安装


svn --version

svn, version 1.6.11 (r934486)  compiled Aug 17 2015, 08:37:43

httpd -v

Server version: Apache/2.2.15 (Unix)


find /usr/lib64/httpd/ -name "mod_dav_svn.so" -o -name "mod_authz_svn.so"   查看svn模块安装

/usr/lib64/httpd/modules/mod_authz_svn.so

/usr/lib64/httpd/modules/mod_dav_svn.so


mkdir -pv /usr/local/svn/test            创建项目目录

svnadmin create /usr/local/svn/test  生成项目目录配置

ls /usr/local/svn/test

conf  db  format  hooks  locks  README.txt


cp -pv /usr/local/svn/test/conf/authz  /usr/local/svn/test/conf/authz.bak

echo > /usr/local/svn/test/conf/authz

cat > /usr/local/svn/test/conf/authz << EOF

> [groups]

> admin = admin,test1     admin组名 admin test1为组用户

> [/]

> admin = rw

> *  =

> EOF


cp -pv  /usr/local/svn/test/conf/passwd  /usr/local/svn/test/conf/passwd.bak

echo > /usr/local/svn/test/conf/passwd

cat > /usr/local/svn/test/conf/passwd << EOF

> [users]

> admin = admin

> test1 = test1      admin为用户名 admin为密码

> EOF


cp -pv /usr/local/svn/test/conf/svnserve.conf /usr/local/svn/test/conf/svnserve.conf.bak

echo > /usr/local/svn/test/conf/svnserve.conf

cat > /usr/local/svn/test/conf/svnserve.conf << EOF

> [general]

> anon-access = none

> auth-access = write

> password-db = passwd

> authz-db = authz

> realm = demo's svndata 

> [sasl]

> # use-sasl = true

> # min-encryption = 0

> # max-encryption = 256   复制配置到配置文件

> EOF


svnserve -d -r /usr/local/svn/    &          启动服务

killall svnserve                                         停止服务

cp -pv /etc/rc.d/rc.local  /etc/rc.d/rc.local.bak

echo "svnserve -d -r /home/data/svn/ &" >> /etc/rc.d/rc.local    开机启动svn服务

                                   

ps -ef | grep svn | grep -v grep

root     24357     1  0 14:44 ?        00:00:00 svnserve -d -r  /usr/local/svn/


wKioL1cLDpmzim88AAC962JOGCU756.png


wKioL1cLDpmj3j-xAABtKMFekfM283.png

用户名为 /usr/local/svn/conf/passwd下文件用户名 密码


wKiom1cLDeei4cI_AADJZM0j0GQ091.png


cp -pv  /etc/httpd/conf.d/subversion.conf   /etc/httpd/conf.d/subversion.conf.bak            apache_svn结合

cp -pv  /etc/httpd/conf/httpd.conf  /etc/httpd/conf/httpd.conf.bak

touch   /usr/local/svn/passwd

cp -pv  /usr/local/svn/test/conf/authz  /usr/local/svn/authz

sed -i  's/AllowOverride None/AllowOverride All/g'  /etc/httpd/conf/httpd.conf

sed -i  's/#ServerName www.example.com:80/ServerName *:80/g'  /etc/httpd/conf/httpd.conf

cat > /etc/httpd/conf.d/subversion.conf << EOF

> LoadModule dav_svn_module     modules/mod_dav_svn.so

> LoadModule authz_svn_module   modules/mod_authz_svn.so

> <Location /svn>

>   DAV svn

>   SVNParentPath  /usr/local/svn/test

>   AuthType Basic

>   AuthName "Authorization Realm"

>   AuthzSVNAccessFile /usr/local/svn/authz

>   AuthUserFile /usr/local/svn/passwd

>   Require valid-user

> </Location>              写入配置到配置文件

> EOF


chkconfig --level 35 httpd  on

htpasswd  -cb /usr/local/svn/passwd   admin 123456                                             admin为用户名 123456为密码  

htpasswd  -b  /usr/local/svn/passwd  test1   123456  >>   /usr/local/svn/passwd    -b用于第二个用户

cat  /usr/local/svn/passwd/

admin:kvxK/.pJlKy82

test1:GybylD9bmDi1s 

chown -R apache:apache  /usr/local/svn/test

service httpd restart


http://serverip/svn/test/

25.jpg

用户名admin 密码123456


26.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章