关闭

ubuntu下svn+svnmanager搭建

标签: linuxsvnsvnmanager
1071人阅读 评论(0) 收藏 举报
分类:

1、准备

1.1、安装基础库

apt-get update  
apt-get upgrade -y
apt-get install apache2 subversion apache2-utils libapache2-svn 
apt-get install mysql-server mysql-client 
apt-get install php5 php5-mysql php5-sqlite php-pear  
pear install VersionControl_SVN-0.3.4 
##使apche2模块生效
a2enmod dav_svn authz_svn 

1.2、创建基础目录

#创建仓库主文件夹  
mkdir -p /var/svn/repos  
#创建仓库配置文件夹
mkdir -p /var/svn/svnconfig 

#添加subversion组
groupadd subversion  
#将www-data用户加入subversion组 
gpasswd -a www-data subversion  

#创建密码文件和访问控制文件并赋权(这两个文件由SVNManager维护)  
touch /var/svn/passwdfile /var/svn/accessfile  
#赋于文件仓库的访问权限 
chown -R www-data:subversion  /srv/svn   
chmod -R g+rws /srv/svn 

1.3、下载svnmanager

wget http://prdownloads.sourceforge.net/svnmanager/svnmanager-1.09.tar.gz
tar -xvf svnmanager-1.09.tar.gz
mv svnmanager-1.09 /var/www/

2、配置

2.1、配置apache支持svn

vim /etc/apache2/mods-available/dav_svn.conf
#写入如下内容
<Location /svn>  
	DAV svn                                                          
	SVNParentPath /var/svn/repos  
	AuthType Basic                                                    
	AuthName "SVN Repositories"                                       
	AuthUserFile /var/svn/passwdfile  
	AuthzSVNAccessFile /var/svn/accessfile         
    Require valid-user      
</Location>  
#使配置文件生效
ln -s /etc/apache2/mods-available/dav_svn.conf /etc/apache2/mods-enabled/dav_svn.conf

2.2、配置mysql

#创建svnmanager数据库并添加svnmanager用户和密码123456
mysql -u root -p  
mysql> CREATE DATABASE svnmanager;  
mysql> GRANT all privileges on svnmanager.* to 'svnmanager'@'localhost' identified by '123456';  
mysql> FLUSH PRIVILEGES;  
mysql> exit 

2.3、配置svnmanager

cp /var/www/svnmanager/config.php.linux /var/www/svnmanager/config.php  
vim /var/www/svnmanager/config.php   
#修改config.php如下配置项:  
$lang = "en_US.utf8";  
$htpassword_cmd = "/usr/bin/htpasswd";  
$svn_cmd = "/usr/bin/svn";  
$svnadmin_cmd = "/usr/bin/svnadmin --config-dir /var/svn/svnconfig";  
  
$svn_config_dir  =  "/var/svn/svnconfig";  
$svn_repos_loc   =      "/var/svn/repos";  
$svn_passwd_file =      "/var/svn/passwdfile";  
$svn_access_file =      "/var/svn/accessfile";  
  
$smtp_server = "smtp.163.com";  
$dsn  = "mysqli://svnmanager:123456@localhost/svnmanager"  

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

2.4、配置中文路径支持

#使SVNManager的web页面支持中文路径
vim /usr/share/php/VersionControl/SVN.php  
#将下行  
exec("{$this->prepend_cmd}$cmd 2>&1", $out, $ret_var);  
#改为:  
exec("LANG=zh_CN.UTF-8; {$this->prepend_cmd}$cmd 2>&1", $out, $ret_var); 

2.5、使svnmanager可访问

vim /etc/apache2/sites-available/000-default.conf
#设置svnmanager根目录
DocumentRoot /var/www/svnmanager-1.09


2.6、重启apache

service apache2 restart


3、使用服务 

3.1、访问首页

http://localhost
使用用户名admin,密码admin登录;

第一次访问时会提示没有数据库,然后自动帮你建表,再访问一次就可以正常访问初始界面

注意这是临时账户只能登录一次,所以在登录成功后第一件事就是添加一个管理员账户;如果忘记创建了那么你就需要清空数据库重新访问url


3.2、添加用户:




3.3、添加仓库



3.4、添加权限



3.5、访问仓库

http://localhost/svn/sendbox
注意:这里要添加一个svn路径前缀,后面加仓库名;这里仓库名必须全部小写,即使你创建的时候用到了大写

输入你有权限访问改仓库的账号和密码




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1429402次
    • 积分:11117
    • 等级:
    • 排名:第1417名
    • 原创:160篇
    • 转载:28篇
    • 译文:0篇
    • 评论:148条
    文章分类
    最新评论