У меня уже давно работает Apache2 с SVN. Для некоторых Другой причина, по которой мне пришлось обновить систему:
apt-get upgrade
Казалось, все идет нормально, кроме моей конфигурации Apache2. Теперь это не начнется с DAV: SVN
. Я заметил, что mod_dav_svn
и mod_authz_svn
внезапно пропали без вести. Поэтому я попытался их установить:
root@kolky:/etc/apache2# apt-get install libapache2-svn
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libapache2-svn : Depends: apache2.2-common but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Я понимаю, что это не работает, поскольку моя версия Apache:
root@kolky:/etc/apache2# apache2 -v
Server version: Apache/2.4.4 (Debian)
Server built: May 31 2013 10:04:32
root@kolky:/etc/apache2# svn --version
svn, version 1.7.9 (r1462340)
root@kolky:/etc/apache2# svnadmin --version
svnadmin, version 1.7.9 (r1462340)
root@kolky:/etc/apache2# cat /etc/issue
Debian GNU/Linux jessie/sid \n \l
root@kolky:/etc/apache2# uname -r
2.6.32-5-amd64
Есть ли этому решение? Могу ли я как-нибудь запустить Apache2.4.4 с mod_dav_svn? Или мне придется понизить версию моего Apache?
Добавление ппа: ондрей / apache2 к вам может помочь установить отсутствующие пакеты Apache2, особенно если вы недавно добавили последний репозиторий PHP 5 (из этот ответ):
sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get install libapache2-svn
Вы можете посмотреть описание ошибки. По-видимому, вы можете заставить его работать, скомпилировав пакет самостоятельно. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666794#17 Также помните, что вам не нужно выполнять «apt-get upgrade» для обновления какого-либо пакета. Операция «обновления» обновляет каждый установленный вами пакет. Вместо этого вы можете обновить какой-либо пакет с помощью "apt-get install package_name".
Редактировать:
Вот шаги по ручной сборке, чтобы сохранить работоспособность веб-репозиториев svn:
Как пользователь без полномочий root:
cd /tmp
mkdir svn_tmp
cd svn_tmp
sudo apt-get install apache2-dev
sudo apt-get build-dep subversion
apt-get source --compile subversion
дождитесь начала проверки. Затем остановите процесс (Ctrl-C):
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
... (Ctrl - C)
Отредактируем несколько файлов. Во-первых, subversion-1.7.9 / debian / control. Убедитесь, что apache2-dev фигурирует в разделах Build-Depends (около строки 7):
Build-Depends: debhelper, libneon27-gnutls-dev, libserf-dev (>= 1), zlib1g-dev,
libapr1-dev, libaprutil1-dev, libdb5.1-dev,
libsasl2-dev, apache2-dev,
...
Затем проверьте, есть ли раздел для libapache-2. Если он есть, не забудьте удалить общую зависимость apache2.2. Если нет, добавьте полный раздел:
Package: libapache2-svn
Section: httpd
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: db5.1-util
Description: Subversion server modules for Apache
This package provides the mod_dav_svn and mod_authz_svn modules for
the Apache 2.2 web server. These modules provide Subversion's WebDAV
server backend, to serve repositories over the http and https
protocols. See the 'subversion' package for more information.
Затем отредактируйте subversion-1.7.9 / debian / rules и убедитесь, что ENABLE_APACHE истинно:
ENABLE_APACHE := yes
Теперь мы готовы снова начать процесс сборки:
cd /tmp/svn_tmp/subversion-1.7.9 && dpkg-buildpackage -b -uc
Этот процесс может занять много времени. Для меня это заняло примерно 1 час. Наконец, мы можем установить пакет.
sudo dpkg -i /tmp/svn_tmp/libapache2-svn_1.7.9-1+nmu3_amd64.deb
sudo a2enmod dav_svn
sudo a2enmod authz_svn
sudo service apache2 restart
И это все.
Я предлагаю вам использовать следующее репо - http://opensource.wandisco.com/debian/dists/