- Apache Subversion Binary Packages
- Centos Linux ¶
- Debian Linux ¶
- Fedora Linux ¶
- FreeBSD ¶
- HP-UX ¶
- NetBSD ¶
- OpenBSD ¶
- openSUSE ¶
- Mac OS X ¶
- Red Hat Linux ¶
- Solaris ¶
- SUSE Linux ¶
- Ubuntu Linux ¶
- Windows ¶
- Windows — Cygwin ¶
- Установка и настройка сервера SVN (Subversion) на Linux Ubuntu
- Подготовка системы
- 1. Обновление пакетов
- 2. Правильное время
- 3. Настройка брандмауэра
- Установка SVN и создание репозитория
- Веб-сервер
- Проверка работы репозитория
- Локально
- С удаленной машины
Apache Subversion Binary Packages
The Apache Subversion project does not officially endorse or maintain any binary packages of the Subversion software. However, volunteers have created binary packages for different distributions and platforms, and as a convenience, we maintain a list of links to them here. If there are any problems with or questions about the different binary packages please send email to the Subversion users mailing list.
Note that binary packages usually come out about a week after the corresponding source release. Please don’t post to the mailing lists asking when a binary package for a given platform will be ready. The packagers already know when new source releases come out, and work as fast as they can to make binaries available.
Binaries are typically built from the latest stable release.
Note also that this list does not include distributions of larger collections of software of which Subversion is but one piece. Several vendors offer such things, but we concern ourselves primarily with Subversion itself. As such, the listing here is limited to those packages which may be reasonably considered binary distributions of Apache Subversion alone. If you are looking for more widely scoped, Subversion-related value-add offerings, we trust that $ can facilitate that for you.
A condition to be listed is to keep current with security fixes by offering the latest supported patch release or by backporting security patches. The rule will be implemented with a fair amount of flexibility to allow time to release new packages, as well as any considerations regarding the release process. Please discuss at the Subversion users mailing list.
Centos Linux ¶
$ yum install subversion $ yum install mod_dav_svn
Debian Linux ¶
- Debian Project (maintained by Debian Project; client and server; svnserve is part of the subversion package, mod_dav_svn is in the separate libapache2-mod-svn package (formerly libapache2-svn))
$ apt-get install subversion $ apt-get install libapache2-mod-svn
Fedora Linux ¶
FreeBSD ¶
$ cd /usr/ports/devel/subversion $ make install
HP-UX ¶
NetBSD ¶
$ cd /usr/pkgsrc/devel/subversion $ make install clean
OpenBSD ¶
- OpenBSD Project (client and server; svnserve is part of the subversion package, mod_dav_svn is in the separate ap2-subversion package)
$ pkg_add subversion $ pkg_add ap2-subversion
openSUSE ¶
- Part of the the standard distribution. svnserve is part of the subversion package, mod_dav_svn is in the separate subversion-server package.
$ zypper install subversion $ zypper install subversion-server
Mac OS X ¶
$ brew options subversion $ brew install (OPTIONS) subversion
Red Hat Linux ¶
$ yum install subversion $ yum install mod_dav_svn
Solaris ¶
SUSE Linux ¶
- On SUSE Linux Enterprise: Enable the SDK. svnserve is part of the subversion package, mod_dav_svn is in the separate subversion-server package.
$ SUSEConnect -p sle-sdk/12.3/x86_64 $ zypper install subversion $ zypper install subversion-server
Ubuntu Linux ¶
- Ubuntu Packages (maintained by Ubuntu Project; client and server; svnserve is part of the subversion package, mod_dav_svn is in the separate libapache2-svn package)
$ apt-get install subversion $ apt-get install libapache2-svn
Windows ¶
- SlikSVN (32- and 64-bit (x64 and ARM64) client MSI
- TortoiseSVN (optionally installs 32- and 64-bit (x64 and ARM64) command line tools and svnserve; supported and maintained by the TortoiseSVN project)
- VisualSVN (32- and 64-bit client and server; supported and maintained by VisualSVN)
- WANdisco (32- and 64-bit client and server; supported and certified by WANdisco)
Windows — Cygwin ¶
- Cygwin (32- and 64-bit client and server; svnserve is part of the subversion package, mod_dav_svn is in the separate subversion-httpd package) 64-bit:
$ setup-x86_64 (OPTIONS) -P subversion $ setup-x86_64 (OPTIONS) -P subversion-httpd
$ setup-x86 (OPTIONS) -P subversion $ setup-x86 (OPTIONS) -P subversion-httpd
Установка и настройка сервера SVN (Subversion) на Linux Ubuntu
Опубликовано: 23.09.2022
- Установка.
- Первичная настройка.
- Доступ по http.
- Примеры работы с SVN на клиенте.
Разобьем ознакомление с программным продуктом по шагам:
Подготовка системы
Перед тем, как начать установку и настройку, выполним предварительные действия.
1. Обновление пакетов
Для корректной работы с пакетами в Ubuntu, необходимо, как минимум, обновить кэш:
Также можно выполнить обновление установленных пакетов:
2. Правильное время
Для корректных временных меток в нашем репозитории нужно позаботиться о правильном времени.
Настраиваем временную зону:
timedatectl set-timezone Europe/Moscow
* тут мы указали зону по московскому времени.
Список всех зон можно посмотреть командой:
Устанавливаем утилиту для синхронизации времени и разрешаем запуск демона:
3. Настройка брандмауэра
Если в нашей системе используется брандмауэр, нам необходимо открыть порты 80 и 443 — на них по умолчанию работает веб.
Как правило, в Ubuntu для этого используется iptables:
iptables -I INPUT -p tcp —dport 80 -j ACCEPT
iptables -I INPUT -p tcp —dport 443 -j ACCEPT
Для сохранения правил используем iptables-persistent:
apt install iptables-persistent
Установка SVN и создание репозитория
Начнем с Subversion. Установим следующие пакеты:
apt install subversion subversion-tools
- subversion — собственно, сама система контроля версий.
- subversion-tools — набор утилит для работы с SVN.
Теперь можно создать репозиторий, например, в каталоге /var/lib/svn:
svnadmin create /var/lib/svn/repo1
* где repo1 — имя созданного репозитория.
В данном каталоге должны появиться следующие файлы и папки:
conf db format hooks locks README.txt
Веб-сервер
Для работы с репозиторием SVN используется протокол http. Поднимем веб-сервер Apache.
Установим следующие пакеты:
apt install apache2 apache2-utils libapache2-mod-svn
- apache2 — веб-сервер.
- apache2-utils — набор утилит для работы с apache. В частности, мы будем использовать htpasswd для создания пользователя для авторизации через веб.
- libapache2-mod-svn — модули mod_dav_svn и mod_authz_svn для Apache. Они позволяют реализовать на сервере WebDAV, с помощью которого можно взаимодействовать с репозиториями.
Разрешаем и активируем модули dav и dav_svn:
Открываем на редактирование файл:
DAV svn
SVNParentPath /var/lib/svn
AuthType Basic
AuthName «Subversion Repository»
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
- /var/lib/svn — базовый путь, который мы определили для репозитория.
- /etc/apache2/dav_svn.passwd — файл, в котором будут храниться данные с логинами и паролями для доступа к репозиторию по http.
Перезапускаем сервис командой:
systemctl restart apache2
Создаем первую учетную запись для авторизации по http:
htpasswd -cm /etc/apache2/dav_svn.passwd admin
* в данном примере мы создадим учетную запись admin.
Последующие записи мы создаем без параметра -c:
htpasswd -m /etc/apache2/dav_svn.passwd user2
После вводим дважды пароль:
New password:
Re-type new password:
Adding password for user admin
Выставляем владельца для каталога репозитория:
chown -R www-data:www-data /var/lib/svn
Проверка работы репозитория
Попробуем подключиться к репозиторию с помощью локального клиента и клиента, который установлен на удаленном компьютере.
Локально
Сначала подключимся к репозиторию локально с того же сервера.
Перейдем во временный каталог:
Подключимся к нашему репозиторию и создадим копию в каталоге local:
svn checkout file:///var/lib/svn/repo1
Перейдем в появившейся каталог:
* созданный каталог будет с таким же именем, как и название репозитория.
Увидеть информацию о репозитории можно командой:
Попробуем добавить файл в репозиторий:
svn commit -m ‘Added test file’
* первой командой создаем файл, второй добавляем его в репозиторий, третьей — коммитим и пушим.
С удаленной машины
Для работы с репозиторием по сети, необходимо установить клиента. Рассмотрим это на примере другого компьютера с Ubuntu.
Выполним установку subversion:
Теперь можно подключиться к нашему репозиторию командой:
svn checkout —username admin http://192.168.100.15/svn/repo1/
* где 192.168.100.15 — IP-адрес моего сервера в локальной сети; admin — имя учетной записи, под которой мы будем авторизовываться на веб.
Перейдем в появившейся каталог:
Мы должны увидеть ранее созданный файл test.txt:
Попробуем создать еще один файл и запушим его в репозиторий:
svn commit -m ‘Added second commit’
* обратите внимание, что в данном примере мы используем ключ —force для добавления всех файлов.