Rubrique précédente: Appliances de serveur Web

Rubrique suivante: WEBx4 - Appliance de serveur Web évolutive

WEB5, WEB64 : appliances de serveur Web

Appliance de serveur Web simple

Aperçu rapide

Catalogue

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

Important : WEB4 n'est pas disponible dans CA 3Tera AppLogic 2.8 et ses versions ultérieures, utilisez plutôt WEB5 ou WEB64 à la place.

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

Remarques

WEB5

2.0.2-1

CentOS 5.5

2.2.3

5.1.6

2.4.3

5.8.8

5.0.22

 

WEB64

2.0.2-1

CentOS 5.5 (64 bits)

2.2.3

5.1.6

2.4.3

5.8.8

5.0.22

 

Périmètre

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

entrée

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 à CA 3Tera AppLogic 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 CA 3Tera AppLogic, 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) :

.rc.local - Script exécuté au démarrage. L'appliance exécute le script s'il existe, mais n'échoue pas s'il est manquant. Si le script échoue avec un code d'état différent de zéro, l'appliance ne parvient pas à démarrer.

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 enverra ses journaux via le 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 dans lequel se situe 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. Valeur 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.

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 par le biais du 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 :

Logs are enabled but the log terminal is not connected.

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 des modules PHP/Perl supplémentaires sur le volume de contenu

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.1.6-5.el5.i386.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.el5.rf.i386.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.el5.rf.i386.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.1.6-5.el5.i386.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 3Tera 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.8.8/ 
    

    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.8.8/

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)

Informations supplémentaires

Limitations connues

Mise en garde :

Pour plus d'informations ou faire part de vos suggestions, contactez le support technique de CA.

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 (LUX5 est la classe de base de WEB5 et LUX64 est la classe de base de WEB64).

Logiciel

Version

Modifié

Licence

Commentaires

alsa-lib

1.0.17-1

Non

LGPLv2.1

sans objet

apr

1.2.7-11

Non

Licence Apache 2.0

sans objet

apr-util

1.2.7-11

Non

Licence Apache 2.0

sans objet

aspell

0.60.3-7.1

Non

LGPLv2.1

sans objet

aspell-en

6.0-2.1

Non

ISC

sans objet

atk

1.12.2-1.fc6

Non

LGPLv2.0

sans objet

audiofile

0.2.6-5

Non

LGPLv2.0

sans objet

audit-libs-python

1.7.17-3

Non

GPLv2

sans objet

avahi

0.6.16-9.el5_5

Non

LGPLv2.1

sans objet

avahi-glib

0.6.16-9.el5_5

Non

LGPLv2.1

sans objet

bind-libs

9.3.6-4.P1.el5_4.2

Non

ISC

sans objet

bind-utils

9.3.6-4.P1.el5_4.2

Non

ISC

sans objet

bitstream-vera-fonts

1.10-7

Non

GPLv2

sans objet

cairo

1.2.4-5

Non

LGPLv2.1/MPL

sans objet

chkfontpath

1.10.1-1.1

Non

GPLv2

sans objet

cryptsetup-luks

1.0.3-5

Non

GPLv2

sans objet

cups-libs

1.3.7-18.el5_5.7

Non

GPLv2

sans objet

curl

7.15.5-9

Non

MIT

sans objet

cyrus-sasl

2.1.22-5.el5_5.3

Non

BSD

sans objet

dbus

1.1.2-14

Non

AFLv2.1

sans objet

dbus-glib

0.73-10.el5_5

Non

AFLv2.1

sans objet

dbus-libs

1.1.2-14

Non

AFLv2.1

sans objet

dbus-python

0.70-9.el5_4

Non

AFLv2.1

sans objet

distcache

1.4.5-14.1

Non

LGPLv2.1

sans objet

dmidecode

2.10-3

Non

GPLv2

sans objet

esound

0.2.36-3

Non

GPLv2

sans objet

fontconfig

2.4.1-7

Non

ISC

sans objet

freetype

2.2.1-28.el5_5

Non

FTL

sans objet

gamin

0.1.7-8

Non

LGPLv2.1

sans objet

GConf2

2.14.0-9

Non

LGPLv2.1

sans objet

gd

2.0.33-9.4.el5_4.2

Non

GD

sans objet

ghostscript

8.15.2-9.12.el5_5

Non

GPLv2

sans objet

ghostscript-fonts

5.50-13.1.1

Non

GPLv2

sans objet

gmp

4.1.4-10

Non

LGPLv2.1

sans objet

gnome-keyring

0.6.0-1.fc6

Non

GPLv2

sans objet

gnome-mime-data

2.4.2-3.1

Non

GPLv2

sans objet

gnome-mount

0.5-3

Non

GPLv2

sans objet

gnome-vfs2

2.16.2-6.el5_5.1

Non

LGPLv2.0

sans objet

gnutls

1.4.1-3.el5_4.8

Non

LGPLv2.1

sans objet

gtk2

2.10.4-20

Non

LGPLv2.0

sans objet

hal

0.5.8.1-59

Non

AFLv2.1

sans objet

hesiod

3.1.0-8

Non

ISC

sans objet

hicolor-icon-theme

0.9-2.1

Non

GPLv2

sans objet

httpd

2.2.17-1

Non

Licence Apache 2.0

sans objet

hwdata

0.213.18-1

Non

GPLv2

sans objet

kbd

1.12-21

Non

GPLv2

sans objet

kernel-headers

2.6.18-194.17.4

Non

GPLv2

sans objet

lcms

1.18-0.1.beta1.el5_3.2

Non

MIT

sans objet

libart_lgpl

2.3.17-4

Non

LGPLv2.0

sans objet

libbonobo

2.16.0-1.1.el5_5.1

Non

LGPLv2.1

sans objet

libbonoboui

2.16.0-1.fc6

Non

LGPLv2.1

sans objet

libc-client

2004g-2.2.1

Non

Licence Apache 2.0

sans objet

libcroco

0.6.1-2.1

Non

LGPLv2.0

sans objet

libdaemon

0.10-5

Non

LGPLv2.1

sans objet

libfontenc

1.0.2-2.2

Non

MIT

sans objet

libFS

1.0.0-3.1

Non

ISC

sans objet

libgcrypt

1.4.4-5

Non

LGPLv2.1

sans objet

libglade2

2.6.0-2

Non

LGPLv2.0

sans objet

libgnome

2.16.0-6

Non

LGPLv2.0

sans objet

libgnomecanvas

2.14.0-4.1

Non

LGPLv2.0

sans objet

libgnomeui

2.16.0-5

Non

LGPLv2.0

sans objet

libgpg-error

1.4-2

Non

LGPLv2.1

sans objet

libgsf

1.14.1-6.1

Non

LGPLv2.1

sans objet

libICE

1.0.1-2.1

Non

MIT

sans objet

libIDL

0.8.7-1.fc6

Non

LGPLv2.0

sans objet

libidn

0.6.5-1.1

Non

LGPLv2.1

sans objet

libjpeg

6b-37

Non

distribuable

sans objet

libnotify

0.4.2-6

Non

LGPLv2.1

sans objet

libpng

1.2.10-7.1.el5_5.3

Non

zlib

sans objet

librsvg2

2.16.1-1

Non

LGPLv2.0

sans objet

libSM

1.0.1-3.1

Non

MIT

sans objet

libtiff

3.8.2-7.el5_5.5

Non

ISC

sans objet

libusb

0.1.12-5.1

Non

LGPLv2.0

sans objet

libutempter

1.1.4-4

Non

LGPLv2.1

sans objet

libwmf

0.2.8.4-10.2

Non

GPLv2

sans objet

libwnck

2.16.0-4.fc6

Non

LGPLv2.0

sans objet

libX11

1.0.3-11

Non

MIT

sans objet

libXau

1.0.1-3.1

Non

MIT

sans objet

libXcursor

1.1.7-1.1

Non

ISC

sans objet

libXdmcp

1.0.1-2.1

Non

MIT

sans objet

libXext

1.0.1-2.1

Non

MIT

sans objet

libXfixes

4.0.1-2.1

Non

ISC

sans objet

libXfont

1.2.2-1.0.3.el5_1

Non

MIT-X11

sans objet

libXft

2.1.10-1.1

Non

ISC

N/A4

libXi

1.0.1-4.el5_4

Non

MIT

sans objet

libXinerama

1.0.1-2.1

Non

MIT

sans objet

libxml2-python

2.6.26-2.1.2.8.el5_5.1

Non

MIT

sans objet

libXpm

3.5.5-3

Non

MIT

sans objet

libXrandr

1.1.1-3.3

Non

MIT

sans objet

libXrender

0.9.1-3.1

Non

ISC

sans objet

libXres

1.0.1-3.1

Non

MIT

sans objet

libxslt

1.1.17-2.el5_2.2

Non

MIT

sans objet

libXt

1.0.2-3.2

Non

ISC

sans objet

lm_sensors

2.10.7-9

Non

GPLv2

WEB64 uniquement

mailcap

2.1.23-1.fc6

Non

ISC

N/A4

make

3.81-3

Non

GPLv2

sans objet

mod_auth_mysql

3.0.0-3.2.el5_3

Non

Groupe Apache

sans objet

mod_perl

2.0.4-12

Non

Licence Apache 2.0

sans objet

mod_rpaf

0.5

Oui

Groupe Apache

sans objet

mod_ssl

2.2.17-1

Non

Licence Apache 2.0

sans objet

MySQL? -client-community

5.1.51

Non

GPLv2

sans objet

MySQL? -shared-compat

5.1.51

Non

GPLv2

sans objet

net-snmp

5.3.2.2

Non

BSD

WEB64 uniquement

net-snmp-libs

5.3.2.2

Non

BSD

WEB64 uniquement

notification-daemon

0.3.5-9

Non

GPLv2

sans objet

ntsysv

1.3.30.2-2

Non

GPLv2

sans objet

ORBit2

2.14.3-5

Non

LGPLv2

sans objet

pango

1.14.9-8

Non

LGPLv2.0

sans objet

pciutils

2.2.3-8.el5_4

Non

GPLv2

sans objet

perl

5.12.2-1

Non

Artistic

WEB64 uniquement

perl-AppConfig

1.65-1

Non

Artistic

sans objet

perl-BSD-Resource

1.28-1

Non

Artistic

sans objet

perl-DBD-MySQL

3.0007-2

Non

Artistic

sans objet

perl-DBD-Pg

1.49-2

Non

Artistic

sans objet

perl-DBD-SQLite

1.29-1

Non

Artistic

sans objet

perl-DBI

1.615-1

Non

Artistic

sans objet

perl-DBIx-Simple

1.32-1

Non

Artistic

sans objet

perl-GD

2.35-1

Non

Artistic

sans objet

perl-Mailtools

1.77-1

Non

Artistic

WEB64 uniquement

perl-Pod-POM

0.17-1.2

Non

Artistic

sans objet

perl-String-CRC32

1.4-2

Non

Domaine public

sans objet

perl-Template-Toolkit

2.15-1

Non

Artistic

sans objet

perl-Text-Autoformat

1.13-1.2

Non

Artistic

sans objet

perl-Text-Reform

1.11-1.2

Non

Artistic

sans objet

perl-TimeDate

1.16-5

Non

Artistic

WEB64 uniquement

perl-Unicode-String

2.09-1

Non

Artistic

sans objet

perl-Digest-SHA1

2.11-1.2.1

Non

Artistic

WEB5 uniquement

php53

5.3.3-4

Non

PHP 3.01

sans objet

php53-cli

5.3.3-4

Non

PHP 3.01

sans objet

php53-bcmath

5.3.3-4

Non

PHP 3.01

WEB64 uniquement

php53-common

5.3.3-4

Non

PHP 3.01

sans objet

php53-dba

5.3.3-4

Non

PHP 3.01

WEB64 uniquement

php53-gd

5.3.3-4

Non

PHP 3.01

sans objet

php53-imap

5.3.3-4

Non

PHP 3.01

sans objet

php53-ldap

5.3.3-4

Non

PHP 3.01

WEB64 uniquement

php53-mysql

5.3.3-4

Non

PHP 3.01

sans objet

php53-mssql

5.3.3-4

Non

PHP 3.01

WEB5 uniquement

php53-odbc

5.3.3-4

Non

PHP 3.01

WEB64 uniquement

php53-pdo

5.3.3-4

Non

PHP 3.01

sans objet

php53-pear

5.3.3-4

Non

PHP 3.0

sans objet

php53-pgsql

5.3.3-4

Non

PHP 3.01

sans objet

php53-snmp

5.3.3-4

Non

PHP 3.01

WEB64 uniquement

php53-soap

5.3.3-4

Non

PHP 3.01

WEB64 uniquement

php53-xml

5.3.3-4

Non

PHP 3.01

WEB64 uniquement

php53-xmlrpc

5.3.3-4

Non

PHP 3.01

WEB64 uniquement

php53-mbstring

5.3.3-4

Non

PHP 3.01

WEB5, WEB64

pkgconfig

0.21-2

Non

GPLv2

WEB5, WEB64

pm-utils

0.19

Non

GPLv2

WEB5, WEB64

policycoreutils

1.33.12-14.8

Non

GPLv2

WEB5, WEB64

postgresql90-libs

9.0.1-1PGDG

Non

BSD

WEB5, WEB64

compat-postgresql-libs

4-1PGDG

Non

BSD

WEB5, WEB64

procmail

3.22-17.1

Non

GPLv2

WEB5, WEB64

rsync

2.6.8-3.1

Non

GPLv2

sans objet

samba-client

3.0.33-3.29.el5_5.1

Non

GPLv2

sans objet

samba-common

3.0.33-3.29.el5_5.1

Non

GPLv2

sans objet

libsmbclient

3.0.33-3.29.el5_5.1

Non

GPLv2

sans objet

sendmail

8.13.8-8

Non

Sendmail

sans objet

shared-mime-info

0.19-5

Non

GPLv2

N/A4

startup-notification

0.8-4.1

Non

LGPLv2.0

sans objet

sudo

1.7.2p1-9.el5_5

Non

BSD

sans objet

telnet

0.17-39

Non

BSD

sans objet

ttmkfdir

3.0.9-23

Non

LGPLv2.0

sans objet

unixODBC

2.2.11-7.1

Non

LGPLv2.1

sans objet

unzip

5.52-3

Non

BSD

sans objet

urw-fonts

2.3-6.1.1

Non

GPLv2

sans objet

words

3.0-9.1

Non

Domaine public

sans objet

xorg-x11-filesystem

7.1-2.fc6

Non

MIT-X11

sans objet

xorg-x11-font-utils

7.1-2

Non

BSD

sans objet

xorg-x11-xfs

1.0.2-4

Non

MIT

sans objet

zip

2.31-2

Non

BSD-InfoZip

sans objet

t1lib

5,1.0-1

Non

LGPLv2.1

sans objet

libXaw

1.0.2-8.1

Non

MIT

sans objet

libXmu

1.0.2-5

Non

MIT

sans objet

libedit

20090923-3.0_1

Non

BSD

sans objet

libtool-ltdl

1.5.22-7.el5_4

Non

LGPLv2.1

sans objet

freetds

0.64-11

Non

LGPLv2.1

sans objet