- Установка и настройка SVN-сервера под Windows
- Введение
- Шаг 1. Установка сервера.
- Шаг 2. Установка клиента.
- Шаг 3. Настройка svnserve.
- Шаг 4. Настройка Apache.
- 59 комментариев к записи
- Collabnet subversion server windows
- Download CollabNet Subversion — Free
- Red Hat Linux
- CollabNet Subversion Server for Red Hat Linux
- CollabNet Subversion Command Line Client for Red Hat Linux
- CollabNet Subversion Extras for Red Hat Linux
- Windows
- Server and Client for Windows
- CollabNet Subversion Command Line Client Windows XP
- Solaris
- CollabNet Subversion Server for Sun Solaris 10 (SPARC)
- CollabNet Subversion Command Line Client for Sun Solaris 10 (SPARC)
- More Subversion Binaries
- Community support resources on openCollabNet
- Technical Support from CollabNet
- Other resources
Установка и настройка SVN-сервера под Windows
Введение
В данном HOWTO я подробно опишу как установить и настроить SVN (subversion) сервер под ОС Windows.
Статья о настройке прав доступа SVN-сервера доступна здесь.
Внимание! CollabNet прекратили поддержку описанного в данной статье Subversion Server and Client и предлагают вместо него другой проект — Subversion Edge, который в несколько раз хуже и часто работает нестабильно. Если Вам нужен только svnserve (без Apache), перейдите на использование простого и быстрого SlikSVN (во время установки установите все компоненты и особенно svnserve). Установка и настройка данного проекта описана в другой статье нашего сайта.
Шаг 1. Установка сервера.
Итак, для начала нам будет нужен сам дистрибутив с svn-сервером, который можно бесплатно скачать с официального сайта CollabNet (перед тем как что-то скачать, Вы должны пройти бесплатную регистрацию на этом сайте (зачем так сделано не очень понятно)). Вы должны скачать CollabNet Subversion Server and Client v1.6.9 (for Windows) (версия 1.6.9 — последняя на момент написания данного HOWTO).
После скачивания файла CollabNetSubversion-server-1.6.9-1.win32.exe (18,44 МБ), запускайте его и следуйте указаниям мастера. Мастер выполнит несколько шагов. Рассмотрим все шаги мастера по порядку:
- Приветствие мастера. Сразу жмите «Next«.
- Предложение прочитать онлайновый ReadMe. Жмите «Next«.
- Выберите компоненты, которые нужно установить: svnserve (собственно svn-сервер (устанавливать обязательно)) и Apache (устанавливайте только если хотите разрешить доступ к своим репозиториям из Интернета через обычные браузеры). Выбрав нужные компоненты, переходите к следующему шагу.
- На этом шаге предлагается выбрать порт для svn-сервера (настоятельно рекомендуется использовать стандартный 3690) и указать путь, где будут храниться репозитории (рекомендуется стандартное значение c:\svn_repository). Флажок в строке «Install svnserve to run as Windows service» позволит автоматически запускаться svn-серверу при запуске Windows (рекомендуется не снимать отсюда флажок). Внимание! Этого шага не будет, если на шаге 3 Вы не выбрали компонент svnserve.
- Теперь предлагается настроить Apache если Вы его выбрали на третьем шаге мастера установки.
- Host/Server name — имя сервера. Рекомендуется оставить localhost.
- Host Port — порт, на котором будет находиться Apache. Рекомендуется либо стандартный 80, либо 8080.
- Install Apache to run as Windows service — позволяет Apache запускаться вместе с Windows.
- Repository Path — путь к svn-репозиторию. Укажите то же значение, что Вы указывали на шаге 4. Рекомендуется стандартное значение C:\svn_repository.
- Repository Location Prefix — префикс, по которому будет доступен svn-репозиторий. Пример: http://localhost:80/svn/. Если Вы будете использовать установленный Apache только для репозиториев svn, установите в этом поле лишь слэш «/«, в противном случае оставьте стандартное значение /svn.
- Выберите каталог для установки набора серверов и нажмите «Install«.
- На этом шаге предлагается включить уведомления о новых версиях программы. Рекомендуется снять все флажки.
- Нажмите «Finish«. Установка завершена.
Шаг 2. Установка клиента.
В качестве SVN-клиента мы будем использовать TortoiseSVN, подробнее о котором можно почитать в HOWTO.
Скачать программу можно на её официальном сайте программы на странице Downloads: http://tortoisesvn.net/downloads. Там же можно скачать пакет локализации, содержащий помимо перевода интерфейса программы, ещё и словарь проверки орфографии (применяется при коммите изменений).
Установка программы стандартна и не должна вызвать никаких сложностей.
Шаг 3. Настройка svnserve.
Настройку начнём с того, что создадим новый репозиторий со стандартными настройками, которые и будем редактировать. Для этого зайдём в Проводнике Windows в каталог, указанный в качестве «Repository path» во время установки сервера (стандартное значение — С:\svn_repository\), нажмём правой кнопкой по пустому месту в нём и выберем «TortoiseSVN» — «Create repository here«. Через несколько мгновений внутри каталога появятся файлы и подкаталоги, а также будет выведено сообщение об успешном создании репозитория. В дальнейшем путь к репозиторию я буду заменять на ПУТЬ_К_РЕПОЗИТАРИЮ.
Теперь мы должны создать пользователей, которые будут работать с репозиторием. Для этого мы должны открыть файл «ПУТЬ_К_РЕПОЗИТАРИЮ\conf\svnserve.conf» в любом текстовом редакторе, например Блокноте Windows или Notepad++. Здесь Вы должны раскомментировать (убрать перед строкой символ(ы) «#«) следующие строки:
Строка «anon-access = none» означает, что анонимы не смогут получить доступ к репозиторию вообще (сделано из соображений безопасности), а «auth-access = write» означает, что авторизованные пользователи получат полный доступ в пределах их ограничений, заданных в файле authz (если такая функция включена). Если Вы хотите, чтобы анонимы могли получить доступ только для чтения (например, разрабатываете OpenSource-проект), то установите «anon-access = read«.
Теперь Вы должны раскомментировать строку:
Эта строка указывает в каком файле будут находиться логины и пароли пользователей для авторизации на svn-сервере. Теперь откройте файл «ПУТЬ_К_РЕПОЗИТАРИЮ\conf\passwd» в любом текстовом редакторе и впишите в нём «логин_пользователя = пароль_пользователя» (разделителем служит знак равенства). Пример правильного файла passwd:
Убираем символ комментария из строки:
В ней указывается имя Вашего репозитория. После знака равенства вместо My First Repository Вы можете указать любое другое имя. Оно выводится при запросе логина и пароля.
Настройка сервера с простой (simple) авторизацией завершена. Пример правильного файла конфигурации сервера:
Теперь пора проверить созданный нами svn-сервер, но сначала мы должны перезапустить его чтобы он смог считать изменённые конфигурационные файлы. Для этого набираем «Windows+R» — «cmd.exe«. В открывшейся командной строке пишем слелующие команды (по порядку):
Открываем TortoiseSVN Repository Browser из контекстного меню любой папки и в качестве URL вводим: svn://127.0.0.1/. Сервер запросит указать логин и пароль, заданные в файле passwd и при успешной авторизации отобразит корневой каталог. Сервер успешно настроен и готов к управлению проектами.
Шаг 4. Настройка Apache.
Если Вы хотите, чтобы к Вашему репозиторию был доступ не только с помощью svn-клиентов, но и с помощью любого веб-браузера, то должны сделать ряд настроек.
Откройте в любом текстовом редакторе файл «%PROGRAMFILES%\CollabNet\Subversion Server\httpd\conf\httpd.conf«, где «%PROGRAMFILES%\CollabNet\Subversion Server\» — это путь установки svn-серверов. В конце файла httpd.conf найдите следующие строки:
и замените на такие:
Здесь с:\svn_repository — путь к репозиторию svn. Измените в соответствии с Вашими настройками.
Теперь нужно создать файл паролей Apache. Для этого откройте командную строку Windows («Win+R» — «cmd.exe«) и выполните следующие команды:
Внимание! Параметр -cm нужно указывать только при первом создании пользователя, т.к. он перезаписывает имеющийся файл. В пути к файлу паролей буква диска обязательно должна быть в верхнем регистре.
В качестве ЛОГИН_ПОЛЬЗОВАТЕЛЯ нужно указать все логины пользователей, указанные в файле passwd. Пароли также должны быть идентичны.
Настройка SVN over Apache 2 была успешно завершена. Теперь нужно перезапустить сервер командами консоли Windows:
Протестировать сервер можно так: http://127.0.0.1:ПОРТ/ в любом веб-браузере. Будет запрошен логин и пароль для доступа к репозиторию.
59 комментариев к записи
@Алекс88
Штатно такой функции нет, но можно в файрволе создать разрешающие правила для входящих соединений на порт 3690 только для определённых IP-адресов, а все остальные подключения блокировать. На Linux используйте iptables.
Спасибо. Возник ещё один вопрос теперь уже с модулем для apache, в место Require valid-user установил Require user admin, но почему-то все остальные пользователи проекта тоже могут подключиться к нему не смотря на то что авторизация разрешена только для admin. Подскажите как разрешить авторизацию только для одного пользователя проектом а остальным запретить? А вообще хотелось бы сделать так, чтобы с одного ip заходили все пользователи, а с разных ip заходил только admin? Вот как я попытался это сделать но не получилось:
DAV svn
SVNParentPath /var/www/svn/
AuthType Basic
AuthzSVNAccessFile /etc/httpd/svn-acl.conf
AuthName «Authorization»
AuthUserFile /etc/httpd/svn-users.conf
Require user admin
Satisfy any
Order Allow,Deny
Allow from xxx.xxx.xxx.xxx
Спасибо. Возник ещё один вопрос теперь уже с модулем для apache, в место Require valid-user установил Require user admin
Поздравляю, вы изобрели новую директиву! В статье же написано как прописывать пользователей и задавать им пароли. Использовать нужно только require valid-user, что означает, что войти может только успешно авторизовавшийся пользователь.
Сами пользователи прописываются в файле, указанном в директиве AuthUserFile. Пример есть в статье:
@Vitaly
require valid-user вообще можно не указывать, всё-ровно будет работать. У меня вопрос в другом. Есть сотрудники, которым положено пользоваться svn только из офисного Ip, а с других ip доступ должен быть закрыт, также есть сотрудники для которых доступ к svn должен быть как из офисного ip, так и с любого другого ip. Такое возможно реализовать, если да то подскажите как?
@Vitaly
require valid-user вообще можно не указывать, всё-ровно будет работать.
Будет пускать любого без авторизации.
@Vitaly
Есть сотрудники, которым положено пользоваться svn только из офисного Ip, а с других ip доступ должен быть закрыт, также есть сотрудники для которых доступ к svn должен быть как из офисного ip, так и с любого другого ip. Такое возможно реализовать, если да то подскажите как?
Скорее всего, нет по крайней мере штатными средствами без написания собственных модулей для Apache. Можно лишь создать список IP-адресов, которым будет разрешён доступ, а всем остальным закрыть.
Это разрешит доступ из подсети 192.168.1.0/24, а также для локального хоста.
@Vitaly
Спасибо за помощь, в общем решил свою проблему так:
Для офисных сотрудников настроил доступ к репозиторию по протоколу svn://, в брандмауэре iptables настроил разрешающее правило на порт 3690 для офисного ip, по остальным ip доступ запрещён.
Для привилегированных сотрудников доступ к репозиторию настроен через apache http://.
Таким образом удалось добиться нужного результата. Надеюсь кому-нибудь это тоже будет полезно)
@Алекс88
Главное следите, чтобы оба сервиса (svnserve и apache) были запущены от одного пользователя в системе, либо принадлежали одной группе (например svnusers), иначе возникнут серьёзные проблемы и конфликты доступа.
Настроил всё, как написано, однако после запуска apache не могу получить доступ к репозиторию через браузер в соответствии с этой инструкцией:
Протестировать сервер можно так: http://127.0.0.1:ПОРТ/ в любом веб-браузере. Будет запрошен логин и пароль для доступа к репозиторию.
При подключении к порту 127.0.0.1:8080 требует логин и пароль, после ввода и того и другого снова требует пароль. И так до бесконечности.
То, что сейчас выложено на сайте CollabNet, не имеет никакого отношения к описанному в статье, т.к. они давно прекратили поддержку того продукта.
Collabnet subversion server windows
We provide our global customers with solutions focused on enabling them to conceive, build and deliver the highest quality software at speed, in the manner and using the methods that best suit their particular requirements.
Optimize DevOps performance by measuring and automating it
Improve global team productivity on the most secure ALM platform
Secure, trace, and scale software development with enterprise-scale git
Expand agile across multiple teams
Integrate the entire software delivery value stream
Connect your ALM tools and make it easier to see, monitor, and trace workflows
Our solutions energize digital transformations. Our customers span industries including government, financial, and biotech. We inspire the future by enabling embedded and IoT technologies. We even make software development connect closely to the enterprise with value stream management. Our solutions free organizations to focus on their business challenges.
Interested in learning about agile or seeking Scrum or SAFe certification? Want to learn how to leverage our products from industry leaders in agile? From fundamentals to mastery, our experts will teach you what you need to know to apply your new knowledge successfully in your role.
Our knowledge and expertise spans methodologies, practices, and products. We’ve helped thousands of teams globally across various industries. What we have learned can save you time, reduce risk, and help you reach your goals. Put our knowledge to use for short-term expertise, support, or longer-term planning and execution.
CollabNet VersionOne’s Support is built on an unrelenting focus and commitment to Customer Success that results in consistently high customer satisfaction rating and high loyalty.
Download CollabNet Subversion — Free
Subversion has rapidly become the version control standard for geographically distributed development teams. To help with the adoption of Subversion in the enterprise, CollabNet provides certified (compiled and tested) binaries of Subversion. You can download CollabNet Subversion right here from openCollabNet.
Red Hat Linux
CollabNet Subversion Server for Red Hat Linux
This installer only includes the server. Install the client first.
Product: CollabNet Subversion 1.4.6 Server
Supported platform Server: Red Hat Enterprise Linux ES and AS release 4 (32 bit)
File system: FSFS
Apache Modules: mod_dav_svn, mod_authz_svn, SSL, LDAP, mod_dontdothat
Pre-requisites: see readme:
View the readme, and make sure to read the post-installation instructions for configuration of the client.
CollabNet Subversion Command Line Client for Red Hat Linux
This installer only includes the command line client.
Product: CollabNet Subversion 1.4.6 Client
Platforms: Red Hat Enterprise Linux WS, Red Hat Desktop and Red Hat Enterprise Linux ES and AS release 4
Pre-requisite: You need super-user privileges to install and uninstall CollabNet Subversion.
View the readme, and make sure to read the post-installation instructions for configuration of the client.
CollabNet Subversion Extras for Red Hat Linux
This installer installs and configures ViewVC and Phyton Bindings
Product: CollabNet Subversion 1.4.6 Extras (ViewVC and Python Bindings)
Platforms: Red Hat Enterprise Linux WS, Red Hat Desktop and Red Hat Enterprise Linux ES and AS release 4
Pre-requisites: See readme.
View the readme, and make sure to read the post-installation instructions for configuration of the client.
Windows
Server and Client for Windows
This installer includes the server and the command line client.
Product: CollabNet Subversion server 1.4.6
Certified platforms: Windows XP SP2, Win 2003(Standard Edition) R2.
File system support: FSFS
Apache Modules: mod_dav_svn, mod_ldap, ssl, mod_deflate, mod_sspi
Apache version: 2.0.58
APR version: 0.9.12
APR-ICONV version: 0.9.7
APR-util version: 0.9.12
openssl version: 0.9.7f
Pre-requisite: you need administrative privileges to install and uninstall CollabNet Subversion
CollabNet Subversion Command Line Client Windows XP
This installer only includes the command line client.
Product: CollabNet Subversion 1.4.6 command-line client
Platform: Windows XP SP2, Win 2003 (Standard Edition) R2.
Solaris
CollabNet Subversion Server for Sun Solaris 10 (SPARC)
This installer only includes the server. Install the client first.
Product: CollabNet Subversion server and client 1.4.6
Supported platform: Sun Solaris 10 (SPARC)
File system: FSFS
Supported Apache Modules: mod_dav_svn, mod_authz_svn, ssl, ldap, mod_dontdothat
Pre-requisites: see readme.
CollabNet Subversion Command Line Client for Sun Solaris 10 (SPARC)
This installer only includes the command line client.
Product: CollabNet Subversion 1.4.6 command-line client
Supported Platform: Sun Solaris 10 (SPARC)
Pre-requisite: you need administrative privileges to install and uninstall CollabNet Subversion
More Subversion Binaries
openCollabNet contains a project where volunteers contribute more binaries, such as for Mac OS X. You can find links to additional binaries on Tigris.org.