ice world

          There is nothing too difficult if you put your heart into it.
          posts - 104, comments - 103, trackbacks - 0, articles - 0

          Debian Subversion(SVN)的安裝

          Posted on 2014-01-17 15:48 IceWee 閱讀(1232) 評論(0)  編輯  收藏 所屬分類: Others
          本文記錄的安裝步驟是基于基本安裝后的Debian,啟動后漆黑一片,只有命令行,采用在線安裝方式,因此配置中國的鏡像軟件源能提高軟件的下載速度,首先配置軟件源。

          備份源文件
          # cp /etc/apt/sources.list /etc/apt/sources.list.bak

          編輯源文件
          # nano /etc/apt/sources.list

          注釋掉本地光盤源這一行,注釋后如:
          # deb cdrom:[Debian GNU/Linux 6.0.7 _Squeeze_ - Official amd64 NETINST Binary-1 20130223-18:50]/ squeeze main

          取消下面兩行官方源前面的注釋
          deb http://security.debian.org/ squeeze/updates main
          deb-src http://security.debian.org/ squeeze/updates main

          追加163的鏡像源地址
          deb http://mirrors.163.com/debian/ squeeze main non-free contrib
          deb http://mirrors.163.com/debian/ squeeze-proposed-updates main contrib non-free
          deb http://mirrors.163.com/debian-security/ squeeze/updates main contrib non-free
          deb-src http://mirrors.163.com/debian/ squeeze main non-free contrib
          deb-src http://mirrors.163.com/debian/ squeeze-proposed-updates main contrib non-free
          deb-src http://mirrors.163.com/debian-security/ squeeze/updates main contrib non-free
          deb http://ftp.sjtu.edu.cn/debian/ squeeze main non-free contrib
          deb http://ftp.sjtu.edu.cn/debian/ squeeze-proposed-updates main contrib non-free
          deb http://ftp.sjtu.edu.cn/debian-security/ squeeze/updates main contrib non-free
          deb-src http://ftp.sjtu.edu.cn/debian/ squeeze main non-free contrib
          deb-src http://ftp.sjtu.edu.cn/debian/ squeeze-proposed-updates main contrib non-free
          deb-src http://ftp.sjtu.edu.cn/debian-security/ squeeze/updates main contrib non-free

          保存修改
          # ctrl + o 回車
          退出
          # ctrl + x

          更新源
          # apt-get update

          更新系統
          # apt-get upgrade

          安裝SVN服務器
          # apt-get install subversion subversion-tools

          安裝完成后可以運行命令查看SVN服務器版本信息
          # svnserve --version

          配置SVN
          首先創建版本庫的根目錄,如位置:/home/svn/repository,所有項目都將在該目錄下創建相應子文件夾
          # mkdir –p /home/svn/repository

          創建項目版本庫test(僅為演示)
          # svnadmin create /home/svn/repository/test


          修改SVN配置文件
          nano /home/svn/repository/test/conf/svnserve.conf

          以下為文件內容:
          ### This file controls the configuration of the svnserve daemon, if you
          ### use it to allow access to this repository.  (If you only allow
          ### access through http: and/or file: URLs, then this file is
          ### irrelevant.)

          ### Visit http://subversion.tigris.org/ for more information.

          [general]
          ### These options control access to the repository for unauthenticated
          ### and authenticated users.  Valid values are "write", "read",
          ### and "none".  The sample settings below are the defaults
          # 未授權配置為禁止訪問none,已授權配置為可以讀寫write
          anon-access = none
          auth-access = write
          ### The password-db option controls the location of the password
          ### database file.  Unless you specify a path starting with a /,
          ### the file's location is relative to the directory containing
          ### this configuration file.
          ### If SASL is enabled (see below), this file will NOT be used.
          ### Uncomment the line below to use the default password file.
          # 用戶數據庫文件,配置授權用戶,當前使用的文件是和svnserve.conf在相同目錄下的passwd文件,也可以指定其他絕對路徑文件,如:/home/svn/passwd
          password-db = passwd
          ### The authz-db option controls the location of the authorization
          ### rules for path-based access control.  Unless you specify a path
          ### starting with a /, the file's location is relative to the the
          ### directory containing this file.  If you don't specify an
          ### authz-db, no path-based access control is done.
          ### Uncomment the line below to use the default authorization file.
          # 授權文件,配置如同用戶配置
          authz-db = authz
          ### This option specifies the authentication realm of the repository.
          ### If two repositories have the same authentication realm, they should
          ### have the same password database, and vice versa.  The default realm
          ### is repository's uuid.
          # realm = My First Repository

          [sasl]
          ### This option specifies whether you want to use the Cyrus SASL
          ### library for authentication. Default is false.
          ### This section will be ignored if svnserve is not built with Cyrus
          ### SASL support; to check, run 'svnserve --version' and look for a line
          ### reading 'Cyrus SASL authentication is available.'
          # use-sasl = true
          ### These options specify the desired strength of the security layer
          ### that you want SASL to provide. 0 means no encryption, 1 means
          ### integrity-checking only, values larger than 1 are correlated
          ### to the effective key length for encryption (e.g. 128 means 128-bit
          ### encryption). The values below are the defaults.
          # min-encryption = 0
          # max-encryption = 256


          保存
          # ctrl + o 回車

          退出
          # ctrl + x

          配置用戶
          # nano passwd

          以下為文件內容:
          ### This file is an example password file for svnserve.
          ### Its format is similar to that of svnserve.conf. As shown in the
          ### example below it contains one section labelled [users].
          ### The name and password for each user follow, one account per line.

          [users]
          # harry = harryssecret
          # sally = sallyssecret
          IceWee = IceWee

          增加用戶IceWee,密碼也為IceWee,=號兩側需要有空格,保存(ctrl + o 回車)退出(ctrl + x)

          配置訪問權限
          # nano authz

          以下為文件內容:
          ### This file is an example authorization file for svnserve.
          ### Its format is identical to that of mod_authz_svn authorization
          ### files.
          ### As shown below each section defines authorizations for the path and
          ### (optional) repository specified by the section name.
          ### The authorizations follow. An authorization line can refer to:
          ###  - a single user,
          ###  - a group of users defined in a special [groups] section,
          ###  - an alias defined in a special [aliases] section,
          ###  - all authenticated users, using the '$authenticated' token,
          ###  - only anonymous users, using the '$anonymous' token,
          ###  - anyone, using the '*' wildcard.
          ###
          ### A match can be inverted by prefixing the rule with '~'. Rules can
          ### grant read ('r') access, read-write ('rw') access, or no access
          ### ('').

          [aliases]
          # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

          [groups]
          # harry_and_sally = harry,sally
          # harry_sally_and_joe = harry,sally,&joe
          developers = IceWee

          # [/foo/bar]
          # harry = rw
          # &joe = r
          # * =

          # [repository:/baz/fuz]
          # @harry_and_sally = rw
          # * = r

          [/]
          * = r
          IceWee = rw
          @developers = rw

          [/tags]
          IceWee = rw

          默認所有用戶可讀取根,IceWee可以讀寫根??梢苑謩e對子目錄進行授權,如上的tags目錄,IceWee具有讀寫權限,以及IceWee所在的組developers也具備讀寫權限。

          啟動SVN服務器
          # svnserve -d -r /home/svn/repository
          -d含義為后臺運行(daemon),-r指定的根目錄,如訪問test應該使用這樣的地址 svn://hostname:port/test

          停止SVN服務
          # killall svnserve

          備份還原命令,與oracle的備份有些類似
          導出
          # svnadmin dump /home/svn/repository/test > /home/bak/test.dump

          導入
          # svnadmin load /home/svn/repository/demo < /home/bak/demo.dump
          導入前提:
          必須先創建要導入版本庫目錄,如上的demo,則需要做以下操作
          # svnadmin create /home/svn/respository/demo
          修改svnserve.conf、passwd、authz等文件,前面已介紹


           





          主站蜘蛛池模板: 乌审旗| 冀州市| 司法| 定陶县| 扬州市| 清水县| 青浦区| 辰溪县| 琼结县| 石河子市| 珲春市| 临沭县| 渝北区| 府谷县| 彭州市| 沁阳市| 甘洛县| 谷城县| 五河县| 冀州市| 巴塘县| 舟山市| 昭苏县| 通江县| 清流县| 元谋县| 方城县| 富川| 怀化市| 峨山| 无棣县| 靖宇县| 武陟县| 纳雍县| 中西区| 台中市| 江源县| 句容市| 博爱县| 玉山县| 青田县|