私は長い間、SVNを実行しているApache2を動作させてきました。いくつかのその他理由のために私はシステムのアップグレードをしなければなりませんでした:
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
これに対する解決策はありますか?どういうわけかmod_dav_svnでApache2.4.4を実行できますか?または、Apacheをダウングレードする必要がありますか?
ppa:ondrej/Apache2 をに追加すると、不足しているApache2パッケージをインストールするのに役立ちます。特に、最近PHP 5最新のリポジトリを追加した場合( this回答 ):
Sudo add-apt-repository ppa:ondrej/Apache2
Sudo apt-get update
Sudo apt-get install libapache2-svn
次のリポジトリを使用することをお勧めします- http://opensource.wandisco.com/debian/dists/
バグの説明をご覧ください。どうやらあなたは自分でパッケージをコンパイルすることでそれを機能させることができます。 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666794#17 また、アップグレードするために「apt-getupgrade」を実行する必要がないことを忘れないでくださいいくつかのパッケージ。 「アップグレード」操作は、インストールしたすべてのパッケージをアップグレードします。代わりに、「apt-getinstallpackage_name」を使用して一部のパッケージをアップグレードできます。
編集:
Websvnリポジトリを機能させ続けるために手動ビルドを実行する手順は次のとおりです。
非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がtrueであることを確認します。
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
そしてそれがすべてです。