Apache+Subversion+TortoiseSVN
发布日期:2021-09-08 15:09:16 浏览次数:6 分类:技术文章

本文共 2711 字,大约阅读时间需要 9 分钟。

Key words: dav_svn, apache, subversion, tortoisesvn


# install apache2

sudo apt-get install libapache2-svn apache2

# install subversion

sudo apt-get install subversion


# enable the module mod_dav_svn


sudo a2enmod ssl

sudo a2enmod dav_svn


# create the directory for svn

mkdir -p /var/svn


# create the SVN repository

 sudo svnadmin create /var/svn/repoOne

 (then grant the necessary for the account apache will be running under. say we will run under the default account of ubuntu, then make ubuntu the owner of the repository)

 sudo chown -R ubuntu repoOne

 (Need to make sure the apache account has sufficient permission to this folder.)


# edit the envars

vi /etc/apache2/envars, change as below:


export APACHE_RUN_USER=ubuntu

export APACHE_RUN_GROUP=ubuntu


# create svn authentication file under /etc/apache2/svn-auth-file


##first user for userOne(need "-c" argument as to create a new auth file)

sudo htpasswd -cm /etc/apache2/svn-auth-file userOne [PWD]

##second user for userTwo

sudo htpasswd -m /etc/apache2/svn-auth-file userTwo [PWD]


# edit dav_svn.conf


vi /etc/apache2/mods-enabled/dav_svn.conf, so apache knows all accesses to the resource under the directory need to be handled by the module of mod_dav_svn.


<Location /svn>

  DAV svn

  SVNParentPath /var/svn

  AuthType Basic

  AuthName "Subversion Repository"

  AuthUserFile /etc/apache2/svn-auth-file

  Require valid-user

  SSLRequireSSL

</Location>


## For AuthType, there can be two options:


Basic: this will leverage the ssl over http communication

DSA: not recommended


## For SVNParentPath, easy for new repository creation, otherwise use SVNPath instead for single repository


# create self assigned cert

sudo apt-get install ssl-cert

sudo mkdir /etc/apache2/ssl

sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem


# new virtual host for svn


create a new virtual server called "svnserver" under /etc/apache2/sites-enabled, contents as below:


NameVirtualHost *:443

<VirtualHost *:443>

        ServerName serverName

        ServerAdmin webmaster@localhost

        SSLEngine on

        SSLCertificateFile /etc/apache2/ssl/apache.pem

        SSLProtocol all

        SSLCipherSuite HIGH:MEDIUM

        DocumentRoot /var/svn


        ErrorLog ${APACHE_LOG_DIR}/error_svn.log


        # Possible values include: debug, info, notice, warn, error, crit,

        # alert, emerg.

        LogLevel warn

</VirtualHost>


# restart apache

sudo service apache2 restart


# check svn setup 

put the link either in browser or TortoiseSVN

https://serverName/svn/repoOne/

Reference:

http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.serverconfig.choosing.apache

http://stackoverflow.com/questions/60736/how-to-setup-a-subversion-svn-server-on-gnu-linux-ubuntu



本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5266397.html,如需转载请自行联系原作者

转载地址:https://blog.csdn.net/weixin_34326429/article/details/90163511 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:第 32 章 utility
下一篇:Windows 7远程桌面 重启 关机 任务管理器 命令

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月01日 23时36分22秒