我在我的Linux服务器上设置了我的svn。我使用以下命令创建了一个REPOSITORY:
# svnadmin create /var/svn/REPOSITORY_NAME
然后我在此文件中设置用户访问权限:
# vi /var/svn/REPOSITORY_NAME/conf/svnserve.conf
接下来,我在第20行取消注释password-db行并添加用户访问权限
# vi /var/svn/REPOSITORY_NAME/conf/passwd
我在这里添加用户名和密码。
然后我用命令# killall svnserve
杀死svn
并使用命令# svnserve -d -r /var/svn/
稍后当我使用命令svn co file:///var/www/html/easton
访问它时
我收到以下错误:
svn: Unable to open an ra_local session to URL
svn: Unable to open repository 'file:///var/www/html/easton'
我该如何解决这个问题?
答案 0 :(得分:3)
请看下面的文档,你可以成功安装svn / websvn(我的平台是ubuntu 12.04 LTS)
安装所需的包
apt-get install subversion libapache2-svn
创建一个根目录来存储svn存储库
mkdir /var/sourcecontrol/svn
创建一个svn存储库“newrepo”
svnadmin create /var/sourcecontrol/svn/newrepo
创建一个组“subversion”
groupadd subversion
将用户和“www-data”用户添加到群组
chown username:subversion -R /var/sourcecontrol/svn/newrepo
访问方法
1.for'file'访问存储库
svn co file:///var/sourcecontrol/svn/newrepo/
用于http访问存储库
vim /etc/apache2/mods-available/dav_svn.conf
在最后添加以下条目
<Location /newrepo>
DAV svn
SVNPath /var/sourcecontrol/svn/newrepo
AuthType Basic
AuthName "Subversion repository repositoryName"
</Location>
重启apache /etc/init.d/apache2 restart
现在,您可以使用http
将存储库“newrepo”签出到本地文件夹例如:
svn co http://<serverip>/newrepo /home/user/Desktop/
您可以使用http://<serverip>/newrepo
用于svn访问存储库
svnserve / var / sourcecontrol / svn /
vim /var/sourcecontrol/svn/newrepo/conf/svnserve.conf
在文件末尾添加以下内容
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = My First Repository
添加身份验证
vim /var/sourcecontrol/svn/newrepo/conf/passwd
在文件末尾添加用户和密码
username = password
现在,您可以使用svn
将存储库“newrepo”签出到本地文件夹例如:
svn co svn://<serverip>/newrepo /home/user/Desktop/
WEBSVN界面
apt-get install websvn
apt-get install enscript
(在安装之前,在根文件夹中创建一个示例存储库)
安装时在提示时给出现有存储库的路径。
将websvn目录复制到apache根文件夹
cp -r /usr/share/websvn /var/www/
vim /etc/apache2/mods-available/dav_svn.conf
在最后添加这些条目(不要删除我们之前创建的现有条目)
<Location /websvn/>
Options FollowSymLinks
order allow,deny
allow from all
AuthType Basic
AuthName "Subversion Repository"
</Location>
对于websvn中的存储库管理,我们可以使用两种方法
dpkg-reconfigure websvn
enter the path of all repositories separated by a comma (when prompted)
OR
例如:
<?php
// please edit /etc/websvn/config.php
// or use dpkg-reconfigure websvn
$config->parentPath("/var/sourcecontrol/svn/newrepo");
$config->parentPath("/var/sourcecontrol/svn/myrepo");
$config->parentPath("/var/sourcecontrol/svn/myproject");
$config->addRepository("newrepo", "file:///var/sourcecontrol/svn/newrepo");
$config->addRepository("myrepo", "file:///var/sourcecontrol/svn/myrepo");
$config->addRepository("myproject", "file:///var/sourcecontrol/svn/myproject");
$config->setEnscriptPath("/usr/bin");
$config->setSedPath("/bin");
$config->useEnscript();
?>
// newrepo,myrepo,myproject是示例存储库
答案 1 :(得分:2)
你不应该这样做:
svn co file:///var/svn/easton
或:
svn co svn://localhost/var/svn/easton
而不是使用/ var / www / html / easton,因为你说你在/ var / svn中创建了存储库?
答案 2 :(得分:0)
按照下面给出的步骤: -
打开终端(Ctrl + Alt + T)
类型: sudo apt-get update sudo apt-get install websvn subversion libapache2-svn -y
您想立即配置WebSVN吗? 稍后配置(dpkg-reconfigure-websvn) 选择
sudo nano /etc/apache2/mods-enabled/dav_svn.conf
取消注释几行:
#<Location /svn> to <Location /svn>
#DAV svn to DAV svn
#SVNParentPath /var/lib/svn to SVNParentPath /var/lib/svn
#AuthType Basic to AuthType Basic
#AuthName "Subversion Repository" to AuthName "Subversion Repository"
#AuthUserFile /etc/apache2/dav_svn.passwd to AuthUserFile /etc/apache2/dav_svn.passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT> to <LimitExcept GET PROPFIND OPTIONS REPORT>
#Require valid-user to Require valid-user
#</LimitExcept> to </LimitExcept>
#</Location> to </Location>
验证一切是否正常: cat /etc/apache2/mods-enabled/dav_svn.conf | grep -v'#'
<Location /svn>
DAV svn
SVNParentPath /var/lib/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
如果您知道如何使用此命令行,则可以使用“sed”。
sudo mkdir / var / lib / svn
创建回购测试: sudo svnadmin create / var / lib / svn / mysvnreponame sudo chown -R www-data:www-data / var / lib / svn / mysvnreponame
重启Apache: sudo service apache2 restart
添加svn用户: sudo apt-get update&amp;&amp; sudo apt-get install apache2-utils sudo htpasswd -c /etc/apache2/dav_svn.passwd用户名
对于其他用户或修改密码,您可以使用: sudo htpasswd -m /etc/apache2/dav_svn.passwd用户名
验证是否已创建每个用户: cat /etc/apache2/dav_svn.passwd | grep用户名
重新配置websvn: sudo dpkg-reconfigure websvn
12.1 - Select <Yes>
12.2 - Select <Ok>
12.3 - Select <Ok>
12.4 - Leave Empty & <Ok>
12.5 - Select <Ok>
如果您收到消息: 无法创建符号链接'/etc/apache2/conf.d/websvn':没有这样的文件或目录
尝试修复: sudo cp /etc/websvn/apache.conf /etc/apache2/conf-available/websvn.conf sudo a2enconf websvn sudo service apache2 reload
测试svn: 获取IP地址:ifconfig或ip addr - 如果您不知道IP地址在哪里,请尝试返回Windows。 http://IP-address/svn/yourreponame
测试网站: http://IP-address/websvn
不要忘记在存储库中创建最基本的结构:
/trunk
/branches
/tags