jasmine214--love

          只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          SVN的安裝和配置

          技術準備
          檢查軟件包your_package是否安裝
          #rpm -qa | grep your_package
          安裝your_package軟件包
          #rpm -ivh your_package
          或者
          #rpm -Uvh your_package

          步驟1、檢查并安裝SVN以及相關軟件包
          請確認下面軟件包有沒有安裝,如果沒有安裝,請到rhel5/centos5光盤找到這些軟件包并安裝
          openssl-0.9.8b-8.3.el5
          openssl-devel-0.9.8b-8.3.el5
          mod_ssl-2.2.3-6.el5
          mod_auth_mysql-3.0.0-3.1
          mysql-server-5.0.22-2.1
          mysql-5.0.22-2.1
          mysql-devel-5.0.22-2.1
          subversion-1.4.2-2.el5
          mod_dav_svn-1.4.2-2.el5
          如果安裝正常的話,應該在/etc/httpd/modules目錄下能找到這些模塊
          mod_authz_svn.so
          mod_dav_svn.so
          mod_auth_mysql.so

          步驟2、初始化repository
          創建svn的項目庫父路徑,我把/svn/repos做為svn的項目庫父路徑。這個目錄是任意的,如果是多個項目庫則必須在同一個父路徑下
          #mkdir /svn/repos
          我們通過如下命令初始化一個svn項目庫TelecomRepositorys
          #svnadmin create /svn/repos/TelecomRepositorys
          重復上面的命令創建多個項目庫,如
          #svnadmin create /svn/repos/OtherRepositorys
          或者你指定SVN庫的存儲方式
          #svnadmin create –fs-type fsfs /svn/repos/TelecomRepositorys
          或者
          #svnadmin create –fs-type bdb /svn/repos/TelecomRepositorys
          默認是bdb(Berkeley DB)的存儲方式,不過一般人更喜歡fsfs的存儲庫方式

          步驟3、創建登陸用戶文件[如果用數據庫認證的話,此步可忽略]
          在/svn目錄下創建登陸用戶文件.htpasswd以及2個用戶test1,test2
          #htpasswd -c /svn/.htpasswd test1
          #htpasswd /svn/.htpasswd test2

          步驟4:創建認證數據庫[如果用登陸用戶文件認證的話,此步可忽略]
          登陸mysql
          #mysql -u root -p
          創建數據庫svn_auth
          mysql>create database svn_auth;
          mysql>user svn_auth;
          創建用戶svn
          mysql>GRANT ALL PRIVILEGES ON *.* TO svn@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
          創建表users
          mysql> CREATE TABLE users (
          ->   user_name CHAR(30) NOT NULL,
          ->   user_passwd CHAR(20) NOT NULL,
          ->   PRIMARY KEY (user_name)
          -> );
          添加2個測試帳號
          mysql> insert into users values(’test1′, ENCRYPT(’password’));
          mysql> insert into user values(’test2′, ENCRYPT(’password’));
          mysql>commit;

          步驟5、SVN訪問控制
          在/svn目錄下創建訪問控制文件文件svnaccess,名字任意,不過在以后的配置過程中你必須使用正確的名字,文件內容為

          [groups]
          # harryharry_and_sally = harry,sally
          [/]
          *=rw
          我們可以看到最后2行才是有效的,意思是對所有的項目,所有人都有讀寫(rw)的權限,當然我們還可以對某個項目單獨進行限制,設置如下

          [groups]
          # harryharry_and_sally = harry,sally

          [TelecomRepositorys:/]
          test1=r
          *=rw
          意思是對于項目庫TelecomRepositorys,用戶test1只有讀權限,其他人有讀寫權限

          步驟6、Apache和SVN集成
          編輯apache的配置文件/etc/httpd/conf/httpd.conf文件或者/etc/httpd/conf.d/subversion.conf文件
          如果你使用登陸文件認證的方式(步驟3),添加如下內容

          <Location /svn>
          DAV svn
          SVNParentPath /svn/repos
          AuthzSVNAccessFile /svn/svnaccess
          AuthType Basic
          AuthName “SVN Repositorys”
          AuthUserFile /svn/.htpasswd
          Require valid-user
          </Location>
          如果你使用數據庫認證的方式(步驟4),添加如下內容

          <Location /svn>
          DAV svn
          SVNParentPath /svn/repos
          AuthzSVNAccessFile /svn/svnaccess
          AuthName “SVN Repositorys”
          AuthType Basic
          AuthMYSQLEnable on
          AuthMYSQLUser svn
          AuthMySQLPassword password
          AuthMYSQLDB svn_auth
          AuthMYSQLUserTable users
          AuthMYSQLNameField user_name
          AuthMYSQLPasswordField user_passwd
          Require valid-user
          </Location>
          我們可以看到/svn/svnaccess,/svn/.htpasswd是我們創建的文件,如果名字自定義的話,請在http.conf配置正確,同樣需要正確配置的還有數據庫用戶svn,數據庫svn_auth,表名users等等。

          步驟7、安全訪問設置[必須設置,否則svn無法訪問]
          修改目錄的屬主和訪問權限
          #chown apache.apache -R /svn
          #chmod 755 -R /svn

          修改SELinux的設置
          禁用SELinux(強烈不推薦)或者在SELinux圖形管理界面中勾上Disable SELinux protection for httpd daemon這個選項,否則apache這個虛擬用戶無法訪問/svn目錄,當然你也可以用更好的方法設置apache的訪問權限.

          步驟8、重新啟動Apache服務器
          執行如下命令
          #service httpd restart
          或者
          #/etc/init.d/httpd restart
          鍵入下面的url看是否能正確的訪問svn。
          http://localhost/svn/TelecomRepositorys

          原文:http://blog.cnlaoke.com/2009/08/03/44/

          主站蜘蛛池模板: 汉中市| 广宗县| 永宁县| 精河县| 客服| 定西市| 土默特左旗| 涪陵区| 聂拉木县| 张家港市| 随州市| 晋宁县| 石渠县| 汉阴县| 礼泉县| 喀喇沁旗| 安福县| 怀集县| 靖安县| 当涂县| 枣强县| 前郭尔| 青海省| 普定县| 云安县| 铁岭县| 红河县| 寿光市| 玉树县| 光山县| 新源县| 常山县| 香格里拉县| 嘉黎县| 宝坻区| 霍林郭勒市| 成都市| 定边县| 甘泉县| 鹤庆县| 华阴市|