"Unknown DAV provider: svn" при запуске веб-сервера Apache с сервером Subversion после переустановки

У меня есть компьютер Ubuntu 20.04, который я настраиваю в качестве сервера Subversion с веб-сервером Apache 2.4, чтобы позволить мне использовать плагин Ankh client с Visual Studio на компьютере с Windows 10.

Как исправить ошибку Неизвестный провайдер DAV: svn, о которой сообщил веб-сервер Apache2 при перезагрузке? Думаю, это может быть связано с ошибкой, которую я вижу, dpkg: пакет обработки ошибок libapache2-mod-svn, при выполнении sudo apt переустановки subversion.

Изначально у меня были установлены Apache и Subversion, и после внесения изменений в конфигурационный файл, он работал нормально.

Затем я удалил и очистил оба, чтобы переустановить установку, документировав свою процедуру. Я немного не уверен в деталях, но основы заключались в следующем:

  • используйте sudo apt remove apache2 и sudo apt remove subversion
  • удалите некоторые оставшиеся каталоги, такие как /etc/apache2

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

Сейчас я нахожусь на том этапе, когда веб-сервер Apache работает и обслуживает страницы. Subversion также работает из командной строки в Ubuntu.

у меня сейчас проблема с DAV компонентом Apache, так как интерфейс Subversion не работает.

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

rick@rick-MS-7B98:/etc/apache2$ sudo a2enmod dav dav_fs dav_svn
Enabling module dav.
Considering dependency dav for dav_fs:
Module dav already enabled
Enabling module dav_fs.
Considering dependency dav for dav_svn:
Module dav already enabled
Enabling module dav_svn.
To activate the new configuration, you need to run:
  systemctl restart apache2
rick@rick-MS-7B98:/etc/apache2$ sudo systemctl restart apache2
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
rick@rick-MS-7B98:/etc/apache2$ systemctl status apache2.service
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2020-12-13 15:21:50 EST; 13s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 74845 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Dec 13 15:21:50 rick-MS-7B98 systemd[1]: Starting The Apache HTTP Server...
Dec 13 15:21:50 rick-MS-7B98 apachectl[74858]: [Sun Dec 13 15:21:50.461280 2020] [so:warn] [pid 74858] AH01574: module dav_fs_module is already loaded, skipping
Dec 13 15:21:50 rick-MS-7B98 apachectl[74858]: AH00526: Syntax error on line 16 of /etc/apache2/mods-enabled/dav_svn.conf:
Dec 13 15:21:50 rick-MS-7B98 apachectl[74858]: Unknown DAV provider: svn
Dec 13 15:21:50 rick-MS-7B98 apachectl[74845]: Action 'start' failed.
Dec 13 15:21:50 rick-MS-7B98 apachectl[74845]: The Apache error log may have more information.
Dec 13 15:21:50 rick-MS-7B98 systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Dec 13 15:21:50 rick-MS-7B98 systemd[1]: apache2.service: Failed with result 'exit-code'.
Dec 13 15:21:50 rick-MS-7B98 systemd[1]: Failed to start The Apache HTTP Server.

Когда я пытаюсь сделать переустановку Subversion, я вижу dpkg: пакет обработки ошибок labapache2-mod-svn

rick@rick-MS-7B98:~$ sudo ap reinstall subversion
sudo: ap: command not found
rick@rick-MS-7B98:~$ sudo apt reinstall subversion
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/824 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 196796 files and directories currently installed.)
Preparing to unpack .../subversion_1.13.0-3_amd64.deb ...
Unpacking subversion (1.13.0-3) over (1.13.0-3) ...
Setting up libapache2-mod-svn (1.13.0-3) ...
dpkg: error processing package libapache2-mod-svn (--configure):
 installed libapache2-mod-svn package post-installation script subprocess returned error exit status 1
Setting up subversion (1.13.0-3) ...
Processing triggers for man-db (2.9.1-1) ...
Errors were encountered while processing:
 libapache2-mod-svn
E: Sub-process /usr/bin/dpkg returned an error code (1)

И когда я проверяю статус Subversion:

rick@rick-MS-7B98:~$ svn --version
svn, version 1.13.0 (r1867053)
   compiled Mar 24 2020, 12:33:36 on x86_64-pc-linux-gnu

Copyright (C) 2019 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.9 (compiled with 1.3.9)
  - handles 'http' scheme
  - handles 'https' scheme

The following authentication credential caches are available:

* Gnome Keyring
* GPG-Agent
* KWallet (KDE)

Когда я проверяю, что использует libapache2-mod-svn, я получаю следующее.

rick@rick-MS-7B98:~$ dpkg -S libapache2-mod-svn
libapache2-mod-svn: /usr/share/doc/libapache2-mod-svn/examples/svnindex.css
libapache2-mod-svn: /usr/share/doc/libapache2-mod-svn/INSTALL.authz.gz
libapache2-mod-svn: /usr/share/doc/libapache2-mod-svn/README.Debian
libapache2-mod-svn: /usr/share/doc/libapache2-mod-svn/changelog.Debian.gz
libapache2-mod-svn: /usr/share/doc/libapache2-mod-svn/examples/svnindex.xsl
libapache2-mod-svn: /usr/share/lintian/overrides/libapache2-mod-svn
libapache2-mod-svn: /usr/share/doc/libapache2-mod-svn/copyright
libapache2-mod-svn: /usr/share/doc/libapache2-mod-svn
libapache2-mod-svn: /usr/share/doc/libapache2-mod-svn/examples
libapache2-mod-svn: /usr/share/doc/libapache2-mod-svn/NEWS.Debian.gz
0
задан 14 December 2020 в 16:15

1 ответ

В рамках исследования по настройке репозитория Subversion с доступом через веб-сервер Apache я хотел удалить и Subversion, и Apache2, а затем выполнить установку заново.

При повторной установке выясняется, что в результате установки отсутствуют некоторые файлы и компоненты, в частности файлы /etc/apache2/ и каталоги, такие как mods-enabled. Несколько файлов dav (dav_fs.conf, dav_fs.load, dav.load, dav_svn.conf и dav_svn.load) также отсутствовали. Однако после повторного выполнения команды apt с параметром reinstall файлы были созданы заново. в mods-available, но символические ссылки в mods-enabled не были созданы для файлов dav.

Мне удалось исправить ошибки запуска сервера Apache2, просмотрев статус с помощью команды systemctl status apache2.service и просмотрев журналы сервера Apache2 в /var/log/apache2. и поиск сообщений об ошибках в Интернете.

В связи с этой ошибкой в ​​нескольких статьях упоминалось добавление директивы LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so в файл httpd2.conf, однако на моем сервере Apache есть файл /etc/apache2/apache2.conf, который является отправной точкой для параметров конфигурации и во время обработки этого файла, других файлов, расположенных в подкаталогах в соответствии с этими комментариями из /etc/apache2/apache2.conf:

# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
#   directories contain particular configuration snippets which manage modules,
#   global configuration fragments, or virtual host configurations,
#   respectively.

Дополнительные файлы конфигурации загружаются с помощью директив IncludeOptional в apache2.conf.

По предложению пользователя @user535733, который указал на Unix & Linux StackExchange: неизвестный поставщик DAV: svn, я решил попробовать директиву LoadModule, воссоздав файл . ]/etc/apache2/mods-available/dav_svn.load со следующим:

# Depends: dav
LoadModule dav_svn_module     /usr/lib/apache2/modules/mod_dav_svn.so

затем сделайте символическую ссылку на каталог /etc/apache2/mods-enabled/.

Это сработало после того, как я также создал символические ссылки для других файлов, связанных с DAV (dav_fs.conf, dav_fs.load и dav.load). .

ошибки обновления sudo apt

Я думал, что все исправлено, однако через несколько дней я попытался запустить sudo apt upgrade после запуска обновления sudo apt и следующих ошибок были показаны:

rick@rick-MS-7B98:/etc/apache2/mods-enabled$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up libapache2-mod-svn (1.13.0-3) ...
dpkg: error processing package libapache2-mod-svn (--configure):
 installed libapache2-mod-svn package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 libapache2-mod-svn
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я пробовал несколько способов сбросить эту ошибку, прежде чем наконец смог это сделать.

Я попытался sudo apt переустановить libapache2-mod-svn, что привело к аналогичной ошибке.

Я попытался sudo apt удалить libapache2-mod-svn, что сработало, и я смог выполнить обновление sudo apt без ошибки, однако теперь модуль был удален.

Я попробовал sudo apt-get install libapache2-mod-svn, что выдало аналогичную ошибку.

Затем я попробовал несколько команд, предложенных в статье об этом типе ошибок: sudo dpkg --configure -a и sudo apt-get install -f со следующими ошибками:

rick@rick-MS-7B98:~$ sudo dpkg --configure -a
Setting up libapache2-mod-svn (1.13.0-3) ...
dpkg: error processing package libapache2-mod-svn (--configure):
 installed libapache2-mod-svn package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 libapache2-mod-svn
rick@rick-MS-7B98:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up libapache2-mod-svn (1.13.0-3) ...
dpkg: error processing package libapache2-mod-svn (--configure):
 installed libapache2-mod-svn package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 libapache2-mod-svn
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я попытался исправить эти ошибки, используя sudo apt remove libapache2-mod-svn, затем выполнив sudo apt update, затем sudo apt upgrade, а затем sudo apt install libapache2-mod-svn и не удалось с аналогичными сообщениями об ошибках.

Наконец, я использовал серию команд для удаления (sudo apt remove libapache2-mod-svn), очистки (sudo apt purge libapache2-mod-svn), а затем установки (sudo apt-get install libapache2-mod-svn), и это, казалось, работало нормально, без ошибок. Затем мне пришлось снова изменить файл /etc/apache2/mods-enabled/dav_svn.conf, и я смог получить доступ к моему репозиторию Subversion через http://192.168.0.4/svn. ].

rick@rick-MS-7B98:/etc/apache2/mods-enabled$ sudo apt remove libapache2-mod-svn
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  libapache2-mod-svn
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 452 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 196824 files and directories currently installed.)
Removing libapache2-mod-svn (1.13.0-3) ...
apache2_invoke authz_svn prerm: No action required
apache2_invoke dav_svn prerm: No action required
rick@rick-MS-7B98:/etc/apache2/mods-enabled$ sudo apt purge libapache2-mod-svn
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  libapache2-mod-svn*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 196812 files and directories currently installed.)
Purging configuration files for libapache2-mod-svn (1.13.0-3) ...
apache2_invoke authz_svn postrm: No action required
apache2_invoke postrm: Purging state for dav_svn
rick@rick-MS-7B98:/etc/apache2/mods-enabled$ sudo apt-get install libapache2-mod-svn
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  db5.3-util
The following NEW packages will be installed:
  libapache2-mod-svn
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/87.7 kB of archives.
After this operation, 452 kB of additional disk space will be used.
Selecting previously unselected package libapache2-mod-svn.
(Reading database ... 196809 files and directories currently installed.)
Preparing to unpack .../libapache2-mod-svn_1.13.0-3_amd64.deb ...
Unpacking libapache2-mod-svn (1.13.0-3) ...
Setting up libapache2-mod-svn (1.13.0-3) ...
apache2_invoke: Enable module authz_svn
apache2_invoke dav_svn: already enabled
rick@rick-MS-7B98:/etc/apache2/mods-enabled$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
0
ответ дан 14 December 2020 в 16:58

Другие вопросы по тегам:

Похожие вопросы: