安装步骤:
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;