SVN не может открыть сеанс ra_local - PullRequest
2 голосов
/ 17 марта 2011

Я установил свой SVN на моем сервере Linux. Я создал хранилище с помощью следующей команды:

# svnadmin create /var/svn/REPOSITORY_NAME

Затем я устанавливаю права доступа пользователя в этом файле:

# vi /var/svn/REPOSITORY_NAME/conf/svnserve.conf

Далее я раскомментирую строку password-db в строке 20 и добавляю доступ пользователя

# vi /var/svn/REPOSITORY_NAME/conf/passwd

Здесь я добавляю имя пользователя и пароль.

Тогда я убиваю svn командой # killall svnserve и перезапустите его с помощью команды # 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'

Как я могу это исправить?

Ответы [ 3 ]

3 голосов
/ 14 июня 2012

Пожалуйста, смотрите документ ниже, вы можете успешно установить 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.для доступа к файлу в «файл»

svn co file:///var/sourcecontrol/svn/newrepo/
  1. для 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

Теперь вы можете извлечь репозиторий «newrepo» в свою локальную папку, используя http

Например:

svn co http://<serverip>/newrepo /home/user/Desktop/

, вы можете проверить репозиторий вбраузер, использующий http://<serverip>/newrepo

  1. для доступа 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

Теперь вы можете извлечь репозиторий «newrepo» в вашу локальную папку, используя svn

Например:

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 мы можем использовать методы буксировки

  1. dpkg -configure websvn

    enter the path of all repositories separated by a comma (when prompted)
    

    ИЛИ

    1. vim / etc /websvn / svn_deb_conf.inc

Например:

<?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образцы репозиториев

2 голосов
/ 17 марта 2011

Если вы не сделаете:

svn co file:///var/svn/easton

или:

svn co svn://localhost/var/svn/easton

вместо использования / var / www / html / easton, поскольку вы сказаличто вы создали репозиторий в / var / svn?

0 голосов
/ 08 сентября 2015

Следуйте инструкциям ниже: -

  1. Открыть терминал (Ctrl + Alt + T)

  2. Тип: sudo apt-get updatesudo apt-get install websvn subversion libapache2-svn -y

  3. Хотите настроить WebSVN сейчас?Настроить позже (dpkg-reconfigure-websvn) Выберите

  4. sudo nano /etc/apache2/mods-enabled/dav_svn.conf

  5. Раскомментировать нескольколинии:

    #<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обновить && sudo apt-get установить 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-переконфигурировать 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

Test svn: Получить IP-адрес: ifconfig или ip addr - Если вы не знаете, где находится IP-адрес, попробуйте вернуться в Windows.http://IP -адрес / svn / yourreponame

Тестирование websvn: http://IP -адрес / websvn

Не забудьте создать базовую структуру внутри вашего хранилища:

  /trunk
  /branches
  /tags
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...