轉載:
https://blog.csdn.net/weixin_39218464/article/details/104093559
https://blog.csdn.net/jctian000/article/details/80623621html
爲了之後打算,能夠配置多個倉庫web
一、先創建總倉庫目錄:svn
mkdir -p /home/svn/project
二、在總目錄中建立倉庫的文件夾,以及使用命令建立版本庫:post
mkdir -p /home/svn/project/你的項目1 svnadmin create /home/svn/project/你的項目1
之後其餘項目有須要的話,能夠使用一下命令(以此類推):測試
mkdir -p /home/svn/project/你的項目2 svnadmin create /home/svn/project/你的項目2
三、若是是多個項目的話,方便管理。進入你的項目1目錄下的conf文件夾。將其中的authz與passwd文件複製到project目錄下(若是是單個項目忽略這一步)編碼
cd /home/svn/project/你的項目1 cp authz ../../ cp passwd ../../
四、修改authz和passwd文件
4.一、passwd是用戶帳號配置
以下圖,等號前是帳號,後是密碼
4.二、authz是權限配置
以下圖,只是很簡單粗暴的配置一下,全部項目下都擁有讀寫權限。如須要能夠百度一下spa
五、最後修改svn服務配置文件svnserve.conf
以下圖:
注意圖片裏的password-db和authz-db是多項目配置表明公用一份用戶和權限配置。單項目請把兩個../../都刪了,只保留英文字母.net
六、啓動和關閉svn服務:
6.一、啓動:code
svnserve -d -r /home/svn/project/
6.二、關閉:htm
killall svnserve
到這裏svn的配置就能夠結束了。
第一步:設置鉤子自動更新
實現SVN與WEB同步,能夠CO一個出來,也能夠直接用自動更新web目錄的方法,咱們要在svn版本庫中配置鉤子來實現,就是建立一個post-commit的配置文件,對其進行簡單的配置,簡簡單單的四步就能夠實現Linux下SVN自動更新web目錄配置。
一、創建你的web程序目錄
mkdir -p /home/wwwroot
二、進入你創建的web程序目錄(svn checkout能夠簡寫爲co)
cd /home/wwwroot
三、檢出
不重命名文件夾,直接在當前目錄下檢出
svn checkout svn://localhost/你的項目1
檢出文件而且重命名文件夾
svn checkout svn://localhost/你的項目2 你的項目3
第二步:在項目庫的 hooks/ 目錄下新建 post-commit 文件 【鉤子腳本】
添加腳本內容以下
export LANG=en_US.UTF-8` DIR=/home/wwwroot WEB=/home/wwwroot/你的項目 svn update $WEB --username joy --password 123456 --no-auth-cache chown -R www:www $WEB
WEB=右邊改爲你實際的web目錄
第三步:讓post-commit有執行的權限
chmod a+x post-commit
第四步:這裏就已經完成了,第四步就是測試了。
說明:
export LANG=en_US.UTF-8是爲了解決svn post commit 中文亂碼,設置本地化編碼,由於個人系統爲UTF8編碼,其實SVN默認就是UTF-8編碼,若是編碼是GBK的話不設置將會出現錯誤,而執行不成功,錯誤標識爲
svn: Can
`'t convert string from native encoding to '`GBK'
/usr/bin/svn update --username cqh --password 123456 /var/www/html/test 執行更新操做
若是提示:
post-commit hook failed (
`exit
code 255) with no output`
賦予post-commit文件可執行權限 若是您的默認編碼就是UTF-8的,要上傳中文文件,先將文件另存爲UTF-8格式在提交