私は、 から更新が利用可能になるたびに、yaourt を使用して Apache をソースから自動的にコンパイルしています。これは、カスタム suexec docroot (デフォルトではなく)extra
を使用できるようにするためです。これは、これまでいくつかの更新で問題なく動作してきました。/srv/www
/srv/http
$ yaourt -S apache
==> Building apache from sources.
==> Retrieving PKGBUILD and local sources...
receiving file list ... done
./
PKGBUILD
apache.conf.d
apache.install
apache.tmpfiles.conf
apachectl-confd.patch
arch.layout
httpd
httpd.logrotate
pcre_info.patch
sent 199 bytes received 10416 bytes 7076.67 bytes/sec
total size is 9809 speedup is 0.92
=> removes/replaces '--with-suexec-docroot=\/srv\/http' by '--with-suexec-docroot=\/srv\/www' in global
--- ./PKGBUILD 2012-07-06 00:02:13.000000000 -0400
+++ ./PKGBUILD.custom 2012-07-06 15:49:03.000000000 -0400
@@ -102,7 +102,7 @@
--enable-so \
--enable-suexec \
--with-suexec-caller=http \
- --with-suexec-docroot=/srv/http \
+ --with-suexec-docroot=/srv/www \
--with-suexec-logfile=/var/log/httpd/suexec.log \
--with-suexec-bin=/usr/sbin/suexec \
--with-suexec-uidmin=99 --with-suexec-gidmin=99 \
==> Edit PKGBUILD ? [y/N] ("A" to abort)
==> ------------------------------------
==> n
==> apache dependencies:
- openssl (already installed)
- zlib (already installed)
- apr-util (already installed)
- pcre (already installed)
==> Edit apache.install ? [y/N] ("A" to abort)
==> ------------------------------------------
==> n
==> Continue building apache ? [Y/n]
==> --------------------------------
==>
==> Building and installing package
==> Making package: apache 2.2.22-4 (Thu Jul 5 14:47:33 EDT 2012)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving Sources...
-> Downloading httpd-2.2.22.tar.bz2...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5252k 100 5252k 0 0 93231 0 0:00:57 0:00:57 --:--:-- 93283
-> Downloading httpd-2.2.22.tar.bz2.asc...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 835 100 835 0 0 5191 0 --:--:-- --:--:-- --:--:-- 10437
-> Downloading 02-rename-prefork-to-itk.patch...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:01:06 --:--:-- 0curl: (7) couldn't connect to host
==> ERROR: Failure while downloading 02-rename-prefork-to-itk.patch
Aborting...
==> ERROR: Makepkg was unable to build apache.
==> Restart building apache ? [y/N]
==> -------------------------------
==>
問題は curl が を見つけられないことのようです02-rename-prefork-to-itk.patch
。その URL がどこにあるか、どのファイルに指定されているか、または別の場所を見つける方法がわかりません。何が起こっているのか、またはトラブルシューティング方法をご存知ですか?
答え1
curl: (7) couldn't connect to host
curl によると、ホストに接続できませんでした。ファイルがサーバー上に存在しないなど、さまざまな理由が考えられます。後でもう一度試してみて、それでもうまくいかない場合は、ファイルのダウンロード元のホストに問い合わせることをお勧めします。
答え2
いくつかのパッチが配置されているホストがダウンしています。ただし、別のホストに変更することは可能です。
まず、yaourt で PKGBUILD をダウンロードします。
yaourt -G apache
PKGBUILD の次の行を変更します。
_itkurl=http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01
に:
_itkurl=http://distfiles.alpinelinux.org/distfiles/
また、パッチ 03-add-mpm-to-build-system.patch には異なる md5 があるため、これを修正します。配列「md5sums」の 4 行目を変更するだけです。
'cdfa04985a0efa850976aef01c2a0c40'
に:
'131408ad4dc7b18547b4e062e7e495ab'
動作する PKGBUILD はここにあります:http://pastebin.com/iK48xx8f
必要に応じて、これを置き換えることもできます。そして、次のコマンドで Apache をビルドします。
makepkg -i
答え3
apache
待ってください、なぜAUR からソースをダウンロードしようとしているのですか? apache
Arch には間違いなくパッケージ化されています。
pierre@bar code % pacman -Si apache
Repository : extra
Name : apache
Version : 2.2.22-4
[...]
以下のことを確認してください/etc/pacman.conf
:
[extra]
Include = /etc/pacman.d/mirrorlist
少なくともいくつかのミラーがコメント解除されている/etc/pacman.d/mirrorlist
場合は、次のようになります。
# pacman -Sy apache
問題なくインストールされるはずです。
答え4
それで、これが最近のシステム全体のアップグレードによるものか、それともURLがそれとは関係なく復元されたのかはわかりませんが、後でもう一度試すとこの特定のエラーは解消されたようです。しかし、新しいエラーが発生したため、Apacheをビルドすることはできませんが、それは別問題。