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 :

Apache sous domaine avec IIS et SVN


Sujet :

Apache

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2015
    Messages : 67
    Points : 35
    Points
    35
    Par défaut Apache sous domaine avec IIS et SVN
    bonjour,
    J'ai loué un serveur dédiée où j'ai installer windows server 2008.
    j'ai installer Apache ,svn , une appication IIS.
    j'ai crée un sous domaine qui pointe vers ce serveur , j'ai configurer apache avec une virtuelhost pour faire proxy de port car IIS tourne sur le port 8080.
    donc lorsque le client tape ce sous domaine, il accède au application IIS (url sans port affiché).
    J'aime avoir une configuration optimale et sécruisé.
    Je veux que lorsque le client tape @ip de serveur il accède à une page bien défini et non pas mon application IIS
    Pour le SVN, il est accecible par @ip/SVN ou par sous domaine/SVN ..... si je crée un sous domaine pour SVN ... ce sous domaine aussi pointe vers @ip serveur ? et comment modifier le configuration d'apache ? je doit crée une virtuelhost aussi pour SVN .. a ce moment le svn est <location> dans mon apache .

    S'il y a des conseils pour mieux configurer, je suis en écoute... merci

  2. #2
    Membre habitué Avatar de silfun1
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 117
    Points : 187
    Points
    187
    Par défaut
    Bonjour Jamelweb,


    Si tu utilise un IIS 7 ou 8, il y a un module Rewrite qui fait son boulot de redirection.

    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <rewrite>
      <rules>
        <rule name="If IP-SNV">
          <match url="^SVN/(.*)" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="152.25.15.125" negate="false" />
          </conditions>
          <action type="Redirect" url="SVN/{R:1}" redirectType="Found" />
        </rule>
        <rule name="If IP ADDR">
          <match url=".*"/>
          <conditions>
            <add input="{HTTP_HOST}" pattern="152.25.15.125" negate="false" />
          </conditions>
          <action type="Redirect" url="mapage.aspx" redirectType="Found" />
        </rule>
    </rewrite>
    Sources:
    http://www.iis.net/learn/extensions/...rewrite-module
    http://www.pureexample.com/c-sharp/i...ite-rules.html

    Sinon, tu peux aussi faire ça dans Apache:

    Avec la directive Redirect, dans la configuration de ton virtualhost
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <If "%{HTTP_HOST} = '152.25.15.125'">
    	Redirect "/" "http://www.example.com/mapage.aspx"
    </If>
    ou via le module mod_rewrite
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    RewriteCond %{HTTP_HOST}   ^152.25.15.125 [NC]
    RewriteCond %{REQUEST_URI} ^/SVN/.*
    RewriteRule ^/SVN/(.*)     /SVN/$1 [R=301,L]
     
    RewriteCond %{HTTP_HOST}    ^152.25.15.125 [NC]
    RewriteCond %{REQUEST_URI}  !^/SVN/.*
    RewriteRule ^/(.*)          mapage.aspx [R=301,L]


    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
    - Ne vous privez pas pour voter pour ma réponse si elle vous plaît bien
    - Ne pas hésiter à cliquer sur "Résolu" quand votre problème posé a trouvé une solution. Et un petit merci fait toujours plaisir

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2015
    Messages : 67
    Points : 35
    Points
    35
    Par défaut
    Bonsoir,
    Voila mon ancien httpd.conf:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    ServerName localhost:80
    NameVirtualHost *:80
     
    <Location /svn>
      DAV svn
      SVNParentPath "D:/svn"
      AuthName "All my repositories"
      AuthType Basic
      AuthUserFile "D:/svn/users/passwd"
      Require valid-user
    </Location>
     
    <VirtualHost *:80>
            #Redirect vers mon application IIS
            Servername myportail.domain.com
            Serversignature off
    	ProxyPass / http://127.0.0.1:8080/
            ProxyPassReverse / http://127.0.0.1:8080/
    </VirtualHost>
    alors je doit le modifier comme ca ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    ServerName localhost:80
    NameVirtualHost *:80
     
    <VirtualHost *:80>   
        DocumentRoot  "D:/test"
        ServerName @ip
        ServerAlias @ip
        <Directory "D:/test">
            Require all granted    
        </Directory>
     
    </VirtualHost>
     
    <VirtualHost *:80>
                  RewriteCond %{HTTP_HOST}   ^@ip [NC]
                  RewriteCond %{REQUEST_URI} ^/SVN/.*
                  RewriteRule ^/SVN/(.*)     /SVN/$1 [R=301,L]
    		DocumentRoot  "D:/svn"
    		<Directory "D:/svn">
    		AllowOverride All
                    Require all granted 
                   </Directory>
           <Location /svn>
                    DAV svn
                    SVNParentPath "D:/svn"
                    AuthName "All my repositories"
                    AuthType Basic
                    AuthUserFile "D:/svn/users/passwd"
                    Require valid-user
            </Location>
    </VirtualHost>
     
    <VirtualHost *:80>
            #Redirect vers mon application IIS
            Servername myportail.domain.com
            Serversignature off
    	ProxyPass / http://127.0.0.1:8080/
            ProxyPassReverse / http://127.0.0.1:8080/
    </VirtualHost>

  4. #4
    Membre habitué Avatar de silfun1
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 117
    Points : 187
    Points
    187
    Par défaut
    Bonjour Jamelweb,

    A premiere vue, je dirai qu'il y a un virtual host de trop dans ta configuration. En effet, tu désire avoir 2 entrées possible sur ton serveur:
    - 1 via l'adresse ip du serveur
    - 1 via un nom dns
    => 2 virtual hosts à configurer. Or j'en vois 3.
    De plus, celui du milieu n'a pas de server name, ni de server alias et possède la meme "en-tete" que le premier. Du coup, aucun moyen pour le moteur Apache de le différencier. C'est pour ça qu'il te renvoie sur le premier.

    Le plus simple est de mixer tes 2 premiers virtual host, en jouant avec les alias.
    Je verrai bien quelque chose comme ça (attention, j'ai rien testé):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    ServerName localhost
    NameVirtualHost *:80
     
    <VirtualHost *:80>   
        DocumentRoot  "D:/test"
        ServerName @ip
        ServerAlias @ip
     
        <Directory "D:/test">
            Require all granted    
        </Directory>
     
        Alias /SVN/ "D:/svn"
        <Directory "D:/svn">
            AllowOverride All
            Require all granted 
        </Directory>
     
        <Location /svn>
                DAV svn
                SVNParentPath "D:/svn"
                AuthName "All my repositories"
                AuthType Basic
                AuthUserFile "D:/svn/users/passwd"
                Require valid-user
        </Location>
     
        RewriteCond %{HTTP_HOST}   ^@ip [NC]
        RewriteCond %{REQUEST_URI} ^/SVN/.*
        RewriteRule ^/SVN/(.*)     /SVN/$1 [R=301,L]
     
    </VirtualHost>
     
    <VirtualHost *:80>
            #Redirect vers mon application IIS
            Servername myportail.domain.com
    		ServerAlias myportail.domain.com
            Serversignature off
    		ProxyPass / http://127.0.0.1:8080/
            ProxyPassReverse / http://127.0.0.1:8080/
    </VirtualHost>

    Du coup, je ne pense pas que la redirection via la rewrite rule serve encore...
    A part ça, pourquoi ne mets tu pas ton IIS en frontal, avec le port 80 ? Avoir un Apache en frontal d'un IIS, c'est la premiere fois que je vois ça. Je pense que ça complique un peu les choses. Surtout que IIS peut très bien faire du SVN.


    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
    - Ne vous privez pas pour voter pour ma réponse si elle vous plaît bien
    - Ne pas hésiter à cliquer sur "Résolu" quand votre problème posé a trouvé une solution. Et un petit merci fait toujours plaisir

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2015
    Messages : 67
    Points : 35
    Points
    35
    Par défaut
    merci ...
    je vais tester ce code et je vous retourne la résultat

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2015
    Messages : 67
    Points : 35
    Points
    35
    Par défaut
    pour le SVN:j'ai eu ce message

    Forbidden
    You don't have permission to access /svn on this server.

    peutre il me faut un dossier avant le dossier de svn ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    ServerName localhost
    NameVirtualHost *:80
     
    <VirtualHost *:80>   
        DocumentRoot  "D:/test"
        ServerName @ip
        ServerAlias @ip
     
        <Directory "D:/test">
            Require all granted    
        </Directory>
     
        Alias /SVN/ "D:/svn"
        <Directory "D:/Psvn">
            AllowOverride All
            Require all granted 
        </Directory>
     
        <Location /svn>
                DAV svn
                SVNParentPath "D:/Psvn/svn"
                AuthName "All my repositories"
                AuthType Basic
                AuthUserFile "D:/Psvn/svn/users/passwd"
                Require valid-user
        </Location>
     
        RewriteCond %{HTTP_HOST}   ^@ip [NC]
        RewriteCond %{REQUEST_URI} ^/SVN/.*
        RewriteRule ^/SVN/(.*)     /SVN/$1 [R=301,L]
     
    </VirtualHost>
     
    <VirtualHost *:80>
            #Redirect vers mon application IIS
            Servername myportail.domain.com
    	ServerAlias myportail.domain.com
            Serversignature off
    	ProxyPass / http://127.0.0.1:8080/
            ProxyPassReverse / http://127.0.0.1:8080/
            ProxyPreserveHost On
    </VirtualHost>
    A part ça, pourquoi ne mets tu pas ton IIS en frontal, avec le port 80 ? Avoir un Apache en frontal d'un IIS, c'est la premiere fois que je vois ça. Je pense que ça complique un peu les choses. Surtout que IIS peut très bien faire du SVN.
    Le SVN est déjà installé d'avance.... et si un autre jour j'ai met en production un site web en php ca sera plus facile à moi de le gérer en apache avec port 80 , je suis null en configuration en IIS

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2015
    Messages : 67
    Points : 35
    Points
    35
    Par défaut
    merci silfun1
    problème résolut avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    ServerName localhost
    NameVirtualHost *:80
     
    <VirtualHost *:80>   
        DocumentRoot  "D:/test"
        ServerName @ip
        ServerAlias @ip
     
        <Directory "D:/test">
            Require all granted    
        </Directory>
     
        Alias /SVN/ "D:/svn"
        <Directory "D:/svn">
            AllowOverride All
            Require all granted 
        </Directory>
     
        <Location /svn/>
                DAV svn
                SVNParentPath "D:/svn"
                AuthName "All my repositories"
                AuthType Basic
                AuthUserFile "D:/svn/users/passwd"
                Require valid-user
        </Location>
     
        RewriteCond %{HTTP_HOST}   ^@ip [NC]
        RewriteCond %{REQUEST_URI} ^/svn/.*
        RewriteRule ^/svn/(.*)     /svn/$1 [R=301,L]
     
    </VirtualHost>
     
    <VirtualHost *:80>
            #Redirect vers mon application IIS
            Servername myportail.domain.com
    	ServerAlias myportail.domain.com
            Serversignature off
    	ProxyPass / http://127.0.0.1:8080/
            ProxyPassReverse / http://127.0.0.1:8080/
            ProxyPreserveHost On
    </VirtualHost>
    C'est optimale et sécurisé comme solution?!

  8. #8
    Membre habitué Avatar de silfun1
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 117
    Points : 187
    Points
    187
    Par défaut
    Re,

    Optimal, je ne sais pas. Il y a toujours moyen d'optimiser (ajout d'une option de compression pour alléger les fluxs, ajout d'un mode de cache pour répondre plus rapidement, etc...).
    Mais ce qui est sur, c'est que ce n'est pas sécurisé. Mettre une authentification basic sur un flux HTTP: tu peux etre sur que tes mots de passe circulent en clair sur le réseau. Pour sécurisé un peu, il faudrait que tu utilise le mode d'authentification Digest

    Ex:
    http://httpd.apache.org/docs/2.4/mod...th_digest.html
    http://svnbook.red-bean.com/en/1.8/s...d.authn.digest


    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
    - Ne vous privez pas pour voter pour ma réponse si elle vous plaît bien
    - Ne pas hésiter à cliquer sur "Résolu" quand votre problème posé a trouvé une solution. Et un petit merci fait toujours plaisir

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2015
    Messages : 67
    Points : 35
    Points
    35
    Par défaut
    merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/08/2009, 00h58
  2. Réponses: 6
    Dernier message: 24/06/2008, 16h05
  3. Réponses: 1
    Dernier message: 14/12/2007, 00h22
  4. Sous domaines avec accès FTP à part
    Par histoblog dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 12/01/2007, 02h20
  5. Windows + Apache + Sous-domaines
    Par Phenol dans le forum Apache
    Réponses: 8
    Dernier message: 03/05/2004, 15h48

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