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


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