У меня установлен сервер VisualSVN на сервере Windows, который обслуживает несколько репозиториев.
Поскольку средство просмотра веб-страниц, встроенное в сервер VisualSVN, является минималистичным браузером Subversion, я бы хотел установить WebSVN поверх моих репозиториев.
Проблема, однако, в том, что я не могу заставить аутентификацию работать. В идеале я хотел бы, чтобы моя текущая аутентификация репозитория, как указано в VisualSVN, работала с WebSVN, поэтому, хотя я вижу все имена репозитория в WebSVN, я не могу на самом деле просматривать их без правильных учетных данных.
Посетив кэшированную копию самой верхней ссылки в этом запросе Google, вы можете увидеть то, что я нашел до сих пор, что выглядит многообещающе.
(похоже, что главная страница блога была уничтожена, домен самой верхней страницы, на которую я ссылаюсь, - the-wizzard.de)
Там я нашел несколько функций php, которые я мог прикрепить к одному из файлов php в WebSVN. Я следил за изменениями там, но все, что мне удалось сделать, это заставить WebSVN запросить у меня имя пользователя и пароль, и независимо от того, что я ввожу, он не впустит меня.
К сожалению, php и apache для меня во многом чёрная магия.
Итак, кто-нибудь успешно интегрировал WebSVN с размещенными в VisualSVN репозиториями?
Я использую VisualSVN Server, и я только что закончил установку Trac. Моя цель состояла в том, чтобы получить лучший веб-браузер для хранилища, и Trac, безусловно, один из лучших, которые я видел для Subversion. Перейти на http://www.visualsvn.com/server/trac/ установка действительно довольно проста. Да, у Trac есть система отслеживания билетов и вики-система, которую вы, возможно, не ищете, но репозиторий и браузер журналов продают ее для меня.
Теперь я обнаружил, что можно отключить вики и системы отслеживания билетов, которые идут с Trac, просто добавив
[components]
trac.ticket.* = disabled
trac.wiki.* = disabled
в конец файла конфигурации trac.ini. Это приводит к тому, что стартовая страница вики выдает ошибку, из-за которой модуль вики не может быть найден, поэтому вы должны настроить запуск Trac либо с помощью временной шкалы (просмотр журнала), либо с помощью браузера репозитория при запуске, снова отредактировав trac.ini, добавив следующий под [trac]
заголовком:
для временной шкалы журнала по умолчанию
default_handler = TimelineModule
для браузера репозитория по умолчанию
default_handler = BrowserModule
Я автор упомянутой вами статьи. Информация, которую я опубликовал, предназначалась только для WebSVN, работающего на IIS. Насколько я понимаю, программное обеспечение должно "просто работать", когда вы используете PHP на Apache, хотя я никогда не настраивал его в этой среде. Вы пытались выполнить отладку "эха" (из-за отсутствия лучшего термина), чтобы увидеть, где именно происходит сбой аутентификации?
Я получил аутентификацию WebSVN, работающую с сервером VisualSVN, хотя и со многими собственными настройками взлома / пробной ошибки.
Вот как я это сделал:
Если вы этого еще не сделали, установите PHP вручную, загрузив zip-файл и выполнив интерактивные инструкции по установке php вручную. Я установил PHP в C: \ PHP
Извлеките папку websvn в C: \ Program Files \ VisualSVN Server \ htdocs \
Выполните шаги по настройке каталога websvn, то есть переименуйте configdist.php в config и т. Д. Мои репозитории были расположены в C: \ SVNRepositories, поэтому для настройки файла аутентификации я установил строку config.php так: $ config-> useAuthenticationFile ( 'C: / SVNRepositories / AuthZ'); // Файл глобального доступа
Добавьте следующее в C: \ Program Files \ VisualSVN Server \ conf \ httpd-custom.conf:
# Для PHP 5 сделайте что-то вроде этого: LoadModule php5_module "c: /php/php5apache2_2.dll" Приложение AddType / x-httpd-php .php # настроить путь к php.ini PHPIniDir "C: / php" <IfModule dir_module> DirectoryIndex index.html index.php </ IfModule> <Location / websvn /> Опции FollowSymLinks AuthType Basic AuthName "Subversion Repository" Требуется действительный пользователь AuthUserFile "C: / SVNRepositories / htpasswd" AuthzSVNAccessFile "C: / SVNRepositories / authz" SVNListParentPath включен SVNParentPath "C: / SVNRepositories /" </ Location>
Это сработало для меня, и websvn будет показывать только те каталоги, которые авторизованы для данного пользователя. Обратите внимание, что для правильной работы необходимо предоставить всем доступ «Основной уровень», а затем отключить доступ к определенным подкаталогам для определенных пользователей. Например, у меня есть один пользователь, который не имеет доступа на основном уровне, но имеет доступ к подуровню. К сожалению, этот человек не может видеть ничего в websvn, даже если он напрямую ссылается на filedetails.php для файла, который ему разрешено просматривать. В моем случае это не имеет большого значения, потому что я все равно не хочу, чтобы он имел доступ к websvn, но это то, что вы хотите знать.
Кроме того, это настраивает сервер на подключение ssl, поэтому после его настройки адрес будет и https: // адрес, а не обычный http: //.
Location
Возможно, ваш раздел должен немного отличаться от того, который использовался @ anthony-johnson, если вы используете разные параметры аутентификации. Просто скопируйте раздел , начиная с <Location /svn/>
с httpd.conf
, и вставьте его в httpd-custom.conf
(после включения раздела конфигурации PHP Энтони), и заменить /svn/
с /websvn/
. Все работает просто отлично! Примечание стороны, если вы настраиваете стек Subversion-VisualSVN-WebSVN-Jenkins, вы , вероятно , также должны знать это . Я получил это для работы с аутентификацией Windows (которая на самом деле является AuthType VisualSVN). Хитрость заключается в том, чтобы закомментировать svn 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>
Если вы ищете веб-обозреватель хранилища, который является более многофункциональным, чем браузер по умолчанию, и вы используете VisualSVN Server, то выполните обновление до VisualSVN Server 3.2 или новее.
Сервер VisualSVN имеет богатый веб-интерфейс для хранилищ Subversion . В отличие от WebSVN, встроенный веб-клиент VisualSVN Server работает «из коробки» и не требует от администратора выполнения каких-либо задач по настройке.
Вы можете увидеть живое демо здесь: http://demo-server.visualsvn.com/!/