天天看点

ubuntu server 安装svn svnmanager ssl svn+apache2 集成

安装svn和svn与apache集成的必要.so文件 执行:

apt-get -y install libapache2-svn apache2-mpm-prefork subversion subversion-tools 
           

安装完成后输入

svn --version  
           

[img]http://dl.iteye.com/upload/attachment/249164/bf4e5668-d70a-3fe2-86af-3e5518a18d3c.jpg[/img]

测试是否安装成功

如果安装成功, 接着 SVN + apache 集成步骤:

在/etc/apache2/site-aviliables下建立dev-svn文件命令如下:

sudo touch /etc/apache2/sites-aviliables/dev-svn  
           

编辑文件

sudo vim /etc/apache2/sites-aviliales/dev-svn
           

在文件中加入一下内容:

<Location /svn>   
           DAV svn   
           #/srv/svn是你的svn版本库路径   
           SVNParentPath /srv/svn   

           AuthType Basic   
           AuthName "Subversion Repository"  
           AuthUserFile /etc/apache2/dav_svn.passwd   

           AuthzSVNAccessFile /etc/apache2/dav_svn.authz   
           SVNListParentPath On   
          Require valid-user   
 </Location> 
           

[color=red]注意: 内容中的SVNParentPath /srv/svn 路径如果系统中没有的话,就手动建一个空文件[/color]

使subversion 目录能被 apache 进程所访问:

sudo chown -R www-data.www-data /srv/svn  
           

创建apache访问账号文件:

sudo mkdir /etc/apache2/dav_svn.passwd
           
sudo mkdir /etc/apache2/dav_svn.authz
           

[color=green]SVNManager安装[/color]

安装PHP支持类库:

apt-get install php-pear 
           
pear install -a VersionControl_SVN-0.3.3
           

手动下载svnmanager

[url]http://sourceforge.net/projects/svnmanager/files/[/url]

下载后解压到一个目录下,我的解压到了/opt目录下

进入解压后的svnmanager目录下,修改config.php.linux复制为config.php

[img]http://dl.iteye.com/upload/attachment/249175/b334f7cb-1d14-3570-ae01-4623347ccb15.jpg[/img]

修改config.php文件内容为:

[img]http://dl.iteye.com/upload/attachment/249180/d6b9ff96-a63f-3c63-958e-f4ec0ca6aaa4.jpg[/img][img]http://dl.iteye.com/upload/attachment/249182/19eda93a-46c1-3538-b2da-aeff8b2028c6.jpg[/img]

注意上图中的配置

修改文件,确保svnmanager有足够权限访问

chmod 777 /etc/apache2/dav_svn.passwd   
chmod 777 /etc/apache2/dav_svn.authz  
           

数据库的配置:

mysql –u root –p 
           
Mysql>create database svnmanager; 
Mysql>grant all privileges on svnmanager.* to 'svnmanager'@'localhost' identified by '[访问用户密码]'; 
Mysql>FLUSH PRIVILEGES; 
Mysql>quit;
           

注意:在执行grant语句是,例如:用户密码为password,那么语句为

grant all privileges on svnmanager.* to 'svnmanager'@'localhost' identified by 'password';

要去掉“[]”括号

[color=green]安装ssl [/color]

apt-get install openssl  
           
apt-get install ssl-cert  
           
a2enmod ssl 
           

创建apache下的ssl目录:

mkdir /etc/apache2/ssl  
           

创建证书相关文件

进入/etc/apache2/ssl目录,创建私鈅,需要输入两次相同的关键字:

cd /etc/apache2/ssl
           
openssl genrsa -des3 -out my-server.key 1024  
           

创建证书:

openssl req -new -key my-server.key  -x509 -out my-server.crt -config /etc/ssl/openssl.cnf 
           

创建完证书后,每次重启apache,都会提示输入密码,这样很不方便,如果系统重启,需要手工干预,所以执行下面的命令可以省去这个步骤:

sudo openssl rsa -in my-server.key.org  -out my-server.key
           

[img]http://dl.iteye.com/upload/attachment/249190/804e1da2-664c-33cf-ae72-2347f6c7a40b.jpg[/img]

[img]http://dl.iteye.com/upload/attachment/249192/70118f5e-ca09-311d-bf98-602e5bd69bec.jpg[/img]

重启apache验证是否成功

sudo /etc/init.d/apache2 restart
           

创建站点文件/etc/apache2/sites-available/ssl

sudo touch /etc/apache2/sites-available/ssl 
           

添加内容:

ssl站点设为可运行:

a2ensite ssl 
           

到此svnmanager svn ssl已经配置成功!

测试:

https://192.168.2.119/svnmanager/
           

其中192.168.2.119修改你的IP地址

成功后的效果为:

[img]http://dl.iteye.com/upload/attachment/249194/039c610f-0ed3-384c-b282-2528505ab2ea.jpg[/img]

一般初始的用户名密码都为: admin