Как установить svn на windows

Время на прочтение
6 мин

Количество просмотров 305K

По просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.

С самого начала сообщаю, что для SVN есть подробное руководство. Называется оно svn-book и доступно на сайте и идет вместе с CollabNet Subversion-server. Так же про установку и настройку svnserv с Apache есть описание в учебнике по TortioseSVN (довольно хорошая подробная помощь на русском).

На самом деле SVN-клиент может отлично работать и без сервера. Репозиторий (хранилище кода) можно создать в любом каталоге на собственном HDD, или в сетевом каталоге. Сервер требуется лишь для удаленного доступа к репозиторию, не больше. Локальный репозиторий годится, если над проектом работает один человек и ему просто нужна система контроля версий своего приложения и бэкапы.

Если работа ведется в команде или требуется удаленный доступ к репозиторию (через Интернет, например), нужно устанавливать SVN-сервер. Он может работать самостоятельно, либо через веб-сервер Apache. В первом случае доступ к репозиториям будет по протоколу svn://, во втором — http(s)://. Доступ через веб-сервер нужен при проблемах с файрволом, когда он пропускает только HTTP-трафик, а так же для работы некоторых утилит-примочек к SVN-серверу.

Установка сервера

Самую свежую версию svn-cервера всегда можно найти на сайте subversion.tigris.org. Чистый svn-сервер без Apache в комплекте, и без визуальных примочек доступен только для версии 1.4.6, в то время как текущая версия 1.5.0. Для версии 1.5.0 есть выбор между CollabNet Subversion-server-1.5.0 (~11 MB) и VisualSVN Server (~5 MB). Первый идет в комплекте с Apache, второй — с Apache и плагином для Windows Management Console. Так же для VisualSVN есть платная возможность интеграции с Visual Studio.

A. Установка и настройка сервера VisualSVN (svn-сервер + Apache + консоль управления) самая простая. Эту версию нельзя установить без Apache.

1) Скачиваем файл VisualSVN-Server-1.5.1.msi или новее. Запускаем установку.
2) В мастере установки указываем, использовать ли для доступа HTTPS, либо просто HTTP. Указываем порт для прослушивания по выбранному протоколу и способ аутентификации. Так же указываем каталог, в котором будут храниться репозитории.
3) После установки открываем Management Console (через Пуск, например) и создаем пользователей и репозитории.

Теперь ваши репозитории доступны через выбранный протокол (HTTP или HTTPS) по указанному при установке хосту: порту (например, localhost:8443/svn/). Их можно просматривать как из браузера (через xsl), так и из SVN-клиета.

Работа с сервером VisualSVNбезусловно самая простая.

B. Установка CollabNet Subversion Server (svn-сервер + Apache опционально).

1) Скачиваем файл CollabNetSubversion-server-1.5.0-23.win32.exe или версию новее. Запускаем его на установку.
2) Шаг Choose Components. Устанавливаем флажок SVNSERVE в любом случае. Если требуется установить так же Apache для SVN, устанавливаем флажок напротив него.
3) На шаге sunserve Configuration устанавливаем порт для sunserve (по умолчанию 3690, менять его смысла нет, если он не занят) и путь к репозиториям (каталог, где вы будете создавать отдельные репозитории в виде подкаталогов).
4) Затем настраивается Apache: хост/порт, путь к репозиториям (тот же, что и для svnserve) и префикс для URL (http://host:port/prefix). Префикс нужен на случай, если Apache будет использоваться не только для обслуживания SVN.

После установки появятся две новых службы Windows: Subversion Server (наш svnserv.exe) и Apache2.2 (если он был включен при установке). Чтобы все заработало их нужно запустить.

С. Установка svnserve 1.4.6 (чистый svn-сервер).

1) Скачиваем файл svn-1.4.6-setup.exe. Запускаем его на установку. При установке ничего кроме целевого каталога указывать не надо. После установки этот каталог надо добавить в переменную среды PATH (не помню, возможно это делается автоматически).
2) Создаем репозитории командой: svnadmin create c:\repositories\example-repository
3) Создаем сервис. Команда в консоли: sc create svn_svr binpath= «c:\Program Files\Subversion\bin\svnserve.exe —service -r C:\repositories\» displayname= «Subversion Svr»
Здесь -r C:\repositories — адрес каталога с репозиториями, т.е. от него потом будут вычисляться пути. Например, если есть 2 репозитория: C:\repositories\proj1 и C:\repositories\proj2, то указав параметром -r C:\repositories потом пути к репозиториям будут: svn://localhost:3690/proj1 и svn://localhost:3690/proj2 соответственно. Порт 3690 устанавливается по умолчанию, но его можно поменять (подробности в svn book).4) Запускается сервис автоматически при старте Windows или из списка служб.

Именно эту работу (если не считать установку Apache) сделал за вас установщик CollabNet Subversion Server. В случае установки svnserve 1.4.6 доступ к репозиторию будет только по протоколу svn://.

D. Создание репозитория. Выделяю этот пункт отдельным разделом. Если в VisualSVN создание репозитория производится кликом мыши, то для svnserve (в том числе в версии от CollabNet) репозиторий создается из консоли. В поставке snv-сервера есть файл snv-install-folder\bin\svnadmin.exe. Если путь к snv-install-folder\bin еще не прописан в PATH, сделайте это.

Чтобы создать репозиторий, откройте консоль (cmd) и перейдите в каталог для хранения репозиториев, который вы указывали при установке (CollabNet) или создании сервиса (svnserve 1.4.6). Создайте новый пустой подкаталог (например, example-repository). В консоли выполните команду: svnadmin create example-repository. В только что созданном каталоге появится структура файлов svn. В них есть много полезных «штук», о которых можно почитать в svn-book и учебнике.

В подкаталоге conf можно настроить основные параметры репозитория. Прежде всего требуется закрыть доступ в репозиторий кому-попало. В файле svnserve.conf раскомментируем строки
# anon-access = read
# auth-access = write

Не забудьте убрать так же пробел после #, т.к. иначе будет ошибка чтения конфига. anon-access определяет доступ анонимным пользователям, auth-access — зарегистрированным. Они могут принимать значения «write», «read» и «none». Обычно anon-access = none и auth-access = write.

Далее надо раскомментировать # password-db = passwd, а в файл passwd в этом же каталоге добавить строку user = password.

Для начала такое определение доступа годится, но в последствии конечно пароли надо шифровать (читаем svn-book).

На этом установка сервера закончена и можно установить клиент.

Установка клиента.

Некоторые профессионалы предпочитают работать с консолью. Наверное это не самый удобный способ, особенно для новичков, поэтому рассматривать его не будем. Другие работают с SVN через плагины к своим IDE. Это самый лучший способ, но поскольку разных IDE много и плагинов к ним тоже, в этой статье работу с ними не описываем.

Самым популярным и признанным клиентом SVN под Windows является TortoiseSVN. После его установки вы не получите отдельной программы, которую можно «классически запустить», клиент встраивается в проводник Windows, а команды для него доступны из контекстного меню файла (в т.ч. и в Total Commander).

Описывать установку клиента нет никакого смысла, там все элементарно просто.

О том, как работать с TortoiseSVN, подробно расписано в руководстве TortoiseSVN Клиент Subversion для Windows.

Дублировать это подробное руководство, конечно, желания нет, но все же super-fast-start work with tsvn опишу.

1) Для просмотра любого репозитория после установки TortoiseSVN вызовите контекствное меню на любом файле в системе, выберите меню TortoiseSVN→Repo-browser.  В открывшемся окошке введите адрес репозитория с протоколом (например, localhost:8443/svn/test или svn://someserver:3690/proj1/trunc). Откроется окно просмотра репозитория (с помощью кнопки напротив строки адреса можно выбрать, какую ревизию просмотреть; HEAD — это последняя ревизия).

2) Для создания локального репозитория (не используя сервер) запускается пункт меню TortoiseSVN→Create repository here… на нужном каталоге. В Repo-browser такой репозиторий доступен по протоколу file:///.

3) Для скачки себе версии из существующего репозитория запускается пункт меню TortoiseSVN→SVN Checkout на каталоге, в который сольется версия.

4) Если вы еще не использовали SVN и хотите залить на сервер свою текущую версию исходников, запустите пункт меню TortoiseSVN→Import… на каталоге, в котором лежит версия (при этом не забудьте, что разрабатываемую ветку надо лить в trunk).

5) TortoiseSVN→Export… используется для получения чистой версии исходников из репозитория (без служебных файлов контроля версий).

6) Если контекстное меню вызвать на каталоге, который является локальной (рабочей) копией репозитория, контекстное меню значительно расшириться. Например, появятся пункты Update (слить последние изменения с сервера) и Commit (закачать ваши изменения на сервер).

На последок рекомендую почитать интересную серию статей Работа с Tortoise SVN.

Subversion (SVN) — свободная централизованная система управления версиями. Необходимый инструмент программиста.

Статья о Subversion в Википедии.

Веб-сайт проекта: http://subversion.apache.org/

Подготовка к установке

  1. Предварительно необходимо установить Apache (отдельно или в составе Zend Server).
  2. Скачать последнюю версию  Subversion для Windows: http://sourceforge.net/projects/win32svn/files/latest/ (на момент написания статьи — версия 1.7.6)

Установка

  1. Запускаем установщик. Здесь все очень просто и прямолинейно. Единственное значимое действие — выбор пути установки. В моем случае это c:\Program Files (x86)\Subversion\.
  2. Добавляем папку c:\Program Files (x86)\Subversion\bin в SYSTEM PATH.
    Открываем Пуск -> Компьютер -> Свойства -> Дополнительные параметры системы ->вкладка Дополнительно -> Кнопка Переменные среды.
    В разделе «Системные переменные» находим переменную Path и нажимаем кнопку Изменить. В конец строки дописываем путь к папке bin. Разделитель путей — точка с запятой «;».
    Кстати, установщик справился с этим заданием сам, так что мне осталось только проконтролировать :)
  3. Из папки c:\Program Files (x86)\Subversion\bin копируем файлы mod_dav_svn.so и mod_authz_svn.so в папку c:\Program Files (x86)\Zend\Apache2\modules, здесь c:\Program Files (x86)\Zend\Apache2 — папка установки Apache.
  4. Далее переходим в папку c:\Program Files (x86)\Zend\Apache2\conf и открываем файл httpd.conf. Находим в нем строки:
    #LoadModule dav_fs_module modules/mod_dav_fs.so
    #LoadModule dav_module modules/mod_dav.so

    и активируем их, т.е. убираем решетку (#) в начале обоих строк.

  5.  Там же добавляем две новые строки:
    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so
  6. В самый конец файла дописываем директиву:
    Include "conf/svn.conf"
  7. Сохраняем httpd.conf.
  8. Теперь необходимо создать папку, в которой будет храниться база данных репозитория. Например E:\_SVN. Создаем ее как обычно через Проводник или любой другой файловый менеджер.
  9. Создаем репозиторий. В командной строке выполняем:
    svnadmin create E:\_SVN
  10. Возвращаемся в папку c:\Program Files (x86)\Zend\Apache2\conf . Создаем в ней новый файл svn.conf (в п.6 мы уже подключили его к httpd.conf) со следующим содержанием:
    <Location /svn>
     DAV svn
     SVNPath E:/_SVN
    </Location>

    В SVNPath указывается путь к папке репозитория.

  11. Чтобы изменения вступили в силу, перезапускаем службу Apache.
  12. Проверяем, что получилось.
    Для этого открываем браузер и вводим в адресную строку: http://localhost/svn/
    Если все правильно, вы должны увидеть надпись:
    svn — Revision 0: /

Выбор структуры.

На этом этапе вы должны решить какой будет структура вашего репозитория. Будет ли в нем хранится несколько проектов или только один. У обоих подходов есть свои плюсы и минусы (подробнее здесь (анг.)). Многопроектный репозиторий легче администрировать, и при этом вы всегда сможете создать отдельный репозиторий для какого-нибудь большого проекта. Лично я предпочитаю хранить проекты в одном репозитории, белее-менее крупная софтверная компания выберет, скорее всего, смешанный вариант.
Чем отличается многопректный вариант от однопроектного? Только структурой папок.
Структура многопроектного репозитория:

/
  project1/
    trunk/
    tags/
    branches/
  project2
    trunk/
    tags/
    branches/
  project3
    trunk/
    tags/
    branches/

Структура однопроектного репозитория:

/
  trunk/
  tags/
  branches/

Подробнее о назначении системных папок:

  • trunk — папка для хранения кода текущего релиза (последняя стабильная версия проекта). Не должна содержать ничего лишнего!
  • tags — папка для хранения версий. Содержит подпапки по номерам версий. Выкладывая новый релиз в trunk всегда делаем копию в tags!
  • branches — папка для работы над новым или экспериментальным кодом (чтобы не затронуть код текущего релиза).

Создаем проект

Вновь открываем командную строку, и выполняем:

svn mkdir -m "Новый проект" http://localhost/svn/project1

Создаем системные папки:

svn mkdir -m "" http://localhost/svn/project1/trunk
svn mkdir -m "" http://localhost/svn/project1/tags
svn mkdir -m "" http://localhost/svn/project1/branches

Проверяем результат из командной строки:

svn list http://localhost/svn/project1

Или открываем в браузере  http://localhost/svn/project1

В обоих случаях вы должны увидеть созданную структуру папок.

Настройка прав доступа

  1. Первый шаг — создание пользователей.
    Открываем командную строку, переходим в папку установки Apache и далее в папку bin:
    cd "c:\program files (x86)\Zend\Apache2\bin"

    В зависимости от типа аутентификации используются разные команды (для Simple — htpasswd, для Digest — htdigest).
    Создаем первого пользователя:

    htdigest -с "e:\_SVN\auth" SVN Max

    Параметр используется для создания файла e:\_SVN\auth.

    Следующих пользователей создаем без параметра  (иначе файл будет перезаписан и мы потеряем всю введенную ранее информацию):

    htdigest "e:\_SVN\auth" SVN Max

    e:\_SVN\auth — это путь к файлу, в котором будет храниться информация о пользователях. Расположение файла может быть любым, но чтобы не запутаться размещаю его в папку репозитория.
    SVN — область (realm) или группа к которой принадлежит имя пользователя. Значение этого параметра запоминаем, т.к. оно еще понадобится.
    Max — имя пользователя.

    После ввода команды, необходимо ввести пароль пользователя, затем повторно подтвердить его.

  2. Удаление пользователя.
    В отличие от htpasswd, htdigest не может удалять пользователя. Поэтому единственный выход — ручное редактирование файла.
  3. Теперь переходим к настройке прав доступа.
    В папке репозитория (e:\_SVN) создаем еще один файл — acl с примерно таким содержанием (используем Блокнот):
    #
    # Группы пользователей
    #
    [groups]
    team1 = Max, Sergey
    
    #
    # Доступ к корню
    # team1 - чтение и запись
    # все остальные - только чтение
    #
    [/]
    @team1 = rw
    * = r
    
    #
    # Доступ к project1
    # team1 - чтение и запись
    # Ivan - чтение и запись (у него доступ только к этому проекту)
    # Dub - доступ запрещен
    #
    [/project1]
    @team1 = rw
    Ivan = rw
    Dub =
    
  4. Вносим изменения в svn.conf:
    <Location /svn>
      DAV svn
      SVNPath e:/_SVN
    
      AuthName "SVN"
      AuthType Digest
      AuthUserFile e:/_SVN/auth
    
      AuthzSVNAccessFile e:/_SVN/acl
    
      # Authorization: Authenticated users only
      Require valid-user
    </Location>

    Обратите внимание на параметр AuthName, его значение должно совпадать с параметром realm, введенном при создании пользователя.

  5. Чтобы изменения вступили  в силу перезагружаем службу Apache.
  6. Проверяем результат. Теперь при открытии репозитория должны запрашиваться имя пользователя и пароль.

Работать с Subversion из командной строки — страшный анахронизм. В следующей статье я покажу как установить и использовать клиент Subversion в популярной среде разработки Eclipse.

  • Метки Apache, Subversion, Windows 7, Zend Server, Рабочее место WordPress-разработчика

Введение

В данном 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 МБ), запускайте его и следуйте указаниям мастера. Мастер выполнит несколько шагов. Рассмотрим все шаги мастера по порядку:

  1. Приветствие мастера. Сразу жмите «Next«.
  2. Предложение прочитать онлайновый ReadMe. Жмите «Next«.
  3. Выберите компоненты, которые нужно установить: svnserve (собственно svn-сервер (устанавливать обязательно)) и Apache (устанавливайте только если хотите разрешить доступ к своим репозиториям из Интернета через обычные браузеры). Выбрав нужные компоненты, переходите к следующему шагу.
  4. На этом шаге предлагается выбрать порт для svn-сервера (настоятельно рекомендуется использовать стандартный 3690) и указать путь, где будут храниться репозитории (рекомендуется стандартное значение c:\svn_repository). Флажок в строке «Install svnserve to run as Windows service» позволит автоматически запускаться svn-серверу при запуске Windows (рекомендуется не снимать отсюда флажок). Внимание! Этого шага не будет, если на шаге 3 Вы не выбрали компонент svnserve.
  5. Теперь предлагается настроить 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.
  6. Выберите каталог для установки набора серверов и нажмите «Install«.
  7. На этом шаге предлагается включить уведомления о новых версиях программы. Рекомендуется снять все флажки.
  8. Нажмите «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

Строка «anon-access = none» означает, что анонимы не смогут получить доступ к репозиторию вообще (сделано из соображений безопасности), а «auth-access = write» означает, что авторизованные пользователи получат полный доступ в пределах их ограничений, заданных в файле authz (если такая функция включена). Если Вы хотите, чтобы анонимы могли получить доступ только для чтения (например, разрабатываете OpenSource-проект), то установите «anon-access = read«.

Теперь Вы должны раскомментировать строку:

password-db = passwd

Эта строка указывает в каком файле будут находиться логины и пароли пользователей для авторизации на svn-сервере. Теперь откройте файл «ПУТЬ_К_РЕПОЗИТАРИЮ\conf\passwd» в любом текстовом редакторе и впишите в нём «логин_пользователя = пароль_пользователя» (разделителем служит знак равенства). Пример правильного файла passwd:

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
vova = kjkj345K
anton = Gh74oJId
dima = ir9895498
katya = o894584578
sergey = 985kdfjdfk

Убираем символ комментария из строки:

realm = My First Repository

В ней указывается имя Вашего репозитория. После знака равенства вместо My First Repository Вы можете указать любое другое имя. Оно выводится при запросе логина и пароля.

Настройка сервера с простой (simple) авторизацией завершена. Пример правильного файла конфигурации сервера:

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file.  If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
#authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
realm = Test Repository

[sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### This section will be ignored if svnserve is not built with Cyrus
### SASL support; to check, run 'svnserve --version' and look for a line
### reading 'Cyrus SASL authentication is available.'
# use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. 0 means no encryption, 1 means
### integrity-checking only, values larger than 1 are correlated
### to the effective key length for encryption (e.g. 128 means 128-bit
### encryption). The values below are the defaults.
# min-encryption = 0
# max-encryption = 256

Теперь пора проверить созданный нами svn-сервер, но сначала мы должны перезапустить его чтобы он смог считать изменённые конфигурационные файлы. Для этого набираем «Windows+R» — «cmd.exe«. В открывшейся командной строке пишем слелующие команды (по порядку):

net stop CSVNsvnserve
net start CSVNsvnserve

Открываем 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 найдите следующие строки:

DAV svn
SVNParentPath C:\svn_repository

и замените на такие:

DAV svn
SVNPath C:\svn_repository

AuthType Basic
AuthName "Subversion repository"
AuthUserFile C:\svn_repository\conf\appswd
Require valid-user

Здесь с:\svn_repository — путь к репозиторию svn. Измените в соответствии с Вашими настройками.

Теперь нужно создать файл паролей Apache. Для этого откройте командную строку Windows («Win+R» — «cmd.exe«) и выполните следующие команды:

cd "%PROGRAMFILES%\CollabNet\Subversion Server\httpd\bin"
htpasswd -cmb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_1 ПАРОЛЬ
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_2 ПАРОЛЬ
...
htpasswd -mb C:\svn_repository\conf\appswd ЛОГИН_ПОЛЬЗОВАТЕЛЯ_N ПАРОЛЬ

Внимание! Параметр -cm нужно указывать только при первом создании пользователя, т.к. он перезаписывает имеющийся файл. В пути к файлу паролей буква диска обязательно должна быть в верхнем регистре.

В качестве ЛОГИН_ПОЛЬЗОВАТЕЛЯ нужно указать все логины пользователей, указанные в файле passwd. Пароли также должны быть идентичны.

Настройка SVN over Apache 2 была успешно завершена. Теперь нужно перезапустить сервер командами консоли Windows:

net stop CollabNetSubversionApache
net start CollabNetSubversionApache

Протестировать сервер можно так: http://127.0.0.1:ПОРТ/ в любом веб-браузере. Будет запрошен логин и пароль для доступа к репозиторию.

SVN (Subversion) — это система управления версиями, которая позволяет удобно отслеживать и управлять изменениями в проектах. Она применяется для коллективной разработки программного обеспечения и управления кодом, а также для хранения и управления документами и файлами.

Как настроить svn сервер на операционной системе Windows? В этой пошаговой инструкции мы расскажем о том, как установить и настроить svn сервер на вашем компьютере.

Шаг 1: Установка SVN сервера

Первым шагом необходимо скачать и установить программу «VisualSVN Server». Она предоставляет готовое решение для работы с svn сервером на операционной системе Windows. Зайдите на официальный сайт VisualSVN Server и скачайте установочный файл.

Шаг 2: Создание репозитория

После успешной установки VisualSVN Server откройте его и выберите пункт меню «Create New Repository». Введите имя репозитория и нажмите «OK». Репозиторий будет создан и готов к использованию.

Шаг 3: Настройка доступа

Для настройки доступа к репозиторию выберите пункт меню «Properties» → «Security». Здесь вы можете настроить права доступа для различных пользователей или групп пользователей. Не забудьте сохранить изменения.

Поздравляю! Теперь у вас настроен svn сервер на операционной системе Windows. Вы можете добавлять файлы в репозиторий, контролировать изменения, сотрудничать с другими разработчиками и делать многое другое.

Содержание

  1. Что такое SVN сервер и как его настроить на Windows
  2. Подготовка к установке SVN сервера на Windows
  3. Установка SVN сервера на Windows
  4. Подключение к SVN серверу на Windows
  5. Настройки безопасности SVN сервера на Windows
  6. Как использовать SVN сервер на Windows
  7. Шаг 1: Установка SVN сервера
  8. Шаг 2: Создание репозитория
  9. Шаг 3: Создание пользователей и установка прав доступа
  10. Шаг 4: Подключение к SVN серверу

Что такое SVN сервер и как его настроить на Windows

Настройка SVN сервера на Windows предполагает установку специального программного обеспечения и настройку его параметров для безопасного доступа и управления репозиторием. Последовательность действий может варьироваться в зависимости от используемого ПО, но в общих чертах процедура настройки выглядит следующим образом:

  1. Установка SVN сервера. Для этого нужно скачать соответствующий дистрибутив SVN сервера для Windows, запустить установочный файл и следовать инструкциям на экране.
  2. Настройка параметров SVN сервера. После установки необходимо настроить параметры сервера, включая выбор пути к репозиторию, указание пользователей и установку прав доступа.
  3. Настройка безопасности. Для обеспечения безопасного доступа к SVN серверу рекомендуется настроить авторизацию и автентификацию пользователя с использованием паролей и/или сертификатов.
  4. Настройка клиентского доступа. Для работы с SVN сервером на клиентских машинах необходимо установить SVN клиент и настроить доступ к серверу, указав адрес, порт и учетные данные пользователя.

После завершения процедуры настройки SVN сервера на Windows, разработчики смогут использовать его для совместной работы над проектами, вносить изменения, откатывать изменения к предыдущим версиям и отслеживать историю изменений. SVN сервер обеспечивает удобную и надежную среду для разработки и контроля проектов на Windows платформе.

Подготовка к установке SVN сервера на Windows

Перед установкой SVN сервера на операционной системе Windows необходимо выполнить ряд предварительных шагов. В этом разделе мы рассмотрим необходимые действия для подготовки к установке.

Шаг Описание
1 Убедитесь, что у вас установлена подходящая версия операционной системы Windows для установки SVN сервера. В настоящее время поддерживаются Windows 7, Windows 8, Windows 10 и их серверные версии.
2 Проверьте наличие прав администратора на компьютере, где будет развернут SVN сервер. Установка и настройка сервера требуют прав администратора.
3 Установите последнюю версию JDK (Java Development Kit) на сервер. SVN сервер требует наличия JDK для своей работы.
4 Скачайте установочный файл SVN сервера с официального веб-сайта разработчика. Рекомендуется использовать последнюю стабильную версию.
5 Подготовьте необходимые системные ресурсы для работы SVN сервера. Убедитесь, что у вас достаточно места на диске, достаточно памяти для выполнения операций и передачи данных через сервер.

После выполнения всех этих шагов, вы будете готовы к установке и настройке SVN сервера на операционной системе Windows.

Установка SVN сервера на Windows

Шаг 1: Загрузка

Перейдите на официальный сайт Subversion (https://subversion.apache.org/) и загрузите самую новую версию SVN сервера для Windows.

Шаг 2: Установка

Запустите загруженный файл и следуйте инструкциям мастера установки. Нажмите «Next», примите условия пользовательского соглашения и выберите путь установки.

Примечание: Рекомендуется выбирать краткий путь, без пробелов.

Шаг 3: Конфигурация

При установке SVN сервера на Windows будет создан файл конфигурации svnserve.conf, который содержит настройки сервера. Откройте его в текстовом редакторе.

Примечание: Путь к файлу конфигурации по умолчанию — C:\Program Files\Subversion\conf\svnserve.conf

Шаг 4: Настройка безопасности

В файле конфигурации найдите строку с комментарием «# anon-access = read», раскомментируйте ее и измените значение на «anon-access = none». Это отключит анонимный доступ к серверу.

Затем найдите строку с комментарием «# auth-access = write», раскомментируйте ее и измените значение на «auth-access = write». Это разрешит аутентифицированным пользователям запись на сервер.

Шаг 5: Создание пользователей

Создайте файл passwd в той же директории, где находится файл конфигурации. Откройте его в текстовом редакторе и добавьте строки в следующем формате:

username = password

Где username — логин пользователя, а password — его пароль. Не забудьте сохранить изменения.

Шаг 6: Запуск сервера

Откройте командную строку и перейдите в директорию, в которой установлен SVN сервер.

Введите следующую команду:

svnserve -d -r C:\path\to

epository

Примечание: Замените C:\path\to

epository на путь к вашему репозиторию.

Шаг 7: Проверка работоспособности

Откройте браузер и введите адрес вида: svn://localhost. Вы должны увидеть стандартную страницу SVN сервера.

Примечание: Если вы хотите использовать другой порт, необходимо указать его в команде запуска сервера, например: svnserve -d -r C:\path\to

epository —listen-port my_port

Поздравляю! Вы успешно установили SVN сервер на Windows и можете начинать работу с ним.

Подключение к SVN серверу на Windows

Для подключения к SVN серверу на Windows, вам необходимо выполнить несколько шагов:

Шаг 1: Установка клиента SVN

Для начала, установите SVN клиент на свой компьютер. Вы можете скачать его с официального сайта Apache Subversion (https://subversion.apache.org).

Шаг 2: Создание рабочей копии репозитория

Для подключения к SVN серверу, вам необходимо создать рабочую копию репозитория на вашем компьютере. Для этого выполните команду:

svn checkout URL_репозитория

Шаг 3: Ввод учетных данных

При подключении к SVN серверу, вам может потребоваться ввести учетные данные (имя пользователя и пароль). Введите их, чтобы успешно подключиться к серверу.

Шаг 4: Работа с репозиторием

После успешного подключения к SVN серверу, вы можете начать работу с репозиторием. Используйте команды SVN для получения свежей версии кода, обновления, коммита изменений и т.д.

Шаг 5: Завершение работы

После завершения работы с репозиторием, вы можете отключиться от сервера с помощью команды:

svn cleanup

Теперь вы знаете, как подключиться к SVN серверу на Windows и работать с ним.

Настройки безопасности SVN сервера на Windows

1. Создание пользователей и групп

Перед началом использования SVN сервера, необходимо создать пользователей и группы, которые будут иметь доступ к репозиториям. Создайте уникальные логины и пароли для каждого пользователя и группы, и установите разрешения на чтение и запись соответствующим пользователям и группам.

2. Аутентификация и авторизация

Установите аутентификацию и авторизацию для доступа к репозиториям SVN. Для этого можно использовать различные методы аутентификации, такие как Basic, Digest или Windows Integrated Authentication. В зависимости от ваших потребностей, выберите подходящий метод и настройте его на SVN сервере.

3. Шифрование соединения

Для обеспечения безопасности передачи данных между клиентом и сервером, рекомендуется использовать шифрование соединения. Для этого можно настроить SSL/TLS на сервере. Создайте и установите цифровой сертификат для сервера, чтобы обеспечить защищенное соединение.

4. Ограничение доступа к репозиториям

Ограничьте доступ к репозиториям, чтобы предотвратить несанкционированный доступ к вашему коду и данным. Установите права доступа на уровне репозиториев, а также на уровне папок и файлов внутри репозиториев. Это позволит контролировать, кто имеет доступ к каким файлам и директориям на SVN сервере.

5. Журналирование и мониторинг

Включите журналирование и мониторинг на SVN сервере, чтобы иметь возможность отслеживать активность пользователей и обнаруживать потенциальные угрозы безопасности. Регулярно просматривайте логи и мониторинговые данные, чтобы быстро реагировать на любые подозрительные активности или аномалии.

Настройка безопасности SVN сервера на Windows поможет обеспечить защиту вашего кода и данных от несанкционированного доступа и потенциальных угроз безопасности. Следуйте указанным выше рекомендациям и останьтесь в безопасности при использовании SVN сервера на Windows.

Как использовать SVN сервер на Windows

Для использования SVN сервера на Windows вам понадобится настроить его и установить необходимое программное обеспечение. В этом разделе мы расскажем вам о том, как использовать SVN сервер на Windows, чтобы вы могли эффективно управлять вашими проектами.

Вот пошаговая инструкция по использованию SVN сервера на Windows:

Шаг 1: Установка SVN сервера

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

Шаг 2: Создание репозитория

После установки SVN сервера необходимо создать репозиторий, в котором будут храниться ваши файлы и версии проектов. Вы можете создать новый репозиторий, выбрав пункт «Create new repository» в меню VisualSVN Server Manager. Затем укажите имя репозитория и его расположение на диске.

Шаг 3: Создание пользователей и установка прав доступа

Для того чтобы иметь возможность работать с SVN сервером, вам нужно создать пользователей и установить права доступа к репозиторию. В меню VisualSVN Server Manager выберите пункт «Create user» и создайте нового пользователя. Затем укажите имя пользователя и его пароль.

После создания пользователей вы можете установить им права доступа к репозиторию. Выберите пункт «Properties» для репозитория, затем перейдите на вкладку «Security» и установите необходимые права для каждого пользователя.

Шаг 4: Подключение к SVN серверу

После создания репозитория и установки прав доступа, вы можете подключиться к SVN серверу и начать работать с ним. Для этого вам понадобится клиент SVN, такой как TortoiseSVN. Установите его с официального сайта и следуйте инструкциям по установке.

После установки клиента SVN вам нужно склонировать репозиторий на ваш компьютер. Выберите папку, в которой вы хотите сохранить репозиторий, нажмите правой кнопкой мыши и выберите пункт «SVN Checkout». Введите URL репозитория и укажите имя пользователя и пароль, которые вы использовали для создания пользователя на сервере.

После успешного подключения вы сможете работать с SVN сервером на Windows, выполнять коммиты, обновления и другие операции с вашими проектами.

Вот и всё! Теперь вы знаете, как использовать SVN сервер на Windows. Мы надеемся, что эта пошаговая инструкция сделала процесс настройки и использования SVN сервера на Windows более понятным и простым для вас.

По просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.

С самого начала сообщаю, что для SVN есть подробное руководство. Называется оно svn-book и доступно на сайте и идет вместе с CollabNet Subversion-server. Так же про установку и настройку svnserv с Apache есть описание в учебнике по TortioseSVN (довольно хорошая подробная помощь на русском).

На самом деле SVN-клиент может отлично работать и без сервера. Репозиторий (хранилище кода) можно создать в любом каталоге на собственном HDD, или в сетевом каталоге. Сервер требуется лишь для удаленного доступа к репозиторию, не больше. Локальный репозиторий годится, если над проектом работает один человек и ему просто нужна система контроля версий своего приложения и бэкапы.

Если работа ведется в команде или требуется удаленный доступ к репозиторию (через Интернет, например), нужно устанавливать SVN-сервер. Он может работать самостоятельно, либо через веб-сервер Apache. В первом случае доступ к репозиториям будет по протоколу svn://, во втором — http(s)://. Доступ через веб-сервер нужен при проблемах с файрволом, когда он пропускает только HTTP-трафик, а так же для работы некоторых утилит-примочек к SVN-серверу.

Установка сервера

Самую свежую версию svn-cервера всегда можно найти на сайте subversion.tigris.org. Чистый svn-сервер без Apache в комплекте, и без визуальных примочек доступен только для версии 1.4.6, в то время как текущая версия 1.5.0. Для версии 1.5.0 есть выбор между CollabNet Subversion-server-1.5.0 (~11 MB) и VisualSVN Server (~5 MB). Первый идет в комплекте с Apache, второй — с Apache и плагином для Windows Management Console. Так же для VisualSVN есть платная возможность интеграции с Visual Studio.

A. Установка и настройка сервера VisualSVN (svn-сервер + Apache + консоль управления) самая простая. Эту версию нельзя установить без Apache.

1) Скачиваем файл VisualSVN-Server-1.5.1.msi или новее. Запускаем установку.
2) В мастере установки указываем, использовать ли для доступа HTTPS, либо просто HTTP. Указываем порт для прослушивания по выбранному протоколу и способ аутентификации. Так же указываем каталог, в котором будут храниться репозитории.
3) После установки открываем Management Console (через Пуск, например) и создаем пользователей и репозитории.

Теперь ваши репозитории доступны через выбранный протокол (HTTP или HTTPS) по указанному при установке хосту:порту (например, https://localhost:8443/svn/). Их можно просматривать как из браузера (через xsl), так и из SVN-клиета.

Работа с сервером VisualSVN безусловно самая простая.

B. Установка CollabNet Subversion Server (svn-сервер + Apache опционально).

1) Скачиваем файл CollabNetSubversion-server-1.5.0-23.win32.exe или версию новее. Запускаем его на установку.
2) Шаг Choose Components. Устанавливаем флажок SVNSERVE в любом случае. Если требуется установить так же Apache для SVN, устанавливаем флажок напротив него.
3) На шаге sunserve Configuration устанавливаем порт для sunserve (по умолчанию 3690, менять его смысла нет, если он не занят) и путь к репозиториям (каталог, где вы будете создавать отдельные репозитории в виде подкаталогов).
4) Затем настраивается Apache: хост/порт, путь к репозиториям (тот же, что и для svnserve) и префикс для URL (http://host:port/prefix). Префикс нужен на случай, если Apache будет использоваться не только для обслуживания SVN.

После установки появятся две новых службы Windows: Subversion Server (наш svnserv.exe) и Apache2.2 (если он был включен при установке). Чтобы все заработало их нужно запустить.

С. Установка svnserve 1.4.6 (чистый svn-сервер).

1) Скачиваем файл svn-1.4.6-setup.exe. Запускаем его на установку. При установке ничего кроме целевого каталога указывать не надо. После установки этот каталог надо добавить в переменную среды PATH (не помню, возможно это делается автоматически).
2) Создаем репозитории командой: svnadmin create c:\repositories\example-repository
3) Создаем сервис. Команда в консоли: sc create svn_svr binpath= «c:\Program Files\Subversion\bin\svnserve.exe —service -r C:\repositories» displayname= «Subversion Svr»
Здесь -r C:\repositories — адрес каталога с репозиториями, т.е. от него потом будут вычисляться пути. Например, если есть 2 репозитория: C:\repositories\proj1 и C:\repositories\proj2, то указав параметром -r C:repositories потом пути к репозиториям будут: svn://localhost:3690/proj1 и svn://localhost:3690/proj2 соответственно. Порт 3690 устанавливается по умолчанию, но его можно поменять (подробности в svn book).
4) Запускается сервис автоматически при старте Windows или из списка служб.

Именно эту работу (если не считать установку Apache) сделал за вас установщик CollabNet Subversion Server. В случае установки svnserve 1.4.6 доступ к репозиторию будет только по протоколу svn://.

D. Создание репозитория. Выделяю этот пункт отдельным разделом. Если в VisualSVN создание репозитория производится кликом мыши, то для svnserve (в том числе в версии от CollabNet) репозиторий создается из консоли. В поставке snv-сервера есть файл snv-install-folder\bin\svnadmin.exe. Если путь к snv-install-folder\bin еще не прописан в PATH, сделайте это.

Чтобы создать репозиторий, откройте консоль (cmd) и перейдите в каталог для хранения репозиториев, который вы указывали при установке (CollabNet) или создании сервиса (svnserve 1.4.6). Создайте новый пустой подкаталог (например, example-repository). В консоли выполните команду: svnadmin create example-repository. В только что созданном каталоге появится структура файлов svn. В них есть много полезных «штук», о которых можно почитать в svn-book и учебнике.

В подкаталоге conf можно настроить основные параметры репозитория. Прежде всего требуется закрыть доступ в репозиторий кому-попало. В файле svnserve.conf раскомментируем строки
# anon-access = read
# auth-access = write

Не забудьте убрать так же пробел после #, т.к. иначе будет ошибка чтения конфига. anon-access определяет доступ анонимным пользователям, auth-access — зарегистрированным. Они могут принимать значения «write», «read» и «none». Обычно anon-access = none и auth-access = write.

Далее надо раскомментировать # password-db = passwd, а в файл passwd в этом же каталоге добавить строку user = password.

Для начала такое определение доступа годится, но в последствии конечно пароли надо шифровать (читаем svn-book).

На этом установка сервера закончена и можно установить клиент.

Установка клиента.

Некоторые профессионалы предпочитают работать с консолью. Наверное это не самый удобный способ, особенно для новичков, поэтому рассматривать его не будем. Другие работают с SVN через плагины к своим IDE. Это самый лучший способ, но поскольку разных IDE много и плагинов к ним тоже, в этой статье работу с ними не описываем.

Самым популярным и признанным клиентом SVN под Windows является TortoiseSVN. После его установки вы не получите отдельной программы, которую можно «классически запустить», клиент встраивается в проводник Windows, а команды для него доступны из контекстного меню файла (в т.ч. и в Total Commander).

Описывать установку клиента нет никакого смысла, там все элементарно просто.

О том, как работать с TortoiseSVN, подробно расписано в руководстве TortoiseSVN Клиент Subversion для Windows.

Дублировать это подробное руководство, конечно, желания нет, но все же super-fast-start work with tsvn опишу.

1) Для просмотра любого репозитория после установки TortoiseSVN вызовите контекствное меню на любом файле в системе, выберите меню TortoiseSVN→Repo-browser.  В открывшемся окошке введите адрес репозитория с протоколом (например, https://localhost:8443/svn/test или svn://someserver:3690/proj1/trunc). Откроется окно просмотра репозитория (с помощью кнопки напротив строки адреса можно выбрать, какую ревизию просмотреть; HEAD — это последняя ревизия).

2) Для создания локального репозитория (не используя сервер) запускается пункт меню TortoiseSVN→Create repository here… на нужном каталоге. В Repo-browser такой репозиторий доступен по протоколу file:///.

3) Для скачки себе версии из существующего репозитория запускается пункт меню TortoiseSVN→SVN Checkout на каталоге, в который сольется версия.

4) Если вы еще не использовали SVN и хотите залить на сервер свою текущую версию исходников, запустите пункт меню TortoiseSVN→Import… на каталоге, в котором лежит версия (при этом не забудьте, что разрабатываемую ветку надо лить в trunk).

5) TortoiseSVN→Export… используется для получения чистой версии исходников из репозитория (без служебных файлов контроля версий).

6) Если контекстное меню вызвать на каталоге, который является локальной (рабочей) копией репозитория, контекстное меню значительно расшириться. Например, появятся пункты Update (слить последние изменения с сервера) и Commit (закачать ваши изменения на сервер).

На последок рекомендую почитать интересную серию статей Работа с Tortoise SVN.

  • Как установить torrserve на windows
  • Как установить utorrent на windows 10 если блокирует
  • Как установить steam api dll на windows 10
  • Как установить sql server 2019 на windows server 2019
  • Как установить torrent на windows 11