Ubuntu Server 10.4 使用经历(五) 之 Subversion

Ubuntu下SVN服务器搭建
本文详细介绍如何在Ubuntu Server 10.4环境下搭建Subversion版本控制系统,包括SVN及SVNManager的安装配置,以及支持svn://和https://访问方式的设置。

为了做自己项目的版本控制,搭建一个简单的Subversion的版本控制服务器。

好久没有搭建和使用版本控制服务器,最近使用经验还停留在微软的TFS状态,这次选择Subversion。网上看到了很多关于Subverion和git比较的文章,这里不在重复,后续考虑使用git,最近为了把项目跑西来,并且简单实用,还是选择了Subversion入手。由于本人多年不从事开发项目(常做项目实施),所以很多需要补充学习。

安装过程给大家借鉴,也参考很多网上其他文章,主要参考:http://wangxc.javaeye.com/blog/665962 这里特地声明

当然也有相应的改动适应我搭建的Ubuntu服务器环境,言归正传,搭建开始。

环境说明:

Ubuntu Server 10.4

已经安装SSH

已经安装LAMP

搭建目标:

安装SVN 支持svn://方式访问

安装SVNManager 支持 https://方式访问

1.安装svn

单独安装 如果只实现第一个目标


  
sudo apt - get install subversion


apache集成安装 如果想实现两个目标


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

2.目录文件 配置

创建svn目录 我今后svn项目保存的目录


  
sudo mkdir /XXX / svn


编辑dev-svn站点文件,建立一个空文件,使apache可以访问


  
sudo vim / etc / apache2 / sites - aviliales / dev - svn
svn sudo chown -R www-data.www-data /XXX/svn

建立密码和授权文件,空文件 


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

3.安装PHP支持类库: 我安装时最新版本为0.3.4 sudo -i 获得root授权,懒得敲sudo了,呵呵


  
apt - get install php - pear
pear install
- a VersionControl_SVN - 0.3 . 4


手动下载svnmanager
http://sourceforge.net/projects/svnmanager/files/

4.修改config.php文件内容


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

$svn_repos_loc = " /XXX/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://yourdatabase:yourpassword@localhost/svnmanager " ;

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

?>

其中dsn中的数据库需要你提前在mysql中建立,其它目录文件请参考前面建立情况对应调整

数据库创建参考 


  
mysql –u root –p

Mysql > create database svnmanager;
Mysql > grant all privileges on svnmanager .* to ' svnmanager ' @ ' localhost ' identified by 'password ' ;
Mysql > FLUSH PRIVILEGES;
Mysql > quit;

 5.安装SSL


  
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 cp my - server.key my - server.key.org
sudo openssl rsa
- in my - server.key.org - out my - server.key
sudo
/ etc / init.d / apache2 restart

创建ssl站点文件 svnmanager管理工具使用


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

文件主要内容


  
NameVirtualHost *:443
< VirtualHost *:443 >
ErrorLog /var/log/apache2/error.log

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 /XXX/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 "/opt/svnmanager-1.08/"
< Directory "/opt/svnmanager-1.08/" >
SSLRequireSSL
</ Directory >

</ VirtualHost >

  
a2ensite ssl

启动后,https 站点 svnmanager目录可以访问,可以创建管理svn了,同时打开了https连接svn的方式

6.打开svn://访问方式

以上ssl方式可以不需要,直接操作此步可以,但需要通过svn命令行方式创建版本控制库。


  
sudo svnserve - d - r /XXX / svn

我将此命令添加到了服务器启动文件中rc.local,这样就可以自动启动此服务了。

默认情况下svn://连接方式用户名密码和https并不是在一起的,需要单独维护,他会在你的库目录下的conf目录中看到passwd文件维护

至此搭建完成

当然为了服务器的正常访问,我还调整了路由器的配置等,那些就不在这里阐述了,保证局域网的畅通就好了。


附加 MySQL root 密码恢复,由于本人长时间没有管理Ubuntu中的LAMP,所以MySQL密码忘记,呵呵!
Stop the MySQL Server.


  
sudo / etc / init.d / mysql stop
sudo service mysql stop

Start the mysqld configuration.


  
sudo mysqld -- skip - grant - tables &


Login to MySQL as root.


  
mysql - u root mysql


Replace YOURNEWPASSWORD with your new password!


  
UPDATE user SET Password = PASSWORD('YOURPASSWORD') WHERE User = 'root'; FLUSH PRIVILEGES; exit;


Start the MySQL Server


  
sudo service mysql start

转载于:https://www.cnblogs.com/ginoz/archive/2011/03/24/1994008.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值