SCROLL
Среднее время на прочтение: 2 мин.

Установка из исходников Subversion 1.11.1 с поддержкой WebDAV на Debian 9 Stretch

Сейчас в качестве основной серверной ОС использую Debian 9 Stretch и в связи с этим планомерно перевожу свои действующие сервисы с Debian 8 Jessie, на Debian 9 Stretch.

 

Поэтому рассмотрим, как собрать из исходников последнюю (на момент написания статьи) версию Subversion 1.11.1, с поддержкой WebDAV.

 

Подготовка системы

JUQwJTlGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI0JTIwJUQwJUJEJUQwJUIwJUQxJTg3JUQwJUIwJUQwJUJCJUQwJUJFJUQwJUJDJTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJBJUQwJUI4JTIwJUQwJUJFJUQwJUIxJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQxJTgzJTIwJUQwJUI0JUQwJUJFJTIwJUQwJUIwJUQwJUJBJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQxJTgxJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUJFJUQxJThGJUQwJUJEJUQwJUI4JUQxJThGJTNB

apt-get update && apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

apt-get install gcc checkinstall libaprutil1 libaprutil1-dev zlib1g zlib1g-dev liblz4-1 liblz4-dev libserf-1-1 libserf-dev libutf8proc2 libutf8proc-dev apache2 apache2-dev apache2-utils -y

 

JUQwJTk0JUQwJUJFJUQwJUIxJUQwJUIwJUQwJUIyJUQwJUJCJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQwJUJEJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThGJTIwKHN1YnZlcnNpb24pJTJDJTIwJUQwJUJBJUQwJUJFJUQxJTgyJUQwJUJFJUQxJTgwJUQxJThCJUQwJUI5JTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQwJUIyJUQwJUJCJUQwJUIwJUQwJUI0JUQwJUI1JUQwJUJCJUQxJThDJUQxJTg2JUQwJUI1JUQwJUJDJTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQxJThGJTIwJUQwJUI4JTIwJUQwJUJFJUQxJTgyJTIwJUQwJUJEJUQwJUI1JUQwJUIzJUQwJUJFJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUIwJUQxJTgyJUQxJThDJUQxJTgxJUQxJThGJTIwJUQwJUI0JUQwJUI1JUQwJUJDJUQwJUJFJUQwJUJEJTIwKFNWTiku

adduser subversion --system --shell /sbin/nologin --group --disabled-password --home /var/svn

 

JUQwJTlEJUQwJUIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUIwJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUIwJTIwJUQwJUJBJTIwJUQwJUJGJUQwJUIwJUQwJUJGJUQwJUJBJUQwJUI1JTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQxJTgwJUQwJUIwJUQwJUI3JUQwJUJDJUQwJUI1JUQxJTg5JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI1JUQwJUIyJTIwKFNWTikuJTIwJUQwJUEyJUQwJUIwJUQwJUJBJTIwJUQwJUJBJUQwJUIwJUQwJUJBJTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQwJUIwJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQxJTgxJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUI0JUQwJUI1JUQxJTgwJUQwJUI2JUQwJUJBJUQwJUJFJUQwJUI5JTIwV2ViREFWJTJDJTIwJUQxJTgyJUQwJUJFJTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUIwJTIwJUQxJTgyJUQwJUIwJUQwJUJBJTIwJUQwJUI2JUQwJUI1JTIwJUQwJUJGJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUIyJUQwJUI4JUQwJUJDJTIwJUQwJUI4JTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwV2ViLSVEMSU4MSVEMCVCNSVEMSU4MCVEMCVCMiVEMCVCNSVEMSU4MCVEMCVCMCUzQQ==

chown -R www-data:subversion /var/svn 
chmod -R 770 /var/svn

 

Установка Subversion

Скачиваем с официального сайта дистрибутив, распаковываем его и переходим в каталог:

wget http://apache-mirror.rbc.ru/pub/apache/subversion/subversion-1.11.1.tar.gz
tar -zxvf subversion-1.11.1.tar.gz 
cd subversion-1.11.1/

 

JUQwJUExJUQwJUJBJUQwJUIwJUQxJTg3JUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwU1FMaXRlJTIwJUQwJUI4JTIwJUQxJTgwJUQwJUIwJUQxJTgxJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUIyJUQxJThCJUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUI1JUQwJUI1JTIwJUQwJUI4JTIwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI4JUQwJUJDJUQwJUI1JUQwJUJEJUQwJUJFJUQwJUIyJUQxJThCJUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTNB

wget https://www.sqlite.org/2018/sqlite-amalgamation-3260000.zip
unzip sqlite-amalgamation-3260000.zip
mv sqlite-amalgamation-3260000 sqlite-amalgamation
rm sqlite-amalgamation-3260000.zip

 

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQwJUI4JTJDJTIwJUQxJTgxJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUI0JUQwJUI1JUQxJTgwJUQwJUI2JUQwJUJBJUQwJUJFJUQwJUI5JTIwV2ViREFWJTNB

./configure --with-serf=/usr --prefix=/usr --with-apache-libexecdir

 

JUQwJTlBJUQwJUJFJUQwJUJDJUQwJUJGJUQwJUI4JUQwJUJCJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQwJUI4JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJTNB

make
checkinstall

JTVCc3RleHRib3glMjBpZCUzRCVFMiU4MCU5OXdhcm5pbmclRTIlODAlOTklNUQlRDAlOTglRDElODElRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDAlQkQlRDAlQjglRDAlQjUlMjBjaGVja2luc3RhbGwlMkMlMjAlRDAlQjIlRDAlQkMlRDAlQjUlRDElODElRDElODIlRDAlQkUlMjBtYWtlJTIwaW5zdGFsbCUyQyUyMCVEMCVCMSVEMCVCRSVEMCVCQiVEMCVCNSVEMCVCNSUyMCVEMCVCRiVEMSU4MCVEMCVCMCVEMCVCMiVEMCVCOCVEMCVCQiVEMSU4QyVEMCVCRCVEMCVCRSVEMCVCNSUyMCVEMSU4MCVEMCVCNSVEMSU4OCVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyQyUyMCVEMSU4Mi4lRDAlQkEuJTIwJUQwJUJGJUQxJTgwJUQwJUI4JTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI4JTIwY2hlY2tpbnN0YWxsJTIwJUQwJUIyJTIwJUQwJUJBJUQwJUIwJUQxJTgyJUQwJUIwJUQwJUJCJUQwJUJFJUQwJUIzJUQwJUI1JTIwJUQxJTgxJTIwJUQwJUI4JUQxJTgxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUJEJUQwJUI4JUQwJUJBJUQwJUIwJUQwJUJDJUQwJUI4JTJDJTIwJUQxJTgyJUQwJUIwJUQwJUJBJTIwJUQwJUI2JUQwJUI1JTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQxJTgxJUQxJTg0JUQwJUJFJUQxJTgwJUQwJUJDJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJTIwREVCJTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJTIwJUQwJUI4JTIwJUQxJTgyJUQwJUIwJUQwJUJBJTIwJUQwJUI2JUQwJUI1JTIwJUQxJTgzJUQwJUI0JUQwJUIwJUQwJUJCJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUJCJUQwJUI1JUQwJUJEJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJTIwc3VidmVyc2lvbiUyQyUyMCVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCRCVEMCVCRSUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMCVCNSVEMSU4MiUyMCVEMSU4MSVEMSU4MCVEMCVCNSVEMCVCNCVEMSU4MSVEMSU4MiVEMCVCMiVEMCVCMCVEMCVCQyVEMCVCOCUyMGFwdC4lNUIlMkZzdGV4dGJveCU1RA==

 

JUQwJUExJUQwJUJFJUQwJUI3JUQwJUI0JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQxJTgyJUQwJUIwJUQxJTgwJUQxJTgyJUQwJUJFJUQwJUIyJUQxJThCJUQwJUI5JTIwJUQxJTgxJUQwJUJBJUQxJTgwJUQwJUI4JUQwJUJGJUQxJTgyJTIwU1ZOJTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUIwJTNB

nano /etc/init.d/svnserve

Вписываем в него следующее:

#!/bin/sh

### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Should-Start: $all
# Should-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop svnserve
# Description: Start/stop svnserve
### END INIT INFO

test -f /usr/bin/svnserve || exit 0

OPTIONS="-d -T -r /var/svn"

case "$1" in
 start)
 echo -n "Starting subversion daemon:"
 echo -n " svnserve"
 start-stop-daemon --start --quiet --chuid subversion:subversion --exec /usr/bin/svnserve -- $OPTIONS
 echo "."
 ;;

stop)
 echo -n "Stopping subversion daemon:"
 echo -n " svnserve"
 start-stop-daemon --stop --quiet --exec /usr/bin/svnserve
 echo "."
 ;;

reload)
 ;;

force-reload)
 $0 restart
 ;;

restart)
 $0 stop
 $0 start
 ;;

*)
 echo "Usage: /etc/init.d/subversion (start|stop|reload|restart)"
 exit 1
 ;;

esac

exit 0

Делаем скрипт исполняемым и добавляем в автозагрузку:

chmod a+x /etc/init.d/svnserve
update-rc.d svnserve defaults

 

JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQxJTgyJUQwJUJFJUQwJUIzJUQwJUJFJTIwJUQxJTg3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQwJUJDJUQwJUJFJUQwJUI0JUQxJTgzJUQwJUJCJUQwJUI4JTIwU1ZOJTIwJUQwJUI0JUQwJUJCJUQxJThGJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJThCJTIwJUQxJTgxJTIwV2ViREFWJTIwJUQwJUJEJUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQwJUJFJTIwJUQwJUI3JUQwJUIwJUQwJUIzJUQxJTgwJUQxJTgzJUQwJUI3JUQwJUI4JUQwJUJCJUQwJUI4JUQxJTgxJUQxJThDJTIwJUQwJUIyJTIwYXBhY2hlMiUyQyUyMCVEMCVCRCVEMCVCNSVEMCVCRSVEMCVCMSVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCOCVEMCVCQyVEMCVCRSUyMCVEMCVCMiVEMCVCRCVEMCVCNSVEMSU4MSVEMSU4MiVEMCVCOCUyMCVEMCVCOCVEMCVCNyVEMCVCQyVEMCVCNSVEMCVCRCVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMCVCMiUyMCVEMCVCRiVEMCVCRSVEMSU4MCVEMSU4RiVEMCVCNCVEMCVCRSVEMCVCQSUyMCVEMCVCOCVEMSU4NSUyMCVEMCVCNyVEMCVCMCVEMCVCMyVEMSU4MCVEMSU4MyVEMCVCNyVEMCVCQSVEMCVCOC4=

 

JUQwJTkyJUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJDJUQwJUJFJUQwJUI0JUQxJTgzJUQwJUJCJUQxJThDJUMyJUEwZGF2X21vZHVsZSUyMCVEMCVCOCUyMCVEMCVCRSVEMSU4MiVEMCVCQSVEMCVCQiVEMSU4RSVEMSU4NyVEMCVCMCVEMCVCNSVEMCVCQyUyMG1vZF9kYXZfc3ZuJTJDJTIwbW9kX2F1dGh6X3N2biUzQQ==

a2enmod dav
a2dismod dav_svn
a2dismod authz_svn

 

В конфигурационный файл /etc/apache2/apache2.conf после строк:

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

Добавляем следующее:

LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

[stextbox id=’warning’]Это все нужно для того чтобы модули загрузились в нужном порядке, т.к. загрузка модуля dav_svn_module, зависит от модуля dav_module, а модуль mod_authz_svn, от dav_svn_module. Если это не сделать, то apache не будет работать.[/stextbox]

 

JUQwJTlGJUQxJTgwJUQwJUI4JTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI4JTIwV2ViREFWJTJDJTIwJUQxJTg0JUQwJUIwJUQwJUI5JUQwJUJCJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JUMyJUEwZGF2X3N2bi5jb25mJTIwJUQwJUJGJUQwJUJFJUQwJUJDJUQwJUI1JUQxJTg5JUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUJEJUQxJTgzJUQwJUI2JUQwJUJEJUQwJUJFJTIwJUQwJUIyJUMyJUEwJTJGZXRjJTJGYXBhY2hlMiUyRmNvbmYtYXZhaWxhYmxlJTJGJTIwJUQwJUI4JTIwJUQwJUIyJUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUI1JUQwJUIzJUQwJUJFJTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQwJUJFJUQwJUI5JTNB

a2enconf dav_svn

 

Установка SVN с поддержкой WebDAV завершена. Можно приступать к созданию репозиториев и настройке доступа к ним.

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

0 комментариев

Нет комментариев.