suse linux 下搭建subversion筆記

一、準備工作:

                到apache官方網站下載最新的subversion及httpd安裝包。後續可能還需要一些依賴

二、安裝步驟

                1、安裝httpd

                              1) 解壓httpd   tar zxvf httpd-2.2.21.tar.gz

                               2)進入cd httpd-2.2.21

                               3)執行後面的命令  ./configure --enable-dav --enable-so --prefix=/opt/apache/ (注意:前兩個參數一定要給)

                                           執行到這一步可能會報一個:configure: error: no acceptable C compiler found in $PATH

                                           當遇到這個錯誤的時候是因爲你的服務器上沒有安裝 c 編譯環境,這時你需要插入linux系統光盤,安裝上 gcc

                                           (這裏只是舉一個例子,後續安裝過程中還會出現類似的問題,只要看準錯誤信息就能夠很快速的解決了)

                               4)執行 make

                               5)執行 sudo make install     (注:sudo指以超級管理員的權限去執行這個命令,每一次需要輸入root用戶密碼,默認5分鐘超時)

                               6)進入 cd /opt/apache/bin    啓動apache    ./apachectl start

                                            打開瀏覽器http://localhost/如果有測試頁"It works!"出現則證明已經安裝成功

                 2、安裝subversion

                               1)解壓subversion   tar zxvf subversion-1.7.1.tar.gz

                               2)進入subversion-1.7.1   cd subversion-1.7.1

                               3)執行命令  ./configure --with-apxs=/usr/local/apache/bin/apxs --prefix=/usr/local/subversion 

                                                     --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-openssl --with-zlib 

                                                     --enable-maintainer-mode

                                             (注意:執行到這裏可能會報一個:configure: error: subversion requires openssl  或者類似的錯誤,彆着急,那是因爲subversion安裝

                                             時需要一些依賴,可 能要早期的版本中這些依賴需要我們自己去下載,但是我使用的1.7已經不需要我們自己去下載了,你只需

                                             要在subversion-1.7.1目錄中執行一下 ./get-deps.sh ,這樣就會自動下載並安裝這個些依賴了,但是別高興得太早,這些依賴都是

                                             從國外的網站上面下載的,有些可能需要翻牆才能夠下載得下來,比如我在安裝時 zlib 這個依賴就下載不了,幾經周折才搞到手,

                                             需要自己下載的依賴還得自己安裝,程序幫助我們下載的依賴是自己安裝的,還有一點,下載的依賴必須拷貝到相應的目

                                             錄 subversion-1.7.1/build/generator/templates 然後進行安裝  ./configure --enable-dav --enable-so --prefix=/opt/apache/  )

                                             當所有都依賴裝好之後,再執行以上命令安裝subversion就沒問題了

                               4)執行命令  make

                               5)執行命令  sudo make install

                 3、創建倉庫

                               1)./svnadmin create /home/svnmanager/svn/         (注:svnmanager是指管理svn的linux用戶)

                               2)進入svn目錄,看是不是有些新的文件或者是目錄,如果有就證明創建成功了

                 4、svn配置

                              1)修改apache配置文件:httpd.conf文件,以實現用戶的訪問

                                          vi /opt/local/apache/conf/httpd.conf

                                         添加兩條語句    LoadModule dav_svn_module modules/mod_dav_svn.so

                                                                     LoadModule authz_svn_module modules/mod_authz_svn.so

                                         在文件末尾添加如下語句

                                         <Location /svn>
                                               DAV svn
                                               SVNPath /home/svnmanager/svn                                                     //svn 路徑
                                               AuthType Basic                                                                                      //連接類型
                                               AuthName "Subversion Repository"                                                 //
                                               AuthzSVNAccessFile /home/svnmanager/svn/conf/authz
                                               AuthUserFile /home/svnmanager/passwds                                   //用戶配置文件
                                               Require valid-user                                                                                //認證方式
                                        </Location>

                              2)重啓httpd

                                         在目錄  /usr/local/apache/bin/ 下執行  sudo apachectl -k restart

                                         在瀏覽器中訪問  http://localhost/svn,如果有東西顯示就說明成功

                  5、用戶權限管理

                               1)進入到  /opt/apache/bin

                               2)添加用戶  htpasswd –c /home/svnmanager/passwds user001

                                         (注:第一次設置用戶時使用-c表示新建一個用戶文件。回車後輸入用戶密碼,完成對用戶的增加;以後每次加入新的用戶,就不需要使用-c)

                                                    htpasswd /home/svnroot/repository/authfile

                               3)分配權限  vi /home/svnmanager/svn/conf/authz

                                          admin = user001
                                          devs = user002,user003,user004
                                          [svn:/]
                                          @admin = rw

                                          [svn:/folder001]
                                          @devs = rw

                                          [svn:/folder002]
                                          @devs = rw

                              4)修改 svnserve.conf

                                          去掉以下幾行的註釋:

                                          anon-access = read

                                          auth-access = write

                                          authz-db = authz

                                          password-db = passwd

                              5)修改管理賬號

                                          vi /home/svnmanager/svn/conf/passwd


                                          [users]

                                          user001=123456     //用戶名=密碼

                              6)修改執行權限及文件屬性

                                           chmod –R 755 /home/svnmanager/svn

                                           chown -R daemon /home/svn/*

                                           (可能會出現的錯誤:Can't open file 'svn/db/txn-current-locks':permission denied)

                                           (注意:在前面的一系列操作中都有可能誤用root用戶權限操作,而導致svn客戶端不能訪問svn服務器,當發生這樣的錯誤之後只要把軟件

                                           安裝目錄中的文件和目錄改爲管理svn的用戶就可以了,比如上面的  svnmanager  用戶。 但是svn倉庫的屬主必須是daemon用戶)

                                          

                                           (可能會出現的錯誤:Permission denied: make_sock: could not bind to address [::]:80

                                                                                    Permission denied: make_sock: could not bind to address 0.0.0.0:80)

                                           這個問題是怎麼解決的我忘了,如果上面的問題解決了這個好像也解決了

 三、大功告成                                          

                設置完成之後重啓apache,subversion就可以用了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章