linux安裝服務器SVN (轉)

轉載地址:http://www.fancyecommerce.com/2016/05/03/yii2-mongodb%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E9%85%8D%E7%BD%AE-mongo/html

這個做者寫的安裝教程挺不錯的,推薦下。web

在開發的過程當中,咱們須要使用 svn進行版本控制。mongodb

1.數據庫

  1. yum install subversion

 

  1. svnserve --version

查看具體的版本信息,若是有結果,則表明SVN安裝成功。vim

2. 建立路徑:服務器

  1. /home/svn/repo
  2. #建立倉庫
  3. svnadmin create /home/svn/repo

3.進行配置:yii2

  1. vim /home/svn/repo/conf/svnserve.conf

 

  1. [general]
  2. anon-access = none //匿名訪問的權限,設置爲none表示爲不容許,默認是read
  3. auth-access = write //能夠是read,write,none,默認是write
  4. password-db = passwd //密碼數據庫的路徑,去掉前面的#
  5. authz-db = authz

4.配置svn的密碼文件:app

  1. vim /home/svn/repo/conf/passwd
  2. [user]
  3. username = passwd

上面的例子爲填寫用戶名和密碼,若是是water 密碼爲888888yii

  1. [user]
  2. water = 888888

配置文件 /home/svn/repo/conf/authzsvn

  1. [groups]
  2. [/]
  3. terry = rw
  4. #表明terry 這個帳戶對應的路徑爲根目錄,對根目錄下的全部文件和文件夾有讀寫的權限
  5. [/magento]
  6. terry = r
  7. #表明terry這個帳戶對應的路徑是magento文件夾,在這個目錄下的文件只有讀的權限
  8. [/magento/app/etc/local.xml]
  9. terry =
  10. #表明terry對上面這個文件不可見。即:不可讀,不可寫

設置可讀

  1. vim /home/svn/repo/conf/svnserve.conf
  2. anon-access = none

設置完成後,關閉svn,重啓

  1. 首先關閉iptables
  2. service iptables stop
  3. 關閉svn: killall svnserve
  4. 啓動svn: svnserve -d -r /home/svn/repo --listen-host ip地址

 

通過了4步驟,咱們建立了帳戶,設置了帳戶的權限,當咱們用svn工具訪問svn://ip地址,就能夠訪問了。

在本地能夠經過上傳文件到svn服務器

咱們想要的是svn中提交的文件,複製到服務器的web路徑中,因此咱們須要把svn中的數據提交到web路徑

這裏咱們使用的命令式svn up,強制提交:svn up –force

首先咱們須要先設置,把svn中的路徑,對應的web目錄

譬如:svn://192.168.1.12/magento 對應到/www/web/come/public_html,咱們的配置爲

  1. svn co svn://192.168.1.12/magento /www/web/come/public_html

 

  1. 而後須要輸入root密碼,
  2. 而後須要輸入提交帳戶,這個帳戶就是svn的在上面配置文件中添加的帳戶,
  3. 更改svn up 帳戶命令:svn co --username xxx svn://192.168.1.12/magento

 tip:

先用sudo把源碼co到服務器,而後chmod給項目目錄權限。

6

若是svn up 報錯:

Skipped ‘.’

須要到輸出的路徑下,譬如到/www/web/come/public_html下面svn up 就能夠了

7

開機啓動svn

  1. vi /etc/rc.local
  2. 在最後一行加入:
  3. svnserve -d -r /home/svn/repo

 

8

自動更新,不須要svn up

svn co svn://115.29.18.29/erp  /www/web/

在SVN 項目版本庫的存儲目錄下的hooks 目錄,新創建一個post-commit文件:

 

  1. vi /home/svn/repo/hooks/post-commit

 

  1. touch /home/svn/repo/hooks/svn_hook.log
  2. chmod 777 -R /home/svn/repo/hooks/svn_hook.log
  3. #!/bin/sh
  4. REPOS="$1"
  5. REV="$2"
  6. WEB=/www/web
  7. export LANG=en_US.UTF-8
  8. echo `whoami`,$REPOS,$REV >> /home/svn/repo/hooks/svn_hook.log
  9. svn update $WEB

保存,退出。
權限:chmod 777 post-commit

測試,看腳本是否有權限問題:

複製代碼 代碼示例:

./post-commit

之後每次客戶端提交操做,就會自動運行該腳本。

相關文章
相關標籤/搜索