Сведения о вопросе

Codeliver

07:56, 29th August, 2020

Теги

php   svn   visualsvn-server   websvn    

WebSVN с сервером VisualSVN, кто - нибудь получил аутентификацию для работы?

Просмотров: 483   Ответов: 5

У меня есть сервер VisualSVN , установленный на сервере Windows, обслуживающем несколько репозиториев.

Поскольку web-viewer, встроенный в сервер VisualSVN, является минималистичным браузером subversion, я хотел бы установить WebSVN поверх моих репозиториев.

Проблема, однако, заключается в том, что я не могу заставить аутентификацию работать. В идеале я хотел бы, чтобы моя текущая аутентификация репозитория, указанная в VisualSVN, работала с WebSVN, так что, хотя я вижу все имена репозитория в WebSVN, я не могу просматривать их без правильных учетных данных.

Посетив кэшированную копию самой верхней ссылки в этом запросе google , вы можете увидеть, что я нашел до сих пор, что выглядит многообещающе.
(главная страница блога, похоже, была уничтожена, домен самой верхней страницы, на которую я ссылаюсь,-wizzard.de)

Там я нашел некоторые функции php, которые я мог бы прикрепить к одному из файлов php в WebSVN. Я следил за изменениями там, но все, что мне удалось сделать, это заставить WebSVN спросить у меня имя пользователя и пароль, и независимо от того, что я ввожу, он меня не впустит.

К сожалению, php и apache - это в основном черная магия для меня.

Итак, кто-нибудь успешно интегрировал WebSVN с VisualSVN размещенными репозиториями?



  Сведения об ответе

qwerty101

15:09, 1st August, 2020

Я получил аутентификацию WebSVN, работающую с сервером VisualSVN, хотя и с большим количеством собственных настроек hacking/trial-error.

Вот как я это сделал:

  1. Если вы еще этого не сделали, установите PHP вручную, загрузив файл zip и пройдя через онлайн-инструкцию по установке php вручную. Я установил PHP на C:\PHP

  2. Распакуйте папку websvn в C:\Program Files\VisualSVN Server\htdocs\

  3. Выполните шаги настройки каталога websvn, т. е. переименуйте configdist.php в config и т. д. Мои репозитории были расположены в C:\SVNRepositories, поэтому для настройки файла аутентификации я установил строку config.php так: $config->useAuthenticationFile('C:/SVNRepositories/authz'); // файл глобального доступа

  4. Добавьте следующее К C:\Program Files\VisualSVN Server\conf\httpd-custom.conf :

# For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php


# configure the path to php.ini
PHPIniDir "C:/php"

<IfModule dir_module>
   DirectoryIndex index.html index.php 
</IfModule>

<Location /websvn/>
   Options FollowSymLinks
   AuthType Basic
   AuthName "Subversion Repository"
   Require valid-user
   AuthUserFile "C:/SVNRepositories/htpasswd"
   AuthzSVNAccessFile "C:/SVNRepositories/authz"
   SVNListParentPath on
   SVNParentPath "C:/SVNRepositories/"
</Location>

Это сработало для меня, и websvn покажет только те каталоги, которые авторизованы для данного пользователя. Обратите внимание, что для того, чтобы он работал правильно, вы должны предоставить "Main Level" доступ всем, а затем отключить доступ к определенным подкаталогам для определенных пользователей. Например, у меня есть один пользователь, который не имеет доступа к главному уровню, но имеет доступ к подуровню. К сожалению, этот человек не может ничего увидеть в websvn, даже если он напрямую ссылается на filedetails.php для файла, который он уполномочен видеть. В моем случае это не имеет большого значения, потому что я не хочу, чтобы он получил доступ к websvn в любом случае, но это то, что вы захотите узнать.

Кроме того, это настраивает сервер для подключения ssl, поэтому после его настройки адрес будет и https:// адрес, а не обычный http://.


  Сведения об ответе

LAST

21:06, 1st October, 2020

Я использую VisualSVN сервер и только что закончил установку Trac. Моя цель состояла в том, чтобы получить лучший веб-браузер репозитория, и Trac определенно является одним из лучших, которые я видел для Subversion. Перейти к http://www.visualsvn.com/server/trac / установка действительно довольно проста. Да, у Trac есть система отслеживания билетов и wiki, которую вы, возможно, не ищете, но хранилище и браузер журналов продают ее для меня.

Теперь я обнаружил, что можно отключить системы отслеживания wiki и билетов, которые поставляются с Trac, просто добавив их

[components]
trac.ticket.* = disabled
trac.wiki.* = disabled

до конца файла конфигурации trac.ini. Это приводит к тому, что начальная страница wiki выдает ошибку, что модуль wiki не может быть найден, поэтому вы должны установить Trac для открытия с помощью временной шкалы (представление журнала) или браузера репозитория при запуске, снова отредактировав trac.ini, добавив следующее под заголовком [trac] :

для временной шкалы журнала по умолчанию

default_handler = TimelineModule

для браузера репозитория по умолчанию

default_handler = BrowserModule


  Сведения об ответе

screen

02:05, 7th August, 2020

Я получил это для работы с windows аутентификацией (которая на самом деле является AuthType VisualSVN) трюк состоит в том, чтобы закомментировать svn auth и заменить его таким же текстом auth, который находится в главном файле конфигурации. Спасибо Энтони Джонсону за проработку всех остальных деталей.

# For PHP 5 do something like this:
LoadModule php5_module "F:/wamp/bin/php/php5.3.0/php5apache2_2.dll"
AddType application/x-httpd-php .php


# configure the path to php.ini
PHPIniDir "f:/wamp/bin/php/php5.3.0/"

<IfModule dir_module>
   DirectoryIndex index.html index.php 
</IfModule>

#Alias /websvn/ "F:/Program Files/VisualSVN Server/htdocs/websvn-2.3.1/" 

<Location /websvn-2.3.1/>
   Options FollowSymLinks

    AuthName "Subversion Repositories"
    AuthType VisualSVN
    AuthzVisualSVNAccessFile "F:/Repositories/authz-windows"
    AuthnVisualSVNBasic on
    AuthnVisualSVNIntegrated off
    AuthnVisualSVNUPN Off
   Require valid-user


   SVNListParentPath on
   SVNParentPath "f:/Repositories/"
</Location>


  Сведения об ответе

KOMP

06:05, 22nd August, 2020

Если вы ищете веб-браузер репозитория, который является более функциональным, чем стандартный, и вы используете VisualSVN Server, то обновите его до VisualSVN Server 3.2 или более поздней версии.

VisualSVN сервер имеет богатый веб-интерфейс для репозиториев Subversion . В отличие от WebSVN, встроенный веб-клиент VisualSVN Server работает в обычном режиме и не требует от администратора выполнения каких-либо задач настройки.

Вы можете посмотреть живую демонстрацию здесь: http://demo-server.visualsvn.com/!


  Сведения об ответе

lourence

09:52, 28th August, 2020

Я-автор упомянутой Вами статьи. Информация, которую я опубликовал, предназначалась только для WebSVN, работающего на IIS. Насколько я понимаю, программное обеспечение должно быть "just work", когда вы используете PHP на Apache, хотя я никогда не устанавливал его в этой среде. Вы пробовали выполнить некоторую "echo"-отладку (за неимением лучшего термина), чтобы увидеть, где именно происходит сбой аутентификации?


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться