Ubuntu服務器端安裝SVN和SVNManager

安裝步驟:
1.安裝Apache2
  sudo apt-get install apache2
     如果第一次沒有安裝成功,用 sudo apt-get update 進行更新,會提示你繼續安裝。
     安裝好後:在apache2.conf 最後添加上 ServerName  192.168.0.111
     啓動apache:
  1. // Apache  
  2. //Task: Start Apache 2 Server /啓動apache服務  
  3. # /etc/init.d/apache2 start  
  4. //or  
  5. $ sudo /etc/init.d/apache2 start  
  6. //Task: Restart Apache 2 Server /重啓apache服務  
  7. # /etc/init.d/apache2 restart  
  8. //or  
  9. $ sudo /etc/init.d/apache2 restart  
  10. //Task: Stop Apache 2 Server /停止apache服務  
  11. # /etc/init.d/apache2 stop  
  12. //or  
  13. $ sudo /etc/init.d/apache2 stop   
  14. // Mysql  
  15. /etc/init.d/mysql start  
  16. /etc/init.d/mysql stop  
  17. /etc/init.d/mysql restart  

啓動時可能包窗口已被佔用:用ps -aux | grep http命令查看   如果是用 sudo killall httpd //將httpd標誌的進程全部殺死
  在瀏覽器中輸入:http://192.168.0.111 如果出現apache成功頁面,就表示安裝成功了。

2.安裝SVN
  sudo apt-get install subversion
sudo apt-get install libapache2-svn   //這是安裝apache集成svn的文件。有了這一步可以避免自己手動的去配置apache。集成之後需要配置文件/etc/apache2/mods-available/dav_svn.conf
這裏出現一個嚴重問題:後面svn下的目錄會訪問不到。原因是(有了這一步可以避免自己手動的去配置apache)apache2.conf文件沒有把apache集成svn的對應配置文件加載進去。  解決辦法:將配置文件中的內容直接寫到httpd.conf文件裏面。

3.配置SVN

  創建SVN版本庫的父目錄

  sudo mkdir /var/svn/repos

  創建控制用戶訪問權限的文件

  sudo touch /var/svn/repos/accessfile

  創建驗證用戶的密碼文件

  sudo touch /var/svn/repos/passwdfile

  更改文件的讀寫權限

  sudo chmod 666 accessfile passwdfile

4.安裝MySQL
  sudo apt-get install mysql-server mysql-client  //如果已經安裝系統會提示你,如果沒有安裝那在安裝過程中需要你設置mysql的root賬號的密碼

5.安裝PHP
  sudo apt-get install php5 php5-mysql php5-sqlite php-pear

  sudo pear install -a VersionControl_SVN-0.3.1

6.安裝svnmanager

  下載svnmanager:      

  wget http://prdownloads.sourceforge.net/svnmanager/svnmanager-1.08.tar.gz

  解壓並放置到/var/www/下

  tar zxvf svnmanager-1.08.tar.gz

  mv svnmanager-1.08  /var/www/svnmanager

7.爲svnmanager創建數據庫
mysql  –uroot –p

Mysql
>create database svnmanager;

Mysql
>grant all privileges on svnmanager.* to 'svnmanager'@'localhost' identified by '123456';

Mysql
>flush  privileges ;

Mysql
>exit

8.修改SVNManager的配置文件
  cp /var/.../svnmanager-1.08/config.php.linux /var/.../svnmanager1.08/config.php
修改下面的參數:
$htpassword_cmd = "/usr/bin/htpasswd";
密碼生成程序位置
$svn_cmd = "/usr/bin/svn";
svn程序文件位置
$svnadmin_cmd = "/usr/bin/svnadmin";
svnadmin程序文件位置
$svn_repos_loc = "/var/svn/repos ";
svn版本庫位置
$svn_passwd_file = "/var/svn/passwdfile";
密碼認證文件位置
$svn_access_file = "/var/svn/accessfile";
權限文件位置
$smtp_server = "zzh.kt.com";
指定smtp服務器
$dsn = "mysql://svnmanager:123456@localhost/svn";
指定連接數據庫
$admin_name = "admin";
默認
$admin_temp_password = "admin";
默認

$svn_config_dir  =  "/tmp"; 一定要設置 不然在版本庫根目錄不能創建svnmanager項目對應的目錄


10.apache整合tomcat(同時安裝apache和tomcat之後會出現一些訪問的問題需要進行整合可以參照下面的文章整合)
主要參考文章:http://www.cnblogs.com/itech/archive/2009/08/18/1548723.html

11.常見問題:如果"增加"了用戶但是,SVN連接的時候老是提示授權失敗(密碼錯誤)
請查看
/var/svn/repos/passwdfile 這個文件裏面是否也已經有了記錄。

12.常見問題:如果增加用戶時,老是提示你“郵箱驗證失敗”請到目錄/var/www/svnmanager/svnmanager-1.08/svnmanager/UserModule下刪除新增和修改頁面的郵箱驗證。

13. 常見問題:apache2整合svn時,將配置信息 
<Location /svn>
    DAV svn
    SVNParentPath /home/svn
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /etc/subversion/dav_svn.passwd
    AuthzSVNAccessFile /etc/subversion/dav_svn.authz
    Require valid-user
</Location>
添加到文件 /etc/apache2/mods-available/dav_svn.conf  中時可能沒有生效,此時直接把配置添加到/etc/apache2/httpd.conf配置文件中。

14.常見問題:整合svn重啓apache2的時候出現
Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
原因是沒有導入auth模塊。此時在/etc/apache2/mods-enabled/dav_svn.load中添加LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so 。

15.常見問題:上傳SVN是提示413文件過大錯誤。
a.“413 Request Entity Too Large”是由web server發出來的,表示HTTP請求中的內容太大,我的Web Server是“Apache Http”,所以需要在httpd.conf中加入如下配置:
LimitXMLRequestBody 0
LimitRequestBody 0
b.在nginx的server配置中增加 client_max_body_size 100M;




發佈了27 篇原創文章 · 獲贊 4 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章