Ubuntu server服务器搭建

Ubuntu server下的svn svnmanager ssl安装 svn+apache2集成

安装svn和svn与apacche集成的必要.so文件 执行:
apt-get -y install libapache2-svn apache2-mpm-prefork subversion subversion-tools


完成之后输入命令
svn --version
看是否安装成功

接下来的就是svn+apacche集成步骤:

在/etc/apache2/sites-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>


使subversion目录可被apache进程访问:

代码:
sudo chown -R www-data.www-data /srv/svn



创建apache访问帐号文件:/etc/apache2/dav_svn.passwd,创建空文件即可。

创建授权文件:/etc/apache2/dav_svn.authz,空文件即可。

SVN Manager的安装

安装PHP支持类库:

pear install -a VersionControl_SVN-0.3.1


安装的时候遇到了一些问题:
 
引用
程序 'pear' 尚未安装。  如需运行 'pear',请要求管理员安装 'php-pear'
   -bash: pear:找不到命令

于是执行一下命令
apt-get install php-pear

继续执行
pear install -a VersionControl_SVN-0.3.1

成功安装!

下载svnmanager http://sourceforge.net/projects/svnmanager/files/
本文的附件中也有
解压到你想要的目录下。

进入到svnmanager的目录下
修改将config.php.linux复制为config.php。

并修改文件内容为:

<?php
$htpassword_cmd                         =         "/usr/bin/htpasswd";
$svn_cmd                                 =         "/usr/bin/svn";
$svnadmin_cmd                                 =         "/usr/bin/svnadmin";

$svn_repos_loc                                 =         "/srv/svn";
$svn_passwd_file                         =         "/etc/apache2/dav_svn.passwd";
$svn_access_file                         =         "/etc/apache2/dav_svn.authz";

$svn_trash_loc                                =        "";

$svnserve_user_file="";

$smtp_server                         =         "smtp.mailserver.net";

$dsn = "mysql://root:@localhost/svnmanager";

$admin_name                                =        "admin";
$admin_temp_password                        =        "admin";

?>

执行下面语句,确保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;

下载汉化包并安装
附件中有汉化包安装方法在汉化包中有
安装ssl
安装openssl:

apt-get install openssl


安装ssl-cert:

apt-get install ssl-cert


a2enmod ssl


创建apache下的ssl目录:

mkdir /etc/apache2/ssl

创建证书相关文件

进入/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,都会提示输入密码,这样很不方便,如果系统重启,需要手工干预,所以执行下面的命令可以省去这个步骤:


引用
@dev:/etc/apache2/ssl$ sudo cp my-server.key my-server.key.org
@dev:/etc/apache2/ssl$ sudo openssl rsa -in my-server.key.org  -out my-server.key

重启apache 验证是否成功。

创建站点文件/etc/apache2/sites-available/ssl,主要内容
NameVirtualHost *:443
<VirtualHost *:443>
        ServerName www.test.com
        ServerAdmin webmaster@localhost

        DocumentRoot "/srv/www/dev"
        <Directory / >
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /srv/www/dev>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/my-server.crt
        SSLCertificateKeyFile /etc/apache2/ssl/my-server.key

        <Location /svn>
           DAV 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>

        Alias /svnmanager "/srv/svnmanager/svnmanager1.0/"
        <Directory "/srv/svnmanager/svnmanager1.0/">
          SSLRequireSSL
        </Directory>

</VirtualHost>


注意:

这个文件会替代上边提到的dev-svn文件

ssl站点设为可运行:
a2ensite ssl


到此svnmanager svn ssl已经配置成功

以上参考: http://bbs.easymorse.com/viewthread.php?tid=115&extra=page%3D1

你可能感兴趣的:(java,mysql,SVN,ubuntu,subversion)