Ich verwende yaourt, um Apache automatisch aus dem Quellcode zu kompilieren, wenn ein Update verfügbar ist extra
. Ich mache das, damit ich ein benutzerdefiniertes Suexec-Docroot ( /srv/www
anstelle des Standard-Docroots /srv/http
) haben kann. Bis jetzt hat das bei mehreren Updates problemlos funktioniert.
$ 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]
==> -------------------------------
==>
Das Problem scheint zu sein, dass curl es nicht finden kann 02-rename-prefork-to-itk.patch
. Ich weiß nicht, unter welcher URL es sich befindet, in welcher Datei es angegeben ist oder wie ich einen alternativen Speicherort dafür finden könnte. Irgendeine Idee, was los ist/wie man das Problem beheben kann?
Antwort1
curl: (7) couldn't connect to host
Laut curl konnte keine Verbindung zum Host hergestellt werden. Dies kann viele Gründe haben, z. B. dass die Datei nicht auf dem Server gefunden wurde. Ich würde Ihnen raten, es später noch einmal zu versuchen und, wenn das nicht funktioniert, den Host zu kontaktieren, von dem die Datei heruntergeladen wird.
Antwort2
Der Host, auf dem sich einige Patches befinden, ist ausgefallen. Wir können ihn aber auf einen anderen Host umstellen.
Zuerst. Laden Sie einfach das PKGBUILD mit Ihrem Computer herunter:
yaourt -G apache
Ändern Sie die folgenden Zeilen in PKGBUILD:
_itkurl=http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01
Zu:
_itkurl=http://distfiles.alpinelinux.org/distfiles/
Außerdem hat der Patch 03-add-mpm-to-build-system.patch ein anderes MD5, also beheben wir das. Ändern Sie einfach die 4. Zeile im Array „md5sums“
'cdfa04985a0efa850976aef01c2a0c40'
Zu:
'131408ad4dc7b18547b4e062e7e495ab'
Das funktionierende PKGBUILD ist hier:http://pastebin.com/iK48xx8f
Sie können es einfach ersetzen, wenn Sie möchten. Und bauen Sie Apache mit:
makepkg -i
Antwort3
apache
Moment, warum versuchen Sie, die Quellen von AUR herunterzuladen ?? apache
ist definitiv in Arch gepackt.
pierre@bar code % pacman -Si apache
Repository : extra
Name : apache
Version : 2.2.22-4
[...]
Stellen Sie sicher, dass Sie Folgendes haben /etc/pacman.conf
:
[extra]
Include = /etc/pacman.d/mirrorlist
und zumindest ein paar Spiegel ohne Kommentar in /etc/pacman.d/mirrorlist
, dann:
# pacman -Sy apache
und die Installation sollte problemlos erfolgen.
Antwort4
Ich bin mir also nicht sicher, ob dies an meinem kürzlich erfolgten vollständigen Systemupgrade lag oder ob die URL unabhängig davon wiederhergestellt wurde, aber ein späterer erneuter Versuch schien diesen bestimmten Fehler zu beheben. Allerdings kann ich Apache immer noch nicht erstellen, da ich jetzt auf einen neuen Fehler gestoßen bin, aber das ist einseparate Ausgabe.