IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Configuration Apache pour faire tourner 2 instances Redmine


Sujet :

Apache

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Dummies
    Inscrit en
    Novembre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Dummies

    Informations forums :
    Inscription : Novembre 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Configuration Apache pour faire tourner 2 instances Redmine
    Bonjour à tous,

    Voici quelques temps que je tourne et que je n'entrevois pas de solution.

    Je vous décris le truc (en étant le plus simple possible).
    - 2 instances de Redmine sur une machine.
    -> acces par le lien http:\\le_serveur.com:3000 pour la première
    -> acces par le lien http:\\le_serveur.com:3001 pour la seconde

    Redmine, c'est du ruby/rail et je n'ai pas le choix concernant le lancement de ces 2 instances. ( les fichiers entre les 2 instances sont les mêmes, et au même endroit ! Seule la base de donnée change... mais c'est redmine qui gère ) La différence se fait au lancement de redmine, avec un parametre en plus en ligne de commande.

    Donc, jusque là, ça fonctionne. ( et pas besoin d'apache pour le moment ...)


    Mais, car il y a toujours un mais, le client ne veut pas voir l'ombre d'un numéro de port dans l'adresse (*).

    je cherche à faire donc un truc dans le genre :
    - http:\\le_serveur.com\redmineProd
    - http:\\le_serveur.com\redmineTest

    le premier lien ira pointer vers http:\\le_serveur.com:3000
    et le second lien ira pointer vers http:\\le_serveur.com:3001


    C'est là qu'entre en scène Apache. Je l'ai installé sur la même machine où tournent les Redmine. Son seul but est de rediriger vers la bonne adresse

    Mais, voici plusieurs jours que je tourne autour des virtualHosts, et je n'aboutit à rien. J'en suis à me demander si ce que je veux faire est possible ou bien si c'est une connerie


    J'ai fait quelques essais, et pour un seul Redmine, ça fonctionne en faisant ceci :
    dans le ficheir httpd.conf, ajout de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <VirtualHost *:80>
         ProxyPass / <a href="http://monserveur.com:3000/" target="_blank">http://monserveur.com:3000/</a>
         ProxyPassReverse / <a href="http://monserveur.com:3000/" target="_blank">http://monserveur.com:3000/</a>
    </VirtualHost>
    mais tout s'arrête là.


    Donc voici quelques questions :

    - Comment s'appelle ce que je cherche à faire ( redirection d'adresse, de port.. ou je ne sais quoi, ) histoire que je puisse continuer a chercher sur google avec les bon termes de recherche, car je tourne en rond.
    - Est-ce que c'est possible ?
    - est-ce que c'est une connerie de s'y prendre de cette façon( pour des raisons sécurité ou autre )
    - Si ce n'est pas la bonne méthode, qu'est ce qu'il me reste comme choix ?


    Si c'est pas clair, n'hésitez pas... et s'il y a un post complet qui traite de ce sujet (et que je n'ai pas vu) j'en suis désolé.... n'hésitez pas a me le dire...


    En vous remerciant de votre patience, et de votre aide, je vous souhaite une bonne journée.

    Pigriou




    (*) et le client est roi...

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est la bonne méthode, pas de souci, tu n'es pas bien loin. Il faut juste préciser le chemin redmineProd ou redmineTest en premier paramètre des ProxyPassXxx pour faire le filtre entre les deux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <VirtualHost *:80>
         ProxyPass /redmineProd http://monserveur.com:3000/
         ProxyPassReverse /redmineProd http://monserveur.com:3000/
     
         ProxyPass /redmineTest http://monserveur.com:3001/
         ProxyPassReverse /redmineTest http://monserveur.com:3001/
    </VirtualHost>
    Après, aucune nécessité de passer par une virtual host. Je dirais même que c'est inutile pour ce qui te concerne. Si tu tiens à conserver le virtual host, il faut t'assurer que quelque part tu as un
    quelque part dans ta conf et il faut ajouter un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ServerName monserveur.com:80
    avant les ProxyPassXxx.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Dummies
    Inscrit en
    Novembre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Dummies

    Informations forums :
    Inscription : Novembre 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Salut Mac,

    Merci pour le coup de main !
    Je vais tester ça ce matin, et je vous raconterai si ça roule...

    A plus.

    Pigriou

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Dummies
    Inscrit en
    Novembre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Dummies

    Informations forums :
    Inscription : Novembre 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Re-bonjour a tous,

    J'ai mis en place la solution proposée par Mac.
    malheureusement, ça ne fonctionne qu'en partie.

    voici le fichier redmine.conf ( dans /etc/httpd/conf.d )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    NameVirtualHost *:80
    ServerName monserveur.com:80
     
    <VirtualHost *:80>
     
      ProxyPass /prod  http://monserveur.com:3000
      ProxyPassReverse /prod  http://monserveur.com:3000
     
      ProxyPass  /dev   http://monserveur.com:3001
      ProxyPassReverse  /dev  http://monserveur.com:3001
     
    </VirtualHost>

    Symptômes :
    En tapant http://monserveur.com/prod on arrive bien a la page d'accueil des sites. Donc, d'un côté, la redirection fonctionne.

    Seulement, la mise en page a dégagée, et tous les liens sont morts : exemple sur un lien proposé :
    - on a http://monserveur.com/news/10
    - alors qu'on devrait avoir (j'imagine un truc genre) http://monserveur.com/prod/news/10

    Je ne sais donc pas si le souci vient de la redirection ou bien de redmine. (je ne m'y connais pas assez)
    Et comme j'ai vu pas mal de forums Redmine où il y a des utilisations avec le serveur apache, et qu'ils ne partent pas du tout comme je l'ai fait, on va arrêter ici les frais et rentrer dans le moule (utilisation du module Mongrel notament). Comme ça dépasse un peu l'objet de ce post, j'en parlerai pas.

    Par contre, je vous fournis une autre solution que j'ai trouvée a force de chercher, pour pouvoir éviter de taper le numéro de port dans l'adresse : on va se servir de la clause Redirect :

    Dans le fichier redmine.conf ( ou bien dans httpd.conf ) on va se rajouter les 2 lignes suivantes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Redirect /redmine_prod  http://monserveur.com:3000/
    Redirect /redmine_dev  http://monserveur.com:3001/
    ça, ca roule, et on tape directement http://monserveur.com/redmine_prod . Mais le numéro de port apparait dès qu'on commence la navigation ( le client n'en voulait pas a l'origine ).

    Voilà. Si vous avez une idée concernant le souci de la redirection avec <VirtualHost> qui ne fonctionne pas, je suis curieux de comprendre... mais on est d'accord... si ça dépasse le cadre d'apache, on laisse béton.

    A +

    Pigriou

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    On va faire simple : vire les balises <VirtualHost> et le NameVirtualHost pour finalement ne garder que les ProxyPassXxx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ServerName monserveur.com:80
     
    ProxyPass /prod  http://monserveur.com:3000
    ProxyPassReverse /prod  http://monserveur.com:3000
     
    ProxyPass  /dev   http://monserveur.com:3001
    ProxyPassReverse  /dev  http://monserveur.com:3001
    Au passage, comme tu le dis, il y a un risque pour qu'il y ait des choses qui ne marchent pas côté Redmine si le code HTML de Redmine fait des références en src="/..." par exemple : le /... sera résolu par rapport à la racine du document root d'Apache, pas par rapport au /prod. Il faudrait donc voir le paramétrage ou le code de Redmine pour corriger, mais c'est dans un second temps : il faut d'abord que les deux reverse proxies fonctionnent.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Dummies
    Inscrit en
    Novembre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Dummies

    Informations forums :
    Inscription : Novembre 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Ahh... je viens de tester... le résultat est identique :
    -> on accède bien à la première page,
    -> la mise en page a été supprimée
    -> au premier lien cliqué, c'est erreur 404 direct.

    Il faut se rendre a l'évidence, Le transfert vers un autre port fonctionne bien, mais ce n'est pas la bonne méthode à utiliser pour Redmine !

    A ceux qui arrivent ici et qui désespèrent, je vous renvoie sur l'utilisation du module Mongrel avec Redmine. Il y a pas mal de documentation.

    Merci d'avoir pris du temps pour ce post.

    A plus.

    Pigriou

  7. #7
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Je répète ce que j'ai dit : Apache ne fait pas tout, le code HTML renvoyé par Redmine a sa grande part de responsabilité. En gros, il faut séparer les choses :
    1. Assure-toi que http://serveur.com/prod tape sur le Redmine du port 3000 et http://serveur.com/dev tape sur le Redmine du port 3001. Quand tu dis que "on accède bien à la première page", je ne sais pas quelle URL tu testes et quelle est cette première page (Redmine ? Autre chose ?).
    2. Le rendu des pages, les liens, etc. c'est avant tout un problème de HTML. Si le routage (point 1) fonctionne bien, le reste est un problème de HTML, donc un problème de configuration ou de code côté Redmine.

    Pour info, tous les logiciels ne sont pas prévus pour fonctionner correctement derrière un reverse proxy et un chemin (/prod ou /dev par exemple) en plus qu'ils ne connaissent pas. Redmine est peut-être de ceux-là.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Dummies
    Inscrit en
    Novembre 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Dummies

    Informations forums :
    Inscription : Novembre 2003
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Salut Mac,

    Assure-toi que http://serveur.com/prod tape sur le Redmine du port 3000
    vérifié - C'est le cas


    "on accède bien à la première page", je ne sais pas quelle URL tu testes et quelle est cette première page
    la page est http://serveur.com/prod
    seuls les textes s'affichent, et les uns au dessous des autres... sans aucun formatage... sans aucune couleur... tout est callé a gauche bref, probablement le lien vers la page css a sauté.
    Et d'ailleurs, tous les liens que présente la page sont mort.


    tous les logiciels ne sont pas prévus pour fonctionner correctement derrière un reverse proxy
    Et probablement Redmine en fait partie. Je n'irai pas regarder comment c'est fait dedans car ce n'est pas l'endroit pour le faire.

    Pour moi, j'arrête de creuser dans cette solution. Ce n'est pas la peine de s'entêter dans une impasse.

    Merci à Mac d'avoir passé du temps pour m'aider. Je pense vraiment qu'il est raisonnable de laisser tomber et d'aller voir du coté du module optionnel "Mongrel" pour pouvoir utiliser apache dans des bonnes conditions. Mais ça, c'est un autre problème.

    A bientôt.

    Pigriou

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Configuration pour faire tourner eclipse.
    Par shirohige dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 07/04/2014, 08h15
  2. Réponses: 14
    Dernier message: 26/11/2011, 21h49
  3. Quelle configuration faut-il pour faire tourner du silverlight
    Par PascalCmoa dans le forum Silverlight
    Réponses: 4
    Dernier message: 07/07/2010, 17h41
  4. Réponses: 5
    Dernier message: 18/06/2004, 14h59
  5. Réponses: 2
    Dernier message: 11/07/2002, 08h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo