鍍金池/ 教程/ Linux/
Linux 下常用壓縮文件的解壓、壓縮
  • 1.
Maven 安裝和配置
  • 1.
CentOS 網(wǎng)絡設置
  • 1.
  • 1.
  • 1.
TeamCity 安裝和配置
Zsh 入門
  • 1.
  • 1.
Bash 其他常用命令
Bash 常用命令
  • 1.
  • 1.
  • 1.
Ubuntu 介紹
Ubuntu 網(wǎng)絡相關設置問題
Nginx 安裝和配置
  • 1.
  • 1.
  • 1.
  • 1.
Linux-Tutorial
Nexus 安裝和配置
  • 1.
黑客入侵檢查
Yum 下載安裝包及對應依賴包
  • 1.
  • 1.
Tomcat 8 安裝和配置、優(yōu)化
  • 1.
Ubuntu 安裝和分區(qū)



RPM 安裝(推薦)

  • wandisco 整理的 RPM 文件官網(wǎng):http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/
  • 下載下面幾個 RPM 文件:

    • 創(chuàng)建目錄來保存下載的 RPM:sudo mkdir -p /opt/setups/subversion/ ; cd /opt/setups/subversion/
    • wget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/mod_dav_svn-1.8.15-1.x86_64.rpm
    • wget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/serf-1.3.7-1.x86_64.rpm
    • wget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-1.8.15-1.x86_64.rpm
    • wget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-gnome-1.8.15-1.x86_64.rpm
    • wget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-javahl-1.8.15-1.x86_64.rpm
    • wget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-perl-1.8.15-1.x86_64.rpm
    • wget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-python-1.8.15-1.x86_64.rpm
    • wget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-tools-1.8.15-1.x86_64.rpm
    • 如果上面的 RPM 鏈接失效,你也可以考慮下載我提供的百度云盤地址:http://pan.baidu.com/s/1pKnGia3
  • 安裝下載的 RPM 文件:

    • sudo rpm -ivh *.rpm
  • 檢查安裝后的版本:
    • svn --version

編譯安裝(不推薦)

  • subversion 1.8 編譯安裝(本人沒有嘗試成功,所以不推薦,下面內(nèi)容只供參考)
    • 官網(wǎng)安裝說明(查找關鍵字 Dependency Overview):http://svn.apache.org/repos/asf/subversion/trunk/INSTALL
    • 此時 1.8 最新版本為:subversion-1.8.15.tar.gz
    • 我個人習慣 /opt 目錄下創(chuàng)建一個目錄 setups 用來存放各種軟件安裝包;在 /usr 目錄下創(chuàng)建一個 program 用來存放各種解壓后的軟件包,下面的講解也都是基于此習慣
    • 我個人已經(jīng)使用了第三方源:EPEL、RepoForge,如果你出現(xiàn) yum install XXXXX 安裝不成功的話,很有可能就是你沒有相關源,請查看我對源設置的文章
    • 安裝編譯所需工具:
      • sudo yum install -y gcc gcc-c++ autoconf libtool
    • 所需依賴包說明:
    • 所需依賴包下載:
      • apr 下載:wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
      • apr-util 下載:wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
      • zlib 下載:wget http://zlib.net/zlib-1.2.8.tar.gz
      • SQLite 下載:wget http://www.sqlite.org/2016/sqlite-amalgamation-3100200.zip
      • Subversion 下載:wget http://apache.fayea.com/subversion/subversion-1.8.15.tar.gz
    • 安裝依賴包:
      • apr 安裝:
        • 解壓:tar -zxvf apr-1.5.2.tar.gz
        • 移動到我個人習慣的安裝目錄下:mv apr-1.5.2/ /usr/program/
        • 標準的 GNU 源碼安裝方式:
          • cd /usr/program/apr-1.5.2
          • ./configure
          • make
          • make install
        • 安裝完得到安裝的配置路徑:/usr/local/apr/bin/apr-1-config,這個需要記下來,下面會用到
      • apr-util 安裝:
        • 解壓:tar -zxvf apr-util-1.5.4.tar.gz
        • 移動到我個人習慣的安裝目錄下:mv apr-util-1.5.4/ /usr/program/
        • 標準的 GNU 源碼安裝方式:
          • cd /usr/program/apr-util-1.5.4/
          • ./configure --with-apr=/usr/local/apr/bin/apr-1-config
          • make
          • make install
        • 安裝完得到安裝的配置路徑:/usr/local/apr/bin/apu-1-config,這個需要記下來,下面會用到
      • zlib 安裝:
        • 解壓:tar -zxvf zlib-1.2.8.tar.gz
        • 移動到我個人習慣的安裝目錄下:mv zlib-1.2.8/ /usr/program/
        • 標準的 GNU 源碼安裝方式:
          • cd /usr/program/zlib-1.2.8/
          • ./configure
          • make
          • make install
      • Subversion 解壓:
        • 解壓:tar -zxvf subversion-1.8.15.tar.gz
        • 移動到我個人習慣的安裝目錄下:mv subversion-1.8.15/ /usr/program/
      • SQLite 安裝:
        • 解壓:unzip sqlite-amalgamation-3100200.zip
        • 移動到 subversion 目錄下:mv sqlite-amalgamation-3100200/ /usr/program/subversion-1.8.15/
      • Subversion 安裝:
        • 標準的 GNU 源碼安裝方式:
          • cd /usr/program/subversion-1.8.15/
          • ./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
          • make
          • make install

SVN 配置

  • 在系統(tǒng)上創(chuàng)建一個目錄用來存儲所有的 SVN 文件:mkdir -p /opt/svn/repo/
  • 新建一個版本倉庫:svnadmin create /opt/svn/repo/

    • 生成如下目錄和文件:
      • 目錄:locks
      • 目錄:hooks
      • 目錄:db
      • 目錄:conf
      • 文件:format
      • 文件:README.txt
    • 其中,目錄 conf 最為重要,常用的配置文件都在里面
      • svnserve.conf 是 svn 服務綜合配置文件
      • passwd 是用戶名和密碼配置文件
      • authz 是權限配置文件
  • 設置配置文件

    • 編輯配置文件:vim /opt/svn/repo/conf/svnserve.conf
    • http://wiki.jikexueyuan.com/project/linux-in-eye-of-java/images/SVN-Install-And-Settings-a-1.jpg" alt="設置配置文件" />
    • 配置文件中下面幾個參數(shù)(默認是注釋的):
      • anon-access: 對不在授權名單中的用戶訪問倉庫的權限控制,有三個可選性:write、read、none
        • none 表示沒有任何權限
        • read 表示只有只讀權限
        • write 表示有讀寫權限
      • auth-access:對在授權名單中的用戶訪問倉庫的權限控制,有三個可選性:write、read、none
        • none 表示沒有任何權限
        • read 表示只有只讀權限
        • write 表示有讀寫權限
      • password-db:指定用戶數(shù)據(jù)配置文件
      • authz-db:指定用戶權限配置文件
      • realm:指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的認證域相同,建議使用相同的用戶名口令數(shù)據(jù)文件
        • 當前實例的配置內(nèi)容:realm = myrepo
  • 添加用戶

    • 編輯配置文件:vim /opt/svn/repo/conf/passwd
    • http://wiki.jikexueyuan.com/project/linux-in-eye-of-java/images/SVN-Install-And-Settings-a-2.jpg" alt="添加用戶" />
    • 添加用戶很簡答,如上圖所示在配置文中添加一個格式為:用戶名 = 密碼 的即可
  • 設置用戶權限

    • 編輯配置文件:vim /opt/svn/repo/conf/authz
    • http://wiki.jikexueyuan.com/project/linux-in-eye-of-java/images/SVN-Install-And-Settings-a-3.jpg" alt="設置用戶權限" />
    • 配置文件中幾個參數(shù)解釋:
      • r 表示可寫
      • w 表示可讀
      • rw 表示可讀可寫
      • * = 表示除了上面設置的權限用戶組以外,其他所有用戶都設置空權限,空權限表示禁止訪問本目錄,這很重要一定要加上
      • [groups] 表示下面創(chuàng)建的是用戶組,實際應用中一般我們對使用者都是進行分組的,然后把權限控制在組上,這樣比較方便。使用組權限方式:@組名 = rw
  • 啟動服務

    • svnserve -d -r /opt/svn/repo/ --listen-port 3690
      • -d 表示后臺運行
      • -r /opt/svn/repo/ 表示指定根目錄
      • --listen-port 3690 表示指定端口,默認就是 3690,所以如果要用默認端口這個也是可以省略掉的
  • 停止服務

    • killall svnserve
  • 測試
    • iptables 處理
      • 一種方式:先關閉 iptables,防止出現(xiàn)攔截問題而測試不了:service iptables stop
      • 一種方式:在 iptables 中添加允許規(guī)則(svn 默認端口是 3690):
        • 添加規(guī)則:sudo iptables -I INPUT -p tcp -m tcp --dport 3690 -j ACCEPT
        • 保存規(guī)則:sudo /etc/rc.d/init.d/iptables save
        • 重啟 iptables:sudo service iptables restart
    • 在 Windows 的 svn 客戶端上訪問:svn://192.168.0.110

SVN 設置提交之后可修改提交的 Message 信息

  • 默認的 SVN 是無法修改提交后的 Message 信息的,修改會報如下錯誤:
  • http://wiki.jikexueyuan.com/project/linux-in-eye-of-java/images/SVN-Install-And-Settings-a-4.jpg" alt="SVN 設置提交之后可修改提交的 Message 信息" />
  • 解決辦法:
    • 下載我 hooks 文件:http://pan.baidu.com/s/1c1jtlmw
    • 把 pre-revprop-change 文件放在你的倉庫下,比如我倉庫地址是:/opt/svn/repo/hooks
      • 編輯該文件:vim /opt/svn/repo/hooks/pre-revprop-change
      • 把文件尾巴的這句腳本:echo "$1 $2 $3 $4 $5" >> /opt/svn/repo/logchanges.log,改為:echo "$1 $2 $3 $4 $5" >> /你的倉庫地址/logchanges.log
      • 你在該目錄下也可以看到一個文件 pre-revprop-change.tmpl,這個其實就是 svn 提供給你模板,其他的那些你有興趣也可以研究下

資料