Forum Linux.redhat Variables d'environnement au démarage

Posté par  (site web personnel) .
Étiquettes : aucune
0
15
oct.
2005
Bonjour,
J'ai recompilé php5 avec le support d'oracle (oci8) en utilisant rpm-build. Pour que ce support fonctionne, j'ai besoin de trois variables d'environnement (ORACLE_HOME, LD_LIBRARY_PATH et TNS_ADMIN). Dans un terminal, j' "exporte" ces trois variables, je redémarre le service httpd et ça marche. Mon problème est le suivant : je voudrais exporter ces variables au démarrage de l'ordinateur avant le lancement du service httpd. La distribution est une CentOS 4.2.
J'ai déjà essayé de créer un script /etc/profile.d ou de modifier /etc/bashrc mais sans succès.

Stéphane
  • # Variables Oracle

    Posté par  . Évalué à 1.

    Pour quel user (compte unix) veux-tu avoir ces variables ?
    Dans le terminal, je suppose que tu vas ensuite tester les
    scripts php qui invoque une database oracle ?

    Dans le httpd.conf, le fichier de configuration d'apache, il y a un user
    genre user nobody ou user www-data (debian).
    Tu peux créer un .bashrc dans ce répertoire qui exécutera l'export des variables.
    • [^] # Re: Variables Oracle

      Posté par  . Évalué à 1.

      J'ai mangé un bout de la réponse, (je recommence) :
      Dans le httpd.conf, le fichier de configuration d'apache, il y a un user
      genre user nobody ou user www-data (debian). Ce compte a une home directory. (Voir /etc/passwd)
      Tu peux créer un .bashrc dans ce répertoire qui exécutera l'export des variables.
      • [^] # Re: Variables Oracle

        Posté par  . Évalué à 3.

        Je pense pas que l'utilisateur www, nobody, apache ou autres devrait possèder un répertoire personnel (home directory). D'ailleur cet utilisateur ne devrait me pas avoir de shell.

        La solution 1 : faire l'export dans le script de démarrage (script init.d) du serveur httpd. Sur CentOS, ça doit être /etc/rc.d/init.d/httpd

        La solution 2 : dans la configuration apache, ajouter les directives set_env pour les varaibles Oracle (non testée).
        • [^] # Re: Variables Oracle

          Posté par  . Évalué à 1.

          Un extrait de /etc/passwd concernant www-data
          www-data::::www-data:/var/www:/bin/sh (créé automatiquement ainsi à m'installation d'apache).
          Cependant ce que tu proposes (export dans init.d dans le script de lancement d'apache) a cette incomparable qualité de l'élégance en plus de la simplicité et de l'efficacité.
          J'adopte.
          • [^] # Re: Variables Oracle

            Posté par  . Évalué à 1.

            En fait, si la solution 2 fonctionne, c'est celle que je choisirais.
            Lors d'une mise à jour d'apache, tu risques d'écraser le fichier init. Le fichier de configuration, lui, restera.
            • [^] # Re: Variables Oracle

              Posté par  (site web personnel) . Évalué à 1.

              Finallement, j'ai mis mes trois variables dans le fichier /etc/init.d/httpd et ça marche très bien. En revanche pour la solution 2, j'ai créé un fichier oracle.conf dans /etc/httpd/conf.d en y mettant set_env mais sans succès. Le démarrage du service echoue. Merci pour votre aide.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.