Назад | Перейти на главную страницу

Установка и настройка SVN на сервере FreeBSD

Во-первых, спасибо всем, кто ответил на мой предыдущий вопрос - https://stackoverflow.com/questions/1393827/setting-up-svn-web-based-services-vs-your-own-svn-server

Как бы я ни предпочел использовать веб-решение, сервер svn должен быть реализован в офисе.

В настоящее время мы запускаем FreeBSD на нашем сервере, в настоящее время я ищу информацию о настройке репозитория SVN на сервере с помощью командной строки.

Раньше я использовал команды терминала в Ubuntu, поэтому у меня есть кое-какие идеи, но я далеко не эксперт. Я наткнулся на несколько руководств, но они кажутся совершенно разными и пропускают несколько фрагментов. Я действительно ищу пошаговое руководство по настройке репозитория и его пользователей. В идеале руководство для начинающих, чтобы я точно знал, что происходит.

Я был бы очень признателен за любые подсказки или указатели в правильном направлении.

Спасибо за уделенное время.

Я советую вам сначала попробовать использовать демон svnserve, который поставляется вместе с subversion. Он использует свой собственный протокол через TCP, поэтому для всех операций с репозиторием вы будете использовать схему URL svn: //, например:

% svn checkout svn://localhost/myproject

Итак, после установки порта devel / subversion:

# cd /usr/ports/devel/subversion
# make WITHOUT_BDB=1 WITH_SVNSERVE_WRAPPER=1 WITH_REPOSITORY_CREATION=1 install clean

вы получите свежий пустой репозиторий в /home/svn/repos. Порт также создаст svn пользователь и svn группа (проверьте их обоих в /etc/passwd и /etc/group файлы, чтобы быть уверенным).

Затем добавьте эти строки к вам /etc/rc.conf:

svnserve_enable="YES"
svnserve_flags="-d --listen-port=3690 --listen-host 127.0.0.1"
svnserve_data="/home/svn/repos"
svnserve_user="svn"
svnserve_group="svn"

Измените 127.0.0.1 на другой IP-адрес, доступный с других машин, если вам это нужно. Запустите демон с помощью команды:

# /usr/local/etc/rc.d/svnserve start

Если ошибок не произошло, проверьте запущенный демон:

# /usr/local/etc/rc.d/svnserve status
svnserve is running as pid 65968.

или

# sockstat | grep svn
svn      svnserve   65968 3  tcp4   127.0.0.1:3690        *:*

ХОРОШО. Теперь вам нужно создать аутентификацию для каждого пользователя для svnserve. Это делается путем редактирования /home/svn/repos/conf/passwd файл, например:

[users]
bob = password
joe = another_password
alex = yet_another_password

Затем убедитесь, что в /home/svn/repos/conf/svnserve.conf файл существует эти строки:

[general]
anon-access = none
auth-access = write
password-db = passwd

Вот и все. Теперь вы можете импортировать свои источники в этот репозиторий. Чтобы получить больше информации пожалуйста прочти http://svnbook.red-bean.com/en/1.5/svn.serverconfig.svnserve.html

Контроль версий с помощью Subversion - это источник, к которому я обычно обращаюсь за информацией о Subversion. Главы 5 и 6 выглядят так, как будто они могут направить вас в правильном направлении.

Я рекомендую получить доступ к репозиторию с помощью HTTP, что упростит многие вещи для клиентов (особенно, если они находятся за брандмауэром). Я люблю ходить путь апачей.

$ su -
$ cd /usr/ports/devel/subversion
$ make install clean

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

Если вы не видите диалоговое окно с запросом параметров конфигурации, введите

$ make config

Чтобы разрешить включение модуля apache, svnserve и некоторых других параметров.

Последняя версия доступна в виде порта и готовый пакет.

Чтобы установить пакет,

sudo pkg install subversion

И обязательно прочтите и следите за текстом с подробностями.