Article ID: 1177, created on Feb 9, 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

Resolution

Apache et les modules Apache sont compris avec les versions antérieures à v.8.1.0 de Parallels Plesk Panel pour FreeBSD et sont déjà compilés avec FD_SETSIZE = 16384 et si vous avez un problème avec le manque de descripteurs de fichiers, la raison se trouve dans une application système non Parallels Plesk Panel. Il est probable que ce soit lié aux bibilothèques OpenSSL du système standard qui sont dynamiquement chargées par apache de Parallels Plesk Panel. Pour que les fichiers de la bibliothèque OpenSSL du système soient recompilés avec la valeur plus élevée FD_SETSIZE, veuillez procéder comme suit :
- obtenez les sources FreeBSD de votre version FreeBSD, par exemple à l’aide de l’utilitaire `cvsup`. Voir « Obtenir FreeBSD » dans le manuel FreeBSD pour en savoir plus. Nous vous conseillons d’obtenir les sources non originales pour exactement la même sortie FreeBSD qui vous utilisez actuellement mais les sources mises à jour de la branche STABLE de votre version.
- éditez les fichiers /usr/src/sys/sys/select.h et /usr/include/sys/select.h et modifiez la valeur FD_SETSIZE de 1024U à 16384U:

#ifndef FD_SETSIZE
#define FD_SETSIZE 16384U

Le fichier /usr/include/sys/select.h est utilisé pour les compilations des logiciels tiers, par ex à partir de la collecte de ports, nous ne l’utiliserons pas pour le moment mais il vous sera utile dans l’avenir. Nous utiliserons le fichier /usr/src/sys/sys/select.h pendant nos compilations à partir des sources FreeBSD.
- exécutez les commandes suivantes pour recompiler tous les fichiers du système dont les bibliothèques OpenSSL :
# rm -rf /usr/obj/usr
# cd /usr/src
# make clean ; make cleandepend
# make buildworld

- maintenant, vous pouvez mettre à jour non seulement les bibliothèques OpenSSL mais également les bibliothèques et binaires du système mais également mettre à jour/modifier le noyau. Si vous souhaitez le faire et continuer par la mise à jour du noyau/système, veuillez suivre le chapitre « The Cutting Edge » du manuel de FreeBSD pour de plus amples détails
.
- si votre système/noyau est à jour et si vous n'avez pas besoin de mettre à jour quoi que ce soit sauf les bibliothèques OpenSSL pour d'autres raisons, vous pouvez trouver les fichiers utilisés par apache et les remplacer manuellement par de nouvelles copies. Ci-dessous un exemple pour 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)

Dans notre cas FreeBSD 6.0, voici les fichiers que l'on doit avoir :

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

faites des copies de sauvegarde juste au cas où :
# 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

Et remplacez-les par des copies nouvellement compilées (elles sont situées dans les sous-dossiers /usr/obj/usr/src/). Si vous utilisez la connexion à distance pour la console du serveur, exécutez les commandes ci-dessous comme une commande unique (comme indiqué dans l'exemple ci-dessous) car votre connexion ssh actuelle risque d'être annulée ou suspendue :
# 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

- puis rebootez le serveur

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

Email subscription for changes to this article
Save as PDF