Article ID: 1177, created on May 14, 2009, last review on May 11, 2014

  • Applies to:
  • Plesk 8.0 for Linux/Unix
  • Plesk 7.5.x Reloaded
  • Plesk 7.1.x Reloaded
  • Plesk 7.0.x
  • Plesk 6.x
  • Plesk 5.x

Lösung

Apache und Apache-Module sind in Plesk für FreeBSD-Versionen vor 8.1.0 enthalten und sind bereits mit FD_SETSIZE = 16384 kompiliert. Wenn Probleme aufgrund von fehlenden Dateibeschreibungen auftreten, liegt die Ursache bei anderen, Plesk-unabhängigen Systemapplikationen. Meist steht das Problem in Zusammenhang mit OpenSSL-Standardbibliotheken des Systems, die von Apache in Plesk dynamisch geladen werden. Zum erneuten Kompilieren der System-OpenSSL-Bibliotheksdateien mit einem höheren FD_SETSIZE-Wert gehen Sie folgendermaßen vor.

- Beziehen Sie FreeBSD-Quellen für Ihre FreeBSD-Version, beispielsweise mithilfe des Tools cvsup. Details dazu finden Sie unter "Obtaining FreeBSD" im FreeBSD-Handbuch. Wir empfehlen, nicht die Originalquellen für das von Ihnen eingesetzte FreeBSD-Release, sondern aktualisierte Quellen eines STABILEN Release für Ihre FreeBSD-Version zu verwenden.

- Bearbeiten Sie die Dateien /usr/src/sys/sys/select.h und /usr/include/sys/select.h und ändern Sie dort den Wert FD_SETSIZE von 1024U auf 16384U:

#ifndef FD_SETSIZE
#define FD_SETSIZE 16384U

Die Datei /usr/include/sys/select.h wird für Kompilierungen von Drittanbieter-Software verwendet, zum Beispiel aus der Ports-Collection. Wir verwenden die Datei derzeit nicht, sie kann aber in Zukunft für Sie nützlich sein. Bei unseren Kompilierungen aus FreeBSD-Quellen verwenden wir die Datei /usr/src/sys/sys/select.h.

- Führen Sie die folgenden Befehle aus, um alle Systemdateien einschließlich der OpenSSL-Bibliotheken neu zu kompilieren:
# rm -rf /usr/obj/usr
# cd /usr/src
# make clean ; make cleandepend
# make buildworld

- Dieser Zeitpunkt ist eine gute Gelegenheit, um nicht nur die OpenSSL-Bibliotheken, sondern zusätzlich die System-Binärdateien und -Bibliotheken zu aktualisieren und auch den Kernel zu aktualisieren/zu modifizieren. Wenn Sie diese Aufgaben ausführen und mit dem System-/Kernel-Update fortfahren möchten, erfahren Sie weitere Einzelheiten im Kapitel "The Cutting Edge" im FreeBSD-Handbuch.

- Wenn Ihr System/Kernel bereits auf dem neuesten Stand ist oder Sie aus anderen Gründen nur die OpenSSL-Bibliotheken aktualisieren möchten, können Sie nachschlagen, welche Dateien von Apache verwendet werden, und diese manuell durch die aktuellen Dateien ersetzen. Beispiel für FreeBSD 6.0:
# ldd /usr/local/psa/apache/bin/httpd
/usr/local/psa/apache/bin/httpd:
libaprutil-0.so.9 => /usr/local/psa/apache/lib/libaprutil-0.so.9 (0x281cb000)
libapr-0.so.9 => /usr/local/psa/apache/lib/libapr-0.so.9 (0x281dd000)
libm.so.4 => /lib/libm.so.4 (0x281f8000)
libcrypt.so.3 => /lib/libcrypt.so.3 (0x28211000)
libssl.so.4 => /usr/lib/libssl.so.4 (0x28229000)
libcrypto.so.4 => /lib/libcrypto.so.4 (0x28257000)
libz.so.3 => /lib/libz.so.3 (0x2834e000)
libc.so.6 => /lib/libc.so.6 (0x2835e000)

Im Fall von FreeBSD 6.0 werden folgende Dateien verwendet

/lib/libcrypt.so.3
/lib/libcrypto.so.4
/usr/lib/libssl.so.4

Erstellen Sie für alle Fälle Backups von den folgenden Dateien:
# cp -p /lib/libcrypt.so.3 /lib/libcrypt.so.3.back ; \
cp -p /lib/libcrypto.so.4 /lib/libcrypto.so.4.back ; \
cp -p /usr/lib/libssl.so.4 /usr/lib/libssl.so.4.back

Ersetzen Sie diese Dateien anschließend durch Kopien der neu kompilierten Dateien (diese befinden sich in den Unterordnern von /usr/obj/usr/src/). Wenn Sie eine Remote-Verbindung zur Serverkonsole verwenden, führen Sie die unten stehenden Befehle als Einzelbefehl aus (wie im Beispiel unten gezeigt), da Ihre aktuelle SSH-Verbindung möglicherweise unterbrochen ist oder nicht reagiert:
# cd /usr/obj/usr/src/ ; \
cp ./secure/lib/libcrypto/libcrypto.so.4 /lib/libcrypto.so.4 ; \
cp ./secure/lib/libssl/libssl.so.4 /usr/lib/libssl.so.4 ; \
chflags noschg /lib/libcrypt.so.3 ; \
cp ./lib/libcrypt/libcrypt.so.3 /lib/libcrypt.so.3 ; \
chflags schg /lib/libcrypt.so.3

- Starten Sie anschließend den Server neu.

aa571057eefb4e790d223bad9e05ace1 a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 097728dc0a325f6309aa7a3997d4cacc d3cd9f1770da96e5b5046d20def9f8eb 47085b48068f187235a1eb6bafa960e5 b8ef5052d936e902043e41759118114e 6ef964a54451eeb60b9cce8b8001a1d4 5778c2b4a3885c30396ddfa598ae90e9 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF