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 (如果此處不設定
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 首先,先在服務
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到資料
另外,可以每個資料倉庫一個專案工程,自己進行相關設定就是了