如何设置了一个颠复(SVN)服务器上的GNU/Linux-Ubuntu[封闭]
题
我有一个笔记本电脑上运行Ubuntu,我想作为一种颠复服务器。既为自己致力于在本地,并为其他人远程。有哪些步骤需要得到这工作?请列步骤:
- 获得和配置Apache和必要的模块(我知道还有其他的方式来创建一个SVN服务器,但我会喜欢Apache-specific)
- 配置一种安全的方式访问服务器(SSH/HTTPS)
- 配置设定的授权用户(如在,他们必须授权的承诺,但是免费浏览)
- 验证设置与最初的提交("hello world"各种各样的)
这些步骤可能涉及的任何混合物的命令行或GUI应用程序的说明。如果可以的话,请注意在说明一个特定的分配或版本,并在一个用户选择一个特定的工具,可用来代替(说 纳米 而不是的 vi).
解决方案
步骤,我已经让我的笔记本电脑一个颠复服务器。信用必须去 AlephZarro 他的方向 在这里,.我现在有一个工作SVN服务器(其中有目前只有经过测试的本地).
特定的的设置:Kubuntu8.04哈苍鹭
要求遵循本指南:
- 易于得到包的管理程序
- 文字编辑(I使用凯特)
- sudo访问权
1:安装Apache HTTP服务器和所需要的模块:
sudo apt-get install libapache2-svn apache2
以下额外的软件包将安装:
apache2-mpm-worker apache2-utils apache2.2-common
2:启用SSL
sudo a2enmod ssl
sudo kate /etc/apache2/ports.conf
添加或检查,以下是在文件:
<IfModule mod_ssl.c>
Listen 443
</IfModule>
3:产生SSL证书:
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
4:建立虚拟的主机
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver
sudo kate /etc/apache2/sites-available/svnserver
改变(在港口。conf):
"NameVirtualHost *" to "NameVirtualHost *:443"
和(在svnserver)
<VirtualHost *> to <VirtualHost *:443>
添加下ServerAdmin(还在文件svnserver):
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
5:启用的网站:
sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart
要克服的警告:
sudo kate /etc/apache2/apache2.conf
添加:
"ServerName $your_server_name"
6:增加储存库(ies):以下安装假设我们希望主办的多个储存库。运行,这对于创建第一个储存库:
sudo mkdir /var/svn
REPOS=myFirstRepo
sudo svnadmin create /var/svn/$REPOS
sudo chown -R www-data:www-data /var/svn/$REPOS
sudo chmod -R g+ws /var/svn/$REPOS
6.a.更多的存储库:步骤6次(更改价值的REPOS),跳过的步骤 mkdir /var/svn
7:添加一个用户身份验证
sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name
8:启用和配置WebDAV和SVN:
sudo kate /etc/apache2/mods-available/dav_svn.conf
添加或取消注释:
<Location /svn>
DAV svn
# for multiple repositories - see comments in file
SVNParentPath /var/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
</Location>
9:重启服务器apache:
sudo /etc/init.d/apache2 restart
10:验证:
发射了一浏览器:
http://localhost/svn/$REPOS
https://localhost/svn/$REPOS
两者都需要有用户名和密码。我认为,取消注释:
<LimitExcept GET PROPFIND OPTIONS REPORT>
</LimitExcept>
在 /etc/apache2/mods-available/dav_svn.conf
, 将允许匿名浏览。
浏览器上显示出"修订0:/"
提交的东西:
svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”
接受证书,并输入密码。检查出什么你刚刚承诺:
svn co --username $user_name https://localhost/svn/$REPOS
以下这些步骤(假设我没有做任何错误复制、粘贴),我有一个工作SVN库在我的笔记本电脑。
其他提示
之后,我需要执行(内的上下文的例子上面引述)
$sudo chmod g w/var/svn/$REPOS/db/rep-高速缓存。db
$sudo chown www-数据:www-数据/var/svn/$REPOS/db/rep-高速缓存。db
否则我不断收到409犯下的错误,当地修改 (虽然所作的承诺是服务器的一侧有效的,我需要跟进当地更新)
这篇文章 似乎给一个很好的破败的整个过程。我会推荐以下的指示,然后张贴更多一些具体问题有关的任何问题你encouter这不是解决条款中,我和其他人有联系,在这些答复。
如果你得到403禁止的,当你打的网络服务器也可能是因为你使用了主机名是不是你指定的在你的配置文件(即"localhost"或127.0.0.1).尽量打 https://whateveryousetasyourhostname 而不是...
请写一个单一命令的终端。
打开端请新闻 Ctrl + Alt + T, 然后键入该命令:
$sudo apt-get install subversion
For Apache:
sudo apt-get -yq install apache2
为SSH:
sudo apt-get -yq install openssh-server
为颠复:
sudo apt-get -yq install subversion subversion-tools
如果你想,你可以将这些成一个命令,如:
sudo apt-get -yq install apache2 openssh-server subversion subversion-tools
我不能帮助其余的...