1. 程式人生 > >FEDORA下,SVN的安裝以及配置

FEDORA下,SVN的安裝以及配置

FEDORA下,SVN的安裝以及配置

step 1

安裝subversion
yum install subversion

step 2

安裝apache的svn模組
yum install mod_dav_svn

step 3

建立svn倉庫檔案
mkdir /svn

step 4

建立SVN庫並修改/svn使用者組和使用者
svnadmin create /svn/repos/
chown -R apache.apache /svn

step 5

編輯/svn/repos/conf/svnserve.conf
vi /svn/repos/conf/svnserve.conf
5-1.

#anon-access = read
#auth-access = write
改為
anon-access = none    (如果此處不設定

為none的話,則連結SVN時會出現錯誤“Read access denied for root of edit”)
auth-access = write
5-2.

#password-db = passwd
改為
password-db = passwd
5-3.

#authz-db = authz
改為
authz-db = authz     (此處設定後方可設定svn訪問讀寫許可權的配置檔案“/svn/repos/conf/authz”)
重點注意:”svn: /svn/repos/conf/svnserve.conf:12: Option expected“發生時,
原因是:是因為subversion讀取配置檔案svnserve.conf時,無法識別有前置空格的配置,因此前面不能有空格。

step 6

增加使用者密碼,並設定訪問許可權
6-1.
vi /svn/repos/conf/passwd
如[users]
#user = password
svnuser = svnuser
test = test
6-2.
vi /svn/repos/conf/authz
追加下記文字
[/]
svnuser = rw
[/]
test = r

step 7

把每次提交的檔案都和/var/www/html同步,那樣,就可以直接訪問了
信件一個post-commit檔案
cp post-commit.tmpl post-commit
vi /svn/repos/hooks/post-commit
寫入以下內容:
#!/bin/sh
export LANG=en_US.UTF-8
svn update /var/www/html --username svnuser --password svnuser
svn update /var/www/html --username test --password test
並且,把這個檔案改為777 首先,先在服務
端/var/www/html checkout以後,每次更新就能夠向/var/www/html添加了
chmod 777 post-commit
chown apache.apache post-commit


Step 8

執行subversion服務(非必要)
vi /etc/rc.local
加入如下命令
#!/bin/sh
#
# This script. will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style. init stuff.
touch /var/lock/subsys/local
svnserve -d -r /svn/repos

step 9

設定apache的svn配置檔案

vi /etc/httpd/conf.d/subversion.conf

<Location /repos>
DAV svn
   SVNParentPath /svn
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Authorization Realm"
#      AuthUserFile /path/to/passwdfile
#      Require valid-user
#   </LimitExcept>
</Location>
把對應的#號去掉,並修改路徑,改為如上的。

step 10

重啟伺服器
svnserve --daemon --root=/svn --listen-port=3690

step 11
建立project svnProject
mkdir /tmp/svnProject
mkdir /svn/repos/svnProject
svn import /tmp/svnProject file:///svn/repos/svnProject -m "initial import"


step 12
在伺服器checkout一次
svn checkout svn://127.0.0.1/repos /var/www/html

step 13
OK了
可以用別的機器訪問伺服器,例如內網IP:192.168.1.226
svn://192.168.1.226/repos/svnProject
test專案的地址
http://192.168.1.226/svnProject

以後commit到資料
倉庫的程式碼,和192.168.1.222伺服器的/var/www/html裡面的同步了
另外,可以每個資料倉庫一個專案工程,自己進行相關設定就是了