安裝步驟:
1.安裝Apache2
sudo apt-get install apache2
如果第一次沒有安裝成功,用 sudo apt-get update 進行更新,會提示你繼續安裝。
安裝好後:在apache2.conf 最後添加上 ServerName 192.168.0.111
啓動apache:
- // Apache
- //Task: Start Apache 2 Server /啓動apache服務
- # /etc/init.d/apache2 start
- //or
- $ sudo /etc/init.d/apache2 start
- //Task: Restart Apache 2 Server /重啓apache服務
- # /etc/init.d/apache2 restart
- //or
- $ sudo /etc/init.d/apache2 restart
- //Task: Stop Apache 2 Server /停止apache服務
- # /etc/init.d/apache2 stop
- //or
- $ sudo /etc/init.d/apache2 stop
- // Mysql
- /etc/init.d/mysql start
- /etc/init.d/mysql stop
- /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創建數據庫
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;