Rubrique précédente: WEB5 - Appliance de serveur WebRubrique suivante: WEBx4 : appliance de serveur Web évolutive


WEB6, WEB64 : appliances de serveur Web

Voir la vidéo

Appliance de serveur Web simple

Aperçu rapide

Catalogue

System (Système)

Catégorie

Serveurs Web

Volumes d'utilisateur

Oui

Min. mémoire

160 Mo

SE

Linux

Contraintes

non

Questions/commentaires

Poser une question sur le forum

Présentation fonctionnelle

WEB est une appliance de serveur Web basée sur le logiciel de serveur Web Open Source Apache (voir http://httpd.apache.org).

WEB traite un contenu Web statique et exécute des scripts d'un volume de contenu en lecture seule configurable par l'utilisateur. Les chemins d'accès aux documents et aux scripts sont configurables de façon à pouvoir partager le même volume entre plusieurs serveurs Web et/ou d'autres appliances avec un autre contenu.

WEB compte trois terminaux de sortie génériques prévus pour accéder à des services externes à partir de scripts sur le volume de contenu. Le terminal db permet d'accéder à une base de données MySQL ; le terminal fs permet d'accéder au stockage de fichiers partagés (à l'aide de NFS) et le terminal aux destiné à un accès auxiliaire (par exemple, pour l'envoi de courriels à un serveur SMTP).

Vous pouvez utiliser le terminal log pour relier WEB à un système de fichiers partagés sur lequel WEB peut stocker ses journaux.

Le serveur Web est configuré via ses propriétés. Les propriétés sont conçues pour couvrir la plupart des utilisations et peuvent être configurées facilement. D'ailleurs, dans la plupart des cas, seules quelques-unes doivent être définies sur d'autres valeurs que celles par défaut. Les configurations avancées peuvent être obtenues par le biais de fichiers à inclure dans le format de configuration Apache, provenant du volume de contenu. L'accès et les options des fichiers de script et de contenu peuvent être définis plus précisément dans les fichiers .htaccess des répertoires de contenu.

Si les fonctionnalités fournies par l'appliance WEB ne satisfont pas à vos besoins, contactez notre Support technique pour discuter des solutions possibles. Nous pouvons étendre le catalogue en fournissant des appliances conformes à vos besoins.

Nom

Dernière version

SE

Apache

PHP

Python

Perl

MySQL client libs

Notes

WEB6

3.1.2-1

CentOS 6.3

2.2.15

5.3.3

2.6.6

5.12.2

5.1.61

 

WEB64

3.0.2-1

CentOS 5.5 (64 bits)

2.2.3

5.1.6

2.4.3

5.12.2

5.0.22

 

Ressources

Ressource

Minimum

Maximum

Valeur par défaut

UC

0.1

16

0.3

Mémoire

160 Mo

32 Go

512 Mo

Bande passante

1 Mbit/s

2 Gbits/s

250 Mbits/s

Terminaux

Nom

Dir.

Protocole

Description

in

in

HTTP

Traite les requêtes HTTP provenant des clients Web. Traite les protocoles HTTP/1.1 et 1.0.

db

sortie

MYSQL

Accède à un serveur MySQL. L'utilisation est définie par les scripts, quels qu'ils soient, qui résident sur le volume de contenu (le cas échéant). Si ce terminal n'est pas utilisé, il peut rester déconnecté.

fs

sortie

NFS

Accède à un système de fichiers réseau pour le stockage de fichiers partagés et fournit un accès en lecture/écriture aux fichiers via NFS. L'utilisation est définie par les scripts, quels qu'ils soient, qui résident sur le volume de contenu (le cas échéant). Le logiciel sur le volume de contenu voit s'afficher le système de fichiers distant monté en tant que /mnt/fs dans l'espace de système de fichiers de l'appliance. Si ce terminal n'est pas utilisé, il peut rester déconnecté. Le serveur connecté doit avoir un partage lecture-écriture nommé /mnt/date.

log

sortie

CIFS

Accède à un système de fichiers réseau basé sur CIFS pour le stockage des journaux relatifs aux accès et aux erreurs. Si ce terminal n'est pas utilisé, il peut rester déconnecté. Le serveur connecté doit autoriser les connexions anonymes et avoir un partage lecture-écriture nommé share.

aux

sortie

Indifférent

Accède à tout service auxiliaire (par exemple, un serveur SMTP pour l'envoi des courriels sortants). L'utilisation est définie par les scripts, quels qu'ils soient, qui résident sur le volume de contenu (le cas échéant).
Si ce terminal n'est pas utilisé, il peut rester déconnecté.

net

sortie

Indifférent

Sortie de passerelle pour l'accès au sous-réseau.
Si ce terminal n'est pas utilisé, il peut rester déconnecté.

MON

sortie

CCE

Envoie des statistiques de performances et d'utilisation des ressources.
Si ce terminal n'est pas utilisé, il peut rester déconnecté.

L'interface par défaut est activée. L'appliance utilise l'interface par défaut pour signaler qu'elle a correctement démarré. Vous pouvez également l'utiliser pour vous connecter à l'appliance via un shell sécurisé à partir du contrôleur de grille, essentiellement à des fins de diagnostic et de dépannage.

Volumes d'utilisateur

Volume

Description

content

Volume partageable en lecture seule qui fournit le contenu Web (documents, média et scripts) à traiter par WEB.

Le volume peut fournir du contenu statique et/ou dynamique avec un répertoire configurable facultatif dédié aux scripts. Vous pouvez également configurer l'exécution des scripts à partir de tout répertoire à l'aide d'un modèle de nom de fichier.

Outre du contenu, le répertoire de documents (configuré à l'aide de la propriété docs_dir) présent sur le volume de contenu peut également contenir les fichiers de configuration facultatifs suivants, tous au format de configuration standard Apache (voir http://httpd.apache.org/docs/2.2) :

Propriétés

Nom de propriété

Type

Description

host_name

Chaîne

Nom d'hôte du site Web. WEB affiche ce nom dans les pages générées automatiquement et l'utilise pour élaborer des URL absolues, notamment dans des redirections générées par un serveur (par exemple, comme défini dans un fichier de configuration personnalisée installé sur le volume de contenu). Même si des redirections explicites sont rarement configurées, une requête de répertoire ne se terminant pas par le caractère "/" entraîne la génération d'une redirection vers le client. Si le caractère "/" est ajouté, la redirection utilise la valeur de la propriété host_name si celle-ci est définie.
Il est recommandé de définir correctement cette propriété si des clients plus anciens qui n'envoient pas d'en-tête "Host:" avec leurs requêtes HTTP sont supposés accéder à WEB.
Si cette propriété est définie sur une chaîne vide, le nom d'hôte utilisé dans la requête du client est utilisé.
Valeur par défaut : vide.

admin_email

Chaîne

Adresse électronique de l'administrateur du serveur. WEB affiche ce nom dans les pages générées automatiquement.
Valeur par défaut : root@localhost

content_on_fs

Chaîne

Spécifie si le contenu concerne le système de fichiers au niveau du terminal fs ou s'il se trouve sur le volume de contenu. Les valeurs autorisées sont on et off. Si la propriété est définie sur on, l'ensemble du contenu est relatif au système de fichiers sur le terminal fs. Si elle est définie sur off, le contenu est sur le volume de contenu.
Valeur par défaut : off

docs_dir

Chaîne

Répertoire racine sur le volume de contenu où se trouvent les documents à traiter. Par exemple, il peut s'agir de /mydocs. Cette propriété est pratique lorsque plusieurs serveurs WEB partagent le volume de contenu et que chaque serveur a besoin de ses propres documents. Si docs_dir est défini sur la chaîne vide, le répertoire racine du volume de contenu est utilisé.
Remarque : Le répertoire doit déjà exister sur le volume de contenu.
Valeur par défaut : vide.

docs_loc

Chaîne

Emplacement facultatif dans l'espace de noms visible par le client où le contenu doit s'afficher ("l'espace de noms visible par le client" est la portion de chemin d'accès d'une URL, ou ce qui s'affiche à droite du nom d'hôte dans une URL, y compris le caractère "/" de début). Si cette propriété est définie sur une valeur non vide, cet emplacement devient la racine de l'espace de noms, comme vue par le client, où s'affiche le répertoire racine de documents. Par exemple, si la propriété docs_loc est définie sur subspace/samples, une requête HTTP pour /subspace/samples/file1.html traitera file1.html à partir du répertoire racine de documents. Une requête pour un emplacement situé en dehors de /subspace/samples renverra une erreur, sauf s'il s'agit d'une requête pour un script situé dans le répertoire de scripts (voir scripts_loc).
Cette propriété est utile lorsque WEB traite un sous-espace d'un site Web. N'ajoutez pas de barre oblique à la fin de cette valeur.
Valeur par défaut : vide.

scripts_dir

Chaîne

Répertoire racine sur le volume de contenu où se trouvent les scripts CGI. Par exemple, il peut s'agir de /scripts. Cette propriété doit être définie sur une valeur non vide, faisant référence à un répertoire sur le volume de contenu qui contient uniquement des scripts exécutables (ne la définissez pas sur "/").
Remarque : Le répertoire doit déjà exister sur le volume de contenu.
Valeur par défaut : vide.

scripts_loc

Chaîne

Emplacement dans l'espace Web où le répertoire de scripts spécifié par scripts_dir doit être visible. Cette propriété doit être définie sur une chaîne non vide pour permettre l'utilisation d'un répertoire de scripts dédié. Une valeur typique peut être /cgi-bin. N'ajoutez pas de barre oblique à la fin de cette valeur.
Valeur par défaut : vide.

logs_enabled

Chaîne

Contrôle si WEB envoie ses journaux en dehors du terminal de journal. Les valeurs autorisées sont on et off. Si cette propriété est définie sur on, le terminal de journal doit être connecté. Si elle est définie sur off, aucun journal d'accès n'est utilisé et le journal d'erreurs est écrit dans un fichier sur le système de fichiers racine de l'instance WEB, avec une rotation hebdomadaire et la conservation des anciens journaux pendant 4 semaines (/var/log/httpd/error_log*). Valeur par défaut : off

logs_base_dir

Chaîne

Répertoire de stockage des journaux de WEB. Cette propriété n'a aucun effet si la propriété logs_enabled est définie sur off. Valeur par défaut : /

access_log_filename

Chaîne

Nom de fichier du journal d'accès, par rapport au système de fichiers accessible sur le terminal de journal. Par exemple, access_log. Le nom peut inclure des noms de répertoire, par exemple, /srv1_logs/access_log ou /logs/srv1_access_log. Si cette propriété est définie sur une valeur vide, le journal d'accès n'est pas créé. Si les répertoires n'existent pas, ils seront créés. Cette propriété n'a aucun effet si la propriété logs_enabled est définie sur off. Valeur par défaut : vide.

error_log_filename

Chaîne

Nom de fichier du journal d'erreurs, par rapport au système de fichiers accessible sur le terminal de journal. Le nom peut inclure des noms de répertoire. Pour voir des exemples, consultez access_log_filename. Si cette propriété est définie sur une valeur vide ou si la propriété logs_enabled est définie sur off, le journal d'erreurs est écrit dans un fichier sur le système de fichiers racine de l'instance WEB proprement dite. Cette propriété n'a aucun effet si la propriété logs_enabled est définie sur off. Valeur par défaut : vide.

error_log_level

Chaîne

Niveau de sévérité des messages à écrire dans le journal d'erreurs. Les valeurs autorisées sont debug, info, notice, warn, error, crit, alert et emerg. debug écrit la plupart des messages, tandis qu'emerg n'écrit que les messages d'urgence. Valeur par défaut : warn

timezone

Chaîne

Spécifie le fuseau horaire utilisé dans l'appliance. Si cette propriété est vide, le fuseau horaire reste inchangé. Une liste des fuseaux horaires pris en charge est disponible ici. Valeur par défaut : vide

Important : Toutes les propriétés de chaîne énumérées ne sont pas sensibles à la casse (minuscules). Toutes les autres propriétés de chaîne sont sensibles à la casse.

Propriétés avancées

Il s'agit de propriétés supplémentaires ne devant généralement pas être configurées. Elles peuvent être utilisées pour configurer WEB dans des circonstances non standard.

Nom de propriété

Type

Description

cgi_ext

Chaîne

Définit la liste des suffixes de nom de fichier, séparés par des espaces, pour les scripts CGI. Cette propriété permet de spécifier les fichiers à traiter comme des scripts CGI exécutables (dans un répertoire) et peut être utilisée comme alternative à la spécification d'un répertoire de scripts commun (voir les propriétés scripts_dir et scripts_loc). Valeur par défaut : .cgi

shared_perl_ext

Chaîne

Définit la liste des suffixes de nom de fichier, séparés par des espaces, pour les scripts Perl in-process. Cette propriété permet de spécifier les fichiers à traiter comme des scripts Perl à exécuter avec mod_perl. Une extension correspondant à une valeur déjà spécifiée dans cgi_ext remplace l'utilisation de CGI pour cette extension et la configure pour être exécutée par mod_perl. Le module Perl in-process est configuré pour exécuter les scripts avec les extensions spécifiées dans le mode de compatibilité CGI. La plupart des scripts Perl conçus pour être exécutés comme processus CGI doivent également fonctionner s'ils sont configurés comme des scripts in-process. Remarque : Il importe de vérifier dans vos scripts que toutes les variables de portée de fichier s'initialisent correctement (p. ex. avec strict et warnings), car tous les scripts exécutés par mod_perl s'exécutent sans redémarrer l'interpréteur Perl. Si vous n'êtes pas certain que vos scripts fonctionneront avec mod_perl, consultez la documentation de mod_perl pour plus d'informations : http://perl.apache.org/docs/index.html.
Valeur par défaut : (vide) (autrement dit, n'utilisez pas mod_perl)

index_files

Chaîne

Liste, ordonnée et séparée par des espaces, de fichiers à utiliser comme page d'index de répertoire si le client demande une URL faisant référence à un nom de répertoire.
Valeur par défaut : index.html index.html.var

use_htaccess

Chaîne

Spécifie si l'utilisation de fichiers .htaccess doit être activée pour toute l'arborescence de document. Elle est désactivée par défaut et devrait être utilisée uniquement si votre structure de répertoire de contenu exige un contrôle très strict des options serveur, mais est trop compliquée à configurer au moyen d'un ensemble de sections dans un fichier de configuration commun, ou si votre volume de contenu préconfiguré utilise déjà .htaccess et que vous souhaitez éviter les soucis liés à sa réorganisation. Si des options de configuration sont nécessaires uniquement pour la racine de document proprement dite, placez plutôt vos paramètres dans le répertoire racine de document dans le fichier .htconf - ils seront appliqués exactement de la même façon que .htacces, si ce n'est que le fichier est lu une fois au moment du démarrage. Valeur par défaut : off

max_connections

Nombre entier

Nombre maximum de connexions actives simultanées que WEB peut gérer. Si cette limite est atteinte, les autres demandes de connexion sont mises en attente (jusqu'à un maximum de 511) et traitées au fur et à mesure de la clôture des connexions actives. Cette valeur ne doit être augmentée que si WEB est supposé traiter de nombreuses requêtes qui nécessitent un accès à une source de données externe lente (p. ex. longues requêtes de base de données). Le nombre réel de connexions simultanées peut être limité sous la valeur définie pour cette propriété, si la mémoire système n'est pas suffisante. Reportez-vous à la section Utilisation de la mémoire. La valeur max_connections ne peut pas être définie sur une valeur supérieure à 256.
Valeur par défaut : 128

persistent_connections

Chaîne

Contrôle si WEB permet aux clients de demander plusieurs documents sur la même connexion. Les valeurs autorisées sont on et off. Vous devrez peut-être désactiver les connexions persistantes mais uniquement si vous rencontrez des problèmes avec les clients qui ne prennent pas en charge HTTP/1.1 correctement et ne souhaitez pas repasser à HTTP/1.0. Valeur par défaut : on

idle_timeout_sec

Nombre entier

Délai en secondes de maintien d'une connexion client en l'absence de requêtes ou de réponses. Cette propriété est utilisée uniquement si persistent_connections est défini sur on. La définition d'un délai d'expiration court permet de clôturer rapidement les connexions oubliées. Valeur par défaut : 15

data_timeout_sec

Nombre entier

Délai en secondes pour la réception ou l'envoi d'une quantité de données plus importante si un transfert de données a démarré sans se terminer. Ce délai d'expiration permet à WEB de clôturer des connexions oubliées tout en permettant de prolonger le transfert. Par défaut : 300

default_charset

Chaîne

Jeu de caractères par défaut à signaler pour les documents renvoyés de type texte/html ou texte/simple. La propriété doit être définie soit sur le nom d'un jeu de caractères ou sur off (pour désactiver l'envoi d'un en-tête de jeu de caractères dans des réponses HTTP). Remarque : Avec certains navigateurs, la définition de cette propriété peut remplacer la valeur de jeu de caractères fournie par l'auteur des documents HTML traités et n'est dés lors recommandée qu'en présence de documents qui ne contiennent pas une spécification de jeu de caractères valide et que lorsque l'utilisateur sait à l'avance que tous les documents traités par WEB sont dans le même jeu de caractères. Les valeurs d'exemple standard peuvent être iso-8859-1 ou utf-8. Valeur par défaut : off
Remarque : Pour couvrir des cas spéciaux, notamment d'anciens scripts CGI qui ne génèrent pas une métabalise Content-type correcte, le paramètre du jeu de caractères par défaut par répertoire est possible en utilisant les fichiers de configuration personnalisés stockés sur le volume de contenu.

info_level

Chaîne

Contrôle la quantité d'informations que WEB dévoile sur lui-même aux clients Web (dans les réponses HTTP et dans les pages automatiquement générées). Les valeurs autorisées sont les suivantes : full (le plus d'infos), os, minor, major, prod (le moins d'infos). Par mesure de sécurité, nous vous recommandons de dévoiler les informations minimales. Default prod

server_signature

Chaîne

Contrôle si WEB ajoute une ligne de signature de serveur au bas de toutes les pages générées (par exemple, sur des pages d'erreur). Les valeurs autorisées sont on et off. La quantité d'informations incluses par WEB dans la signature est contrôlée par info_level. Valeur par défaut : off (pas de signature).

env

Chaîne

Utilisé pour transférer des paramètres à WEB sous la forme de paires name=value. C'est à l'utilisateur qu'il revient d'analyser et d'utiliser ces valeurs ; elles ne sont pas définies dans l'environnement. Valeur par défaut : vide.

web_console

Chaîne

Si cette option est définie sur Activé(e), elle force Apache à effectuer des écoutes sur l'interface interne. Valeur par défaut : off

Httpd_prerun_script

Chaîne

Nom du script de pré-exécution de service Apache. Il est facultatif et exécuté s'il existe sur le volume de contenu. Valeur par défaut : .rc.local

Important : Toutes les propriétés de chaîne énumérées ne sont pas sensibles à la casse (minuscules). Toutes les autres propriétés de chaîne sont sensibles à la casse.

Compteurs personnalisés

L'appliance WEB signale les compteurs personnalisés suivants via le terminal mon.

Les compteurs suivants appartiennent au groupe de compteurs Apache :

Nom du compteur

Description

Total hits

Nombre total d'occurrences

Total bytes

Nombre total d'octets

Active requests

Nombre de requêtes actives

Idle servers

Nombre de serveurs inactifs

Messages d'erreur

Les messages suivants peuvent s'afficher dans le fichier journal de l'appliance ou dans le journal système du contrôleur de grille lorsque l'appliance ne parvient pas à démarrer :

Utilisation de la mémoire

WEB se configure lui-même automatiquement pour s'exécuter avec une large plage de mémoire disponible afin de s'adapter aux applications quelle que soit leur taille ou leur charge. Veuillez toutefois noter que le calcul de configuration ne peut pas prédire l'utilisation de la mémoire des scripts de contenu dynamique qui peuvent être installés sur le volume de contenu WEB et qu'un problème de comportement d'un script peut provoquer un dysfonctionnement du serveur en allouant plus de mémoire que nécessaire et faisant en sorte que le système d'exploitation mette fin aux processus.

Par défaut, WEB configure le nombre maximum de connexions actives sur la base des hypothèses suivantes :

Par exemple, dans la configuration "sandbox" avec 32 Mo, le nombre maximum de connexions actives est défini sur 8.

Vous pouvez réduire le nombre maximum de connexions à un nombre inférieur à celui calculé automatiquement à l'aide de la propriété max_connections. Souvenez-vous que si max_connections dépasse la limite imposée par la mémoire système disponible, le nombre est réduit sans aucun avertissement.

De plus, l'allocation de mémoire du préprocesseur PHP est limitée à la moitié de celle disponible pour les scripts, conformément aux règles de calcul susmentionnées. En d'autres termes, le PHP est configuré pour limiter la mémoire d'un script en cours d'exécution à

(system_memory - 16 Mo - max_connections * 1 Mo) / 2 

Où la valeur max_connections est la plus petite de la propriété max_connections et la limite imposée par la mémoire disponible (est calculée en supposant 2 Mo par connexion, comme décrit ci-dessus). Si la valeur de la propriété max_connections est celle par défaut, la limite de mémoire PHP est la suivante :

(system_memory - 16 Mo) / 4 

Remarque : La règle de la moitié de la mémoire disponible par script est un peu optimiste et suppose que toutes les connexions actives n'utiliseront pas un script PHP volumineux qui atteindra la limite ou que les scripts n'utiliseront pas toute la mémoire qui leur est allouée.

ASTUCE : Si une application utilisant beaucoup de mémoire commence à avoir un comportement anormal sous pression (pertes de connexions) et qu'il n'est pas possible d'augmenter la taille de la mémoire disponible, essayez de diminuer la valeur de la propriété max_connections. Cela réduira le nombre d'instances de script autorisé pour une exécution simultanée, libérant ainsi de la mémoire pour chaque instance.

Configuration du contenu, Stockage de fichiers partagés

Cette section fournit des informations utiles pour configurer des scripts pour le contenu dynamique.

Noms de répertoire fixes

Au démarrage du serveur HTTP, les répertoires et les fichiers suivants sont disponibles dans l'espace du système de fichiers de l'instance WEB. Il est déconseillé d'utiliser des noms de répertoire absolus en dehors de ces emplacements quel que soit le script ou le fichier de configuration.

/var/www/html - web root, visible pour le client à l'aide de"/". Il s'agit d'un emplacement qui est en lecture seule sur le volume de contenu. Remarque : Si la propriété "docs_loc" est définie, le répertoire /var/www/html proprement dit ne contient aucun fichier de données. En ajoutant la valeur docs_loc, le nom d'un lien symbolique valide est généré pour faire référence à la racine de document. Vous pouvez utiliser ce nom de répertoire et le nom /var/www/cgi-bin ainsi que leurs sous-répertoires dans des fichiers de configuration Apache afin de configurer des paramètres supplémentaires par répertoire. De cette façon, ces fichiers de configuration ne doivent pas connaître le paramètre particulier pour les propriétés docs_dir et scripts_dir.

/var/www/cgi-bin - Lien symbolique vers la racine des scripts si elle est configurée à l'aide de la propriété scripts_dir.

/mnt/fs - Racine du stockage de fichiers partagés en lecture/écriture fourni par un serveur NFS relié au terminal "fs". Si un terminal est connecté, /mnt/fs est vide.

Emplacements d'espace Web fixes

Le chemin d'accès /icons/ dispose d'un alias vers un répertoire contenant des icônes de stock afin d'établir des listes de répertoires générés par le serveur. Par conséquent, un répertoire nommé "icons" dans le volume de contenu ne sera pas visible.

Contrôle d'accès

Le serveur HTTP s'exécute en tant que user 48, group 48. Les scripts CGI s'exécutent dans le même contexte.

Pour pouvoir être utilisés via HTTP, les fichiers sur le volume de contenu doivent disposer d'une autorisation de lecture pour tous les utilisateurs. Les scripts exécutables doivent disposer des autorisations de lecture et d'exécution pour tous les utilisateurs.

Bien que le serveur Apache dispose d'autres moyens pour contrôler l'accès aux fichiers, il est également possible de supprimer l'autorisation de lecture de tous les utilisateurs à partir de fichiers ou de répertoires qui ne devraient pas être accessibles via HTTP. Laissez x bit activé pour les répertoires contenant une liste qui ne devrait pas être accessible et des fichiers ou des sous-répertoires devant rester accessibles.

Envoi de courriels

Le système d'envoi de courriels n'est pas configuré sur WEB. Ne l'utilisez pas pour envoyer des messages à partir de cette appliance. Pour donner accès à un serveur SMTP externe, connectez le terminal aux à une appliance qui fournit cette fonctionnalité ou à une passerelle OUT dirigée vers un serveur situé à l'extérieur de l'application. Si vous utilisez des scripts Perl, vous pouvez utiliser le module Mail::Mailer pour envoyer des messages. Ce dernier est configuré pour utiliser le système de messagerie SMTP. Dans tous les cas, votre système de messagerie SMTP doit être configuré pour utiliser "aux" comme nom d'hôte du serveur SMTP, par exemple, si vous utilisez Mail::Mailer :

$mailer = new Mail::Mailer 'smtp', (Server => 'aux'); 
$mailer->open(\%headers); #... etc. 
Installation de modules PHP

WEB est fourni avec tous les packages PHP disponibles dans le miroir CentOS officiel. Si vous utilisez le partage de système de fichiers plutôt qu'un volume de contenu en lecture seule, vous pouvez installer des modules PHP supplémentaires sans créer une branche d'appliance.

Pour installer des modules PHP :

  1. Installez toutes les dépendances logicielles requises. Si vous effectuez l'installation à partir d'un package RPM, vérifiez les éventuelles dépendances non satisfaites à l'aide de l'option --test. Par exemple :
    rpm --test -Uv php-mhash-5.3.3-14.el6_3.i686.rpm
    

    Si vous utilisez des packages RPM pour les dépendances, vérifiez qu'ils n'ont pas de dépendances propres non satisfaites. Par exemple :

    rpm --test -Uv libmhash-0.9.1-1.2.el6.rf.i686.rpm
    

    Installez ensuite tous les packages RPM requis sur le partage de système de fichiers. Par exemple :

    rpm --root=/mnt/fs/php -Uv --nodeps libmhash-0.9.1-1.2.el6.rf.i686.rpm
    

    Si vous n'installez pas le module PHP à partir d'un paquetage RPM, vérifiez qu'il est compatible avec la version de PHP utilisée dans WEB et qu'aucune bibliothèque supplémentaire n'est requise (ldd /path/to/php/module.so). Si des dépendances ne sont pas satisfaites, installez les logiciels requis sur le partage de système de fichiers.

  2. Installez le module PHP sur le partage de système de fichiers. Par exemple :
    rpm --root=/mnt/fs/php -Uv php-mhash-5.3.3-14.el6_3.i686.rpm
    

    Le package RPM est alors installé sous /mnt/fs/php.

  3. Créez un script .rc.local qui met à jour la configuration PHP au démarrage de l'appliance. Etant donné que le module PHP est installé sur le partage de système de fichiers, le PHP installé sur l'appliance ne reconnaît pas les logiciels supplémentaires. Pour que PHP reconnaisse l'appliance installée, créez un script .rc.local qui génère un fichier de configuration PHP personnalisé. Le script .rc.local est exécuté à chaque démarrage de l'appliance.
    Le script se présente comme suit :
    #!/bin/bash
    
    # die on all errors
    set -e
    
    # Ajoutez la configuration au répertoire de configuration PHP principal. Le chemin des extensions doit être modifié pour correspondre à /usr/lib/php/modules/
    sed  's/extension=\(.*\)$/extension=..\/..\/..\/..\/mnt\/fs\/php\/usr\/lib\/php\/modules\/\1/g' /mnt/fs/php/etc/php.d/*ini > /etc/php.d/custom-php.ini
    
    # Si vous avez installé des bibliothèques indépendantes sur le partage =fs=, vous devez dire à ldconfig de les charger.
    # Si vous n'avez pas installé de bibliothèque indépendante sur le partage =fs=, vous pouvez ignorer cette étape.
    echo /mnt/fs/php/usr/lib > /etc/ld.so.conf.d/custom-libs.conf
    ldconfig
    
    # Redémarrez Apache et vérifiez l'état.
    /etc/init.d/httpd restart
    sleep 1
    /etc/init.d/httpd status
    
Installation de modules PERL

CA AppLogic® permet d'installer des modules PERL.

Pour installer des modules PERL :

  1. Installez tous les logiciels requis.

    Remarque : Pour plus d'informations sur l'installation de dépendances logicielles sur un partage de système de fichiers, reportez-vous à la section PHP. Si vous installez des bibliothèques, demandez à ldconfig de les charger. Utilisez le fichier .rc.local suivant :

    #!/bin/bash
    
    # die on all errors
    set -e
    
    # Si vous avez installé des bibliothèques indépendantes sur le partage =fs=, vous devez dire à ldconfig de les charger.
    # Si vous n'avez pas installé de bibliothèque indépendante sur le partage =fs=, vous pouvez ignorer cette étape.
    echo /mnt/fs/php/usr/lib > /etc/ld.so.conf.d/custom-libs.conf
    ldconfig
    
  2. Installez les modules PERL.

    Remarque : L'appliance WEB n'intègre pas d'outils de compilation ; vous ne pouvez donc pas compiler des modules PERL sur l'appliance. Utilisez des modules prépackagés (modules RPM) ou créez les modules PERL dans un environnement de compilation distinct (utilisez LINUX5) et packagez-les. Vous pouvez utiliser cpan2rpm (http://sourceforge.net/projects/cpan2rpm/) pour créer un module RPM à partir d'un module CPAN.

  3. Ajoutez le chemin d'installation à votre chemin d'inclusion PERL.

    Remarque : Pour que les programmes PERL utilisent les modules installés, indiquez l'emplacement d'installation. Configurez @INC de manière à inclure le répertoire d'installation sur le partage de système de fichiers, ou définissez ce chemin d'accès sur la variable d'environnement PERL5LIB qui est ajoutée à @INC.

    Pour que PERL s'exécute en tant que CGI, insérez ce qui suit dans le fichier a.htconf sur votre partage de système de fichiers afin d'ajouter le chemin d'installation à @INC :

    SetEnv PERL5LIB  /mnt/fs/perl_mods/usr/lib/perl5/vendor_perl/5.12.2/ 
    

    Pour que PERL s'exécute en tant que mod_perl, ajoutez ce qui suit au fichier .htconf :

    PerlSwitches -I/mnt/fs/perl_mods/usr/lib/perl5/vendor_perl/5.12.2/
    
Utilisation standard

Site Web statique

Site Web statique

Application à 2 niveaux avec base de données

Application à 2 niveaux avec base de données

Application à 2 niveaux avec base de données et journal

Application à 2 niveaux avec base de données et journal

Application à 2 niveaux avec système de fichiers partagé et passerelle de messagerie

Application à 2 niveaux avec système de fichiers partagé et passerelle de messagerie

Application à 2 niveaux évolutive

Application à 2 niveaux évolutive

(voir également l'exemple d'application SugarCRM)

Limitations connues

Mise en garde :

Logiciels tiers et Open Source utilisés sur l'appliance

Les logiciels Open Source tiers suivants sont utilisés en plus des logiciels disponibles sur la classe de base d'appliance (LUX6 est la classe de base de WEB6 et LUX64 est la classe de base de WEB64).

Logiciel

Version

Modifié

Licence

Notes

apr

1.3.9-5

Non

Licence Apache 2.0

N/D

apr-util

1.3.9-3

Non

Licence Apache 2.0

N/D

Audit

2.2-2

Non

GPLv2+

N/D

audit-libs

2.2-2

Non

GPLv2+

N/D

bind-libs

9.8.2-0.10.rc1.el6_3.2

Non

ISC

N/D

bind-utils

9.8.2-0.10.rc1.el6_3.2

Non

ISC

N/D

curl

7.19.7-26.el6_2.4

Non

MIT

N/D

cyrus-sasl

2.1.23-13

Non

BSD

N/D

cyrus-sasl-lib

2.1.23-13

Non

BSD

N/D

dbus-libs

1.2.24-5.el6_1

Non

GPLv2+ ou AFL

N/D

fontconfig

2.8.0-3

Non

ISC

N/D

freetype

2.3.11-6.el6_2.9

Non

FTL

N/D

gamin

0.1.10-9

Non

LGPLv2.1

N/D

gd

2.0.35-10

Non

GD

N/D

gmp

4.3.1-7.el6_2.2

Non

LGPLv2+, GLPv3 et LGPLv3+

N/D

gnutls

2.8.5-4.el6_2.2

Non

LGPLv2.1

N/D

hesiod

3.1.0-19

Non

ISC

N/D

httpd

2.2.15-15

Non

Licence Apache 2.0

N/D

hwdata

0.233.7-8

Non

GPLv2

N/D

kbd

1.15-11

Non

GPLv2

N/D

libc-client

2007e-11

Non

Licence Apache 2.0

N/D

libgcrypt

1.4.5- 9.el6_2.2

Non

LGPLv2+

N/D

libgpg-error

1.7-4

Non

LGPLv2.1+

N/D

libidn

1.18-2

Non

LGPLv2.1+, GPLv3+ et GFDL

N/D

libjpeg

6b-46

Non

IJG

N/D

libpng

1.2.49-1.el 6_2

Non

zlib

N/D

libusb

0.1.12-23

Non

LGPLv2.0+

N/D

libutempter

1.1.5-4.1

Non

LGPLv2

N/D

libX11

1.3-2

Non

MIT

N/D

libXau

1.0.5-1

Non

MIT

N/D

libxml2

2.7. 6-4.el6_2.4

Non

MIT

N/D

libXpm

3.5.8-2

Non

MIT

N/D

libxslt

1.1.26-2

Non

MIT

N/D

lm_sensors-libs

3.1.1-10

Non

GPLv2

WEB64 uniquement

mailcap

2.1.31-2

Non

Domaine public et MIT

N/A4

mod_auth_mysql

3.0.0-11.el6_0.1

Non

ASL 1.1

N/D

mod_perl

2.0.4-10

Non

Licence Apache 2.0

N/D

mod_rpaf

0.5

Oui

Groupe Apache

N/D

mod_ssl

2.2.15-15

Non

Licence Apache 2.0

N/D

MySQL

5.1.61

Non

GPLv2

N/D

mysql-libs

5.1.61

Non

GPLv2

N/D

net-snmp

5.5-37

Non

BSD

N/D

net-snmp-libs

5.5-37

Non

BSD

N/D

ntsysv

1.3.49-3.2

Non

GPLv2

N/D

pciutils-libs

3.1.4-11

Non

GPLv2+

N/D

perl

5.12.2-1

Non

Artistic

N/D

perl-AppConfig

1.65-1

Non

Artistic

N/D

perl-BSD-Resource

1.28-1

Non

Artistic

N/D

perl-DBD-MySQL

3.0007-2

Non

Artistic

N/D

perl-DBD-Pg

1.49-2

Non

Artistic

N/D

perl-DBD-SQLite

1.29-1

Non

Artistic

N/D

perl-DBI

1.615-1

Non

Artistic

N/D

perl-DBIx-Simple

1.32-1

Non

Artistic

N/D

perl-GD

2.35-1

Non

Artistic

N/D

perl-Mailtools

1.77-1

Non

Artistic

WEB64 uniquement

perl-Pod-POM

0.17-1.2

Non

Artistic

N/D

perl-String-CRC32

1.4-2

Non

Domaine public

N/D

perl-Template-Toolkit

2.15-1

Non

Artistic

N/D

perl-Text-Autoformat

1.13-1.2

Non

Artistic

N/D

perl-Text-Reform

1.11-1.2

Non

Artistic

N/D

perl-TimeDate

1.16-5

Non

Artistic

WEB64 uniquement

perl-Unicode-String

2.09-1

Non

Artistic

N/D

perl-Digest-SHA1

2.11-1.2.1

Non

Artistic

WEB6 uniquement

php

5.3.3-3

Non

PHP 3.01

N/D

php-cli

5.3.3-14

Non

PHP 3.01

N/D

php-bcmath

5.3.3-14

Non

PHP 3.01

N/D

php-common

5.3.3-14

Non

PHP 3.01

N/D

php-dba

5.3.3-14

Non

PHP 3.01

WEB64 uniquement

php-gd

5.3.3-14

Non

PHP 3.01

N/D

php-intl

5.3.3-14

Non

PHP

N/D

php-imap

5.3.3-14

Non

PHP 3.01

N/D

php-ldap

5.3.3-14

Non

PHP 3.01

N/D

php-mysql

5.3.3-14

Non

PHP 3.01

N/D

php-mssql

5.3.3-1

Non

PHP 3.01

N/D

php-odbc

5.3.3-14

Non

PHP 3.01

N/D

php-pdo

5.3.3-14

Non

PHP 3.01

N/D

php-pear

5.3.3-14

Non

PHP 3.0

N/D

php-pgsql

5.3.3-14

Non

PHP 3.01

N/D

php-snmp

5.3.3-14

Non

PHP 3.01

N/D

php-soap

5.3.3-14

Non

PHP 3.01

N/D

php53-xml

5.3.3-14

Non

PHP 3.01

N/D

php53-xmlrpc

5.3.3-14

Non

PHP 3.01

N/D

php53-mbstring

5.3.3-14

Non

PHP 3.01

N/D

pkgconfig

0.23-9.1

Non

GPLv2

N/D

postgresql90-libs

9.0.8-1PGDG

Non

BSD

N/D

procmail

3.22-25.1

Non

GPLv2

WEB5, WEB64

rsync

3.0.6-9

Non

GPLv2

N/D

samba-client

3.5.10-125

Non

GPLv2

N/D

samba-common

3.5.10-125

Non

GPLv2

N/D

sendmail

8.14.4-8

Non

Sendmail

N/D

sudo

1.7.4p5-13.el6_3

Non

BSD

N/D

telnet

0.17-47

Non

BSD

N/D

unixODBC

2.2.14-11

Non

LGPLv2.1

N/D

unzip

6.0-1

Non

BSD

N/D

zip

3.0-1

Non

BSD

N/D

libedit

2.11.4.20080712cvs.1

Non

BSD

N/D

libtool-ltdl

2.2.6-15.5

Non

LGPLv2.1

N/D

freetds

0.91-1

Non

LGPLv2.1

N/D