Debian depois de atualizar o Apache para o 2.4.4, o Libapache2-svn não funciona

2

Eu tive um Apache2 com o SVN funcionando por um longo tempo. Por algum motivo outro , tive que fazer uma atualização do sistema:

apt-get upgrade

Tudo parecia OK, exceto minha configuração do Apache2. Agora não será iniciado com DAV: SVN . Percebi que mod_dav_svn e mod_authz_svn estavam desaparecidos de repente. Então eu tentei instalá-los:

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.

Eu posso entender que isso não está funcionando, pois minha versão do 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

Existe uma solução para isso? Posso rodar o Apache2.4.4 com o mod_dav_svn de alguma forma? Ou terei que fazer o downgrade do meu Apache?

    
por Kolky 05.06.2013 / 14:50

3 respostas

1

Sugiro que você use o seguinte repo - link

    
por 16.06.2013 / 19:18
1

Você pode dar uma olhada na descrição do erro. Aparentemente você pode fazê-lo, compilando o pacote você mesmo. link Além disso, lembre-se de que você não precisa fazer um "apt-get upgrade" para atualizar algum pacote. A operação "upgrade" atualiza todos os pacotes que você instalou. Você pode atualizar algum pacote com "apt-get install package_name".

Editar:

Aqui estão os passos para fazer uma construção manual para manter os repositórios svn da web trabalhando:

Como usuário não 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

espere até que a parte de verificação comece. Então pare o processo (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)

Vamos editar alguns arquivos. Primeiro, subversion-1.7.9 / debian / control. Certifique-se de que apache2-dev figure nas seções Build-Depends (ao redor da linha 7):

Build-Depends: debhelper, libneon27-gnutls-dev, libserf-dev (>= 1), zlib1g-dev,
               libapr1-dev, libaprutil1-dev, libdb5.1-dev,
               libsasl2-dev, apache2-dev,
               ...

Em seguida, verifique se há uma seção para o libapache-2. Se estiver lá, certifique-se de remover a dependência comum do apache2.2. Caso contrário, adicione a seção completa:

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.

Em seguida, edite o subversion-1.7.9 / debian / rules e certifique-se de que ENABLE_APACHE seja verdadeiro:

ENABLE_APACHE        := yes

Agora, estamos prontos para iniciar o processo de criação novamente:

cd /tmp/svn_tmp/subversion-1.7.9 && dpkg-buildpackage -b -uc

Este processo pode demorar muito tempo. Para mim, demorou 1 hora. Finalmente, podemos instalar o pacote.

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

E isso é tudo.

    
por 07.06.2013 / 18:58
1

Adicionar ppa: ondrej / apache2 ao seu pode ajudar a instalar pacotes Apache2 ausentes, especialmente se você tiver recentemente adicionou o último repositório do PHP 5 (de esta resposta ):

sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get install libapache2-svn
    
por 04.01.2015 / 03:51