I've had a working Apache2 with SVN running for a long time. For some other reason I had to do a system upgrade:
apt-get upgrade
Everything seemed to go OK, except my Apache2 configuration. Now it won't start with DAV: SVN
. I noticed that mod_dav_svn
and mod_authz_svn
were suddenly missing. So I tried to install them:
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.
I can understand this is not working as my apache version is:
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
Is there a solution to this? Can I run Apache2.4.4 with mod_dav_svn somehow? Or will I have to downgrade my Apache?
You may take a look at the bug description. Apparently you can make it work by compiling the package yourself. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666794#17 Also, remember that you don't need to do an "apt-get upgrade" to upgrade some package. The "upgrade" operation upgrades every package you have installed. You can upgrade some package with "apt-get install package_name" instead.
Edit:
Here are the steps to do a manual build to keep web svn repositories working on:
As non root user:
wait until the checking part begins. Then stop the process (Ctrl-C):
Let's edit some files. First, subversion-1.7.9/debian/control. Make sure that apache2-dev figures in Build-Depends sections (around line 7):
Then, check if theres a section for libapache-2. If it's there, make sure to remove the apache2.2-common dependency. If not, add the complete section:
Then, edit subversion-1.7.9/debian/rules and make sure that ENABLE_APACHE is true:
Now, we are ready to start the build process again:
This process may take a long time. For me, has taken like 1 hour. Finally, we can install the package.
And that's all.
I will suggest you to use following repo - http://opensource.wandisco.com/debian/dists/
Adding ppa:ondrej/apache2 to your can help install missing Apache2 packages, especially if you've recently added the PHP 5 latest repository (from this answer):