logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 08-11-2014 23:39:48

totophe56
Membre
Distrib. : Buster 64 bits
Noyau : Linux 5.10.0-20-amd64
(G)UI : KDE
Inscription : 22-07-2010

etherpad + virtualhost apache2 [résolu]

Bonjour,

j'ai installé mon serveur apache2 avec 2 sous répertoires sur lesquels j'ai configuré 4 virtualhosts

2 sur mondomaine1.com avec un http en port 80 et un https en port 443
2 sur mondomaine2.com avec un http en port 80 et un https en port 443

qui sont fonctionnels tous les 4

j'ai ensuite installé etherpad, qui a été fonctionnel depuis l'extérieur avant la création de virtualhosts sur le port 9001

à l'heure actuelle, mon etherpad est fonctionnel en local en allant sur mondomaine1.com:9001 ainsi que sur mondomaine2.com:9001

mais pas en accès à distance

Firefox ne peut établir de connexion avec le serveur à l'adresse mondomaine1.com:9001



sur ma box j'ai une dmz vers mon ordi serveur

j'ai essayé bien sûr de désactiver mon parefeu qui vide toutes les règles iptables et autorise toutes les connexions

je pense donc que le soucis vient de mes virtualhosts qui bloquent

un virtualhost sur le port 80



<VirtualHost *:80>
  ServerAdmin monmail
  ServerAlias mondomaine1.com
 
  DocumentRoot /var/www/mondomaine1
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  <Directory /var/www/mondomaine1>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog /var/log/apache2/error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>



un virtualhost sur le port 443

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ServerAdmin monmail
  ServerAlias mondomaine1.com
 
  DocumentRoot /var/www/mondomaine1
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  <Directory /var/www/mondomaine1>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

  #   SSL Engine Switch:
  #   Enable/Disable SSL for this virtual host.
  SSLEngine on

  #   A self-signed (snakeoil) certificate can be created by installing
  #   the ssl-cert package. See
  #   /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
  #   If both key and certificate are stored in the same file, only the
  #   SSLCertificateFile directive is needed.
  SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

  #   Server Certificate Chain:
  #   Point SSLCertificateChainFile at a file containing the
  #   concatenation of PEM encoded CA certificates which form the
  #   certificate chain for the server certificate. Alternatively
  #   the referenced file can be the same as SSLCertificateFile
  #   when the CA certificates are directly appended to the server
  #   certificate for convinience.
  #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

  #   Certificate Authority (CA):
  #   Set the CA certificate verification path where to find CA
  #   certificates for client authentication or alternatively one
  #   huge file containing all of them (file must be PEM encoded)
  #   Note: Inside SSLCACertificatePath you need hash symlinks
  #         to point to the certificate files. Use the provided
  #         Makefile to update the hash symlinks after changes.
  #SSLCACertificatePath /etc/ssl/certs/
  #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt

  #   Certificate Revocation Lists (CRL):
  #   Set the CA revocation path where to find CA CRLs for client
  #   authentication or alternatively one huge file containing all
  #   of them (file must be PEM encoded)
  #   Note: Inside SSLCARevocationPath you need hash symlinks
  #         to point to the certificate files. Use the provided
  #         Makefile to update the hash symlinks after changes.
  #SSLCARevocationPath /etc/apache2/ssl.crl/
  #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl

  #   Client Authentication (Type):
  #   Client certificate verification type and depth.  Types are
  #   none, optional, require and optional_no_ca.  Depth is a
  #   number which specifies how deeply to verify the certificate
  #   issuer chain before deciding the certificate is not valid.
  #SSLVerifyClient require
  #SSLVerifyDepth  10

  #   Access Control:
  #   With SSLRequire you can do per-directory access control based
  #   on arbitrary complex boolean expressions containing server
  #   variable checks and other lookup directives.  The syntax is a
  #   mixture between C and Perl.  See the mod_ssl documentation
  #   for more details.
  #<Location />
  #SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
  #            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
  #            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
  #            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
  #            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
  #           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
  #</Location>

  #   SSL Engine Options:
  #   Set various options for the SSL engine.
  #   o FakeBasicAuth:
  #     Translate the client X.509 into a Basic Authorisation.  This means that
  #     the standard Auth/DBMAuth methods can be used for access control.  The
  #     user name is the `one line' version of the client's X.509 certificate.
  #     Note that no password is obtained from the user. Every entry in the user
  #     file needs this password: `xxj31ZMTZzkVA'.
  #   o ExportCertData:
  #     This exports two additional environment variables: SSL_CLIENT_CERT and
  #     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
  #     server (always existing) and the client (only existing when client
  #     authentication is used). This can be used to import the certificates
  #     into CGI scripts.
  #   o StdEnvVars:
  #     This exports the standard SSL/TLS related `SSL_*' environment variables.
  #     Per default this exportation is switched off for performance reasons,
  #     because the extraction step is an expensive operation and is usually
  #     useless for serving static content. So one usually enables the
  #     exportation for CGI and SSI requests only.
  #   o StrictRequire:
  #     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
  #     under a "Satisfy any" situation, i.e. when it applies access is denied
  #     and no other module can change it.
  #   o OptRenegotiate:
  #     This enables optimized SSL connection renegotiation handling when SSL
  #     directives are used in per-directory context.
  #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
  <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
  </FilesMatch>
  <Directory /usr/lib/cgi-bin>
    SSLOptions +StdEnvVars
  </Directory>

  #   SSL Protocol Adjustments:
  #   The safe and default but still SSL/TLS standard compliant shutdown
  #   approach is that mod_ssl sends the close notify alert but doesn't wait for
  #   the close notify alert from client. When you need a different shutdown
  #   approach you can use one of the following variables:
  #   o ssl-unclean-shutdown:
  #     This forces an unclean shutdown when the connection is closed, i.e. no
  #     SSL close notify alert is send or allowed to received.  This violates
  #     the SSL/TLS standard but is needed for some brain-dead browsers. Use
  #     this when you receive I/O errors because of the standard approach where
  #     mod_ssl sends the close notify alert.
  #   o ssl-accurate-shutdown:
  #     This forces an accurate shutdown when the connection is closed, i.e. a
  #     SSL close notify alert is send and mod_ssl waits for the close notify
  #     alert of the client. This is 100% SSL/TLS standard compliant, but in
  #     practice often causes hanging connections with brain-dead browsers. Use
  #     this only for browsers where you know that their SSL implementation
  #     works correctly.
  #   Notice: Most problems of broken clients are also related to the HTTP
  #   keep-alive facility, so you usually additionally want to disable
  #   keep-alive for those clients, too. Use variable "nokeepalive" for this.
  #   Similarly, one has to force some clients to use HTTP/1.0 to workaround
  #   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
  #   "force-response-1.0" for this.
  BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
  # MSIE 7 and newer should be able to use keepalive
  BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

</VirtualHost>
</IfModule>
 



mon ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
NameVirtualHost *:443    
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>



merci tout plein pour votre aide cool

Totophe56

Dernière modification par totophe56 (10-11-2014 20:42:27)

Hors ligne

#2 09-11-2014 09:19:08

deuchdeb
Moderato ma non troppo
Distrib. : Debian11-KDE-Plasma, LinuxMintCinnamon, DFLinux11
Noyau : Noyau stable
(G)UI : KDE Plasma 5.20
Inscription : 13-01-2010
Site Web

Re : etherpad + virtualhost apache2 [résolu]

Bonjour,

Je débute avec les serveurs apache et donc je vais peut être te poser une question qui n'a pas de sens.
Je suis en plein dans les doc.

Dans tes fichiers ports.conf et Virtualhost je ne vois pas ce qui concerne le port 9001 est-ce normal?

Une fleur, c'est magique non? smile
Association Debian Facile

Hors ligne

#3 09-11-2014 11:33:27

totophe56
Membre
Distrib. : Buster 64 bits
Noyau : Linux 5.10.0-20-amd64
(G)UI : KDE
Inscription : 22-07-2010

Re : etherpad + virtualhost apache2 [résolu]

deuchdeb a écrit :

Bonjour,

Je débute avec les serveurs apache et donc je vais peut être te poser une question qui n'a pas de sens.
Je suis en plein dans les doc.

Dans tes fichiers ports.conf et Virtualhost je ne vois pas ce qui concerne le port 9001 est-ce normal?



Je pense que oui c'est normal, étant donné que le nom de domaine redirigé l'est sur le port 80 et qu'ensuite on va chercher le port du service demandé non ?

c'est certainement là dessus que je bloque sad

Hors ligne

#4 09-11-2014 23:01:17

raleur
Membre
Inscription : 03-10-2014

Re : etherpad + virtualhost apache2 [résolu]

Tu bloques au mauvais endroit.
Etherpad et apache sont deux services totalement indépendants, qui écoutent sur des ports distincts et n'ont aucune interaction l'un avec l'autre.

Rétablissons les faits.
Un nom de domaine ne redirige (ou est redirigé vers) rien, et surtout pas vers un port. Un nom de domaine pointe vers une adresse IP. Cette adresse appartient à un serveur, et ce serveur héberge des services qui écoutent sur divers ports (et éventuellement diverses adresses locales).
Apache écoute sur les ports 80 et 443.
Etherpad écoute sur le port 9001, d'après ce que tu écris.
La définitions des virtualhosts ne concerne qu'apache et n'a aucune incidence sur etherpad.

Qu'entends-tu exactement par "la création de virtualhosts" ? Qu'as-tu modifié ?
Ne pas confondre nom de domaine (notion DNS) avec virtualhost (notion de site dans apache).
Que donne la commande suivante

tcptraceroute mondomaine1.com 9001


en local et depuis l'extérieur ?


Il vaut mieux montrer que raconter.

Hors ligne

#5 10-11-2014 01:50:54

totophe56
Membre
Distrib. : Buster 64 bits
Noyau : Linux 5.10.0-20-amd64
(G)UI : KDE
Inscription : 22-07-2010

Re : etherpad + virtualhost apache2 [résolu]

raleur a écrit :

Tu bloques au mauvais endroit.
Etherpad et apache sont deux services totalement indépendants, qui écoutent sur des ports distincts et n'ont aucune interaction l'un avec l'autre.

Rétablissons les faits.
Un nom de domaine ne redirige (ou est redirigé vers) rien, et surtout pas vers un port. Un nom de domaine pointe vers une adresse IP. Cette adresse appartient à un serveur, et ce serveur héberge des services qui écoutent sur divers ports (et éventuellement diverses adresses locales).
Apache écoute sur les ports 80 et 443.
Etherpad écoute sur le port 9001, d'après ce que tu écris.
La définitions des virtualhosts ne concerne qu'apache et n'a aucune incidence sur etherpad.

Qu'entends-tu exactement par "la création de virtualhosts" ? Qu'as-tu modifié ?
Ne pas confondre nom de domaine (notion DNS) avec virtualhost (notion de site dans apache).
Que donne la commande suivante

tcptraceroute mondomaine1.com 9001


en local et depuis l'extérieur ?



tcptraceroute http://mondomaine1:9001/

http://mondomaine1:9001/: Nom ou service inconnu
Cannot handle "host" cmdline arg `http://mondomaine1:9001/' on position 1 (argc 4)



la même chose pour les deux

j'ai fais un scan avec zenmap de l'extérieur et en local

mon port 9001 est bien reconnu ouvert en local mais pas à distance
est est de par le fait fonctionnel en local mais pas à distance

je reprécise que les tests ont été faits avec parefeu désactivé + DMZ sur la box + NAT sur le routeur des fois que ..

j'ai entrevu mon etherpad à distance sur des tests qui faisaient sauter le documentroot de mes sites vhosts donc leur affichage propre (que je n'arrive pas à reproduire d'ailleurs lol )

merci pour toute aide que vous pourriez me donner cool

Hors ligne

#6 10-11-2014 12:15:39

raleur
Membre
Inscription : 03-10-2014

Re : etherpad + virtualhost apache2 [résolu]

totophe56 a écrit :

tcptraceroute http://mondomaine1:9001/


Ce n'est pas la commande que j'ai demandée. Vérifie la syntaxe de tcptraceroute, il ne prend pas un URL mais un nom d'hôte ou une adresse IP et un numéro de port destination.

Si le scan depuis l'intérieur indique que le port 9001 n'est pas ouvert, c'est que la DMZ ne fonctionne pas et qu'il faut faire une redirection du port explicite dans la configuration NAT de la box, ou ques règles iptables du serveur bloquent l'accès à ce port depuis l'extérieur.

Tu parles de la box et du routeur, s'agit-il du même appareil ou de deux appareils distincts en cascade ? Dans le second cas, s'ils font du NAT tous les deux (box en mode "routeur") il faut définir la DMZ ou la redirection de port sur les deux.

Dernière modification par raleur (10-11-2014 12:17:03)


Il vaut mieux montrer que raconter.

Hors ligne

#7 10-11-2014 19:30:03

totophe56
Membre
Distrib. : Buster 64 bits
Noyau : Linux 5.10.0-20-amd64
(G)UI : KDE
Inscription : 22-07-2010

Re : etherpad + virtualhost apache2 [résolu]

Pour y aller dans le bon sens big_smile

en local

tcptraceroute mondomaine1.com

traceroute to mondomaine1.com (127.0.0.1), 30 hops max, 60 byte packets
 1  localhost (127.0.0.1) <syn,ack>  0.090 ms  0.023 ms  0.019 ms
 



depuis l'extérieur

tcptraceroute mondomaine1.com
traceroute to mondomaine1.com (86.214.233.10), 30 hops max, 60 byte packets
 1  livebox.home (192.168.1.1)  1.872 ms  3.159 ms  4.406 ms
 2  80.10.127.103 (80.10.127.103)  35.580 ms  46.255 ms  47.542 ms
 3  10.125.22.202 (10.125.22.202)  49.829 ms  51.594 ms  52.949 ms
 4  80.10.127.97 (80.10.127.97)  54.430 ms  56.019 ms  57.697 ms
 5  ARennes-656-1-309-10.w86-214.abo.wanadoo.fr (86.214.233.10)  79.142 ms  81.221 ms  82.953 ms
 6  ARennes-656-1-309-10.w86-214.abo.wanadoo.fr (86.214.233.10) <syn,ack>  101.896 ms  66.277 ms  67.498 ms
 



J'ai donc une livebox qui fait office de passerelle, serveur en ip fixe

pour les tests :
-parefeu debian désactivé
-DMZ sur la livebox sur l'adresse ip de mon serveur + regles nat sur la livebox pour les ports 80 8080 443 21 9001 + mon port ssh

avez zenmap

en local

Scanning mondomaine1.com (127.0.0.1) [1000 ports]
Discovered open port 25/tcp on 127.0.0.1
Discovered open port 111/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 445/tcp on 127.0.0.1
Discovered open port 139/tcp on 127.0.0.1
Discovered open port 21/tcp on 127.0.0.1
Discovered open port 3306/tcp on 127.0.0.1
Discovered open port 901/tcp on 127.0.0.1
Discovered open port 9001/tcp on 127.0.0.1
Discovered open port 5432/tcp on 127.0.0.1
Discovered open port 631/tcp on 127.0.0.1
 



à distance

Scanning mondomaine1.com (86.214.233.10) [1000 ports]
Discovered open port 445/tcp on 86.214.233.10
Discovered open port 21/tcp on 86.214.233.10
Discovered open port 80/tcp on 86.214.233.10
Discovered open port 443/tcp on 86.214.233.10
Discovered open port 111/tcp on 86.214.233.10
Discovered open port 139/tcp on 86.214.233.10



sur la livebox en + de la DMZ

14111007282316858812693458.png

Hors ligne

#8 10-11-2014 20:39:37

totophe56
Membre
Distrib. : Buster 64 bits
Noyau : Linux 5.10.0-20-amd64
(G)UI : KDE
Inscription : 22-07-2010

Re : etherpad + virtualhost apache2 [résolu]

en fait le soucis se situait au niveau du fichier de configuration settings.json d'etherpad

il faut laisser la partie

//IP and port which etherpad should bind at
  "ip": "0.0.0.0",
  "port" : 9001,
 



et ne pas modifier la partie IP à 127.0.0.1 ou mondomaine1 comme stipulé dans certains tutos vus sur la toile tongue

supprimé la DMZ et laissé les règle nat et ça fonctionne

Merci pour vos conseils cool

Hors ligne

#9 10-11-2014 23:41:25

raleur
Membre
Inscription : 03-10-2014

Re : etherpad + virtualhost apache2 [résolu]

totophe56 a écrit :

tcptraceroute mondomaine1.com


Ce n'est toujours pas la commande que j'ai demandée : il manque le port 9001. Si tu es aussi approximatif dans la configuration de ton serveur, pas étonnant que ça te joue des tours.

Je m'inscris en faux à ton affirmation initiale selon laquelle "etherpad a été fonctionnel depuis l'extérieur avant la création de virtualhosts". Avec une adresse d'écoute à 127.0.0.1, ce n'est tout simplement pas possible.

Accessoirement, tu ne devrais pas associer tes noms de domaine à l'adresse locale 127.0.0.1 dans ton fichier /etc/hosts, ça te jouera encore des tours comme celui-ci. Au pire associe-les à plutôt l'adresse du serveur sur le LAN.


Il vaut mieux montrer que raconter.

Hors ligne

#10 10-11-2014 23:47:58

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : etherpad + virtualhost apache2 [résolu]

Pour info, une config permettant à un virtualhost apache2 de servir un etherpad sur (par exemple) le port 80 (en parallèle avec d'autre vhosts) :

<VirtualHost *:80>
        ServerAdmin webmaster@example.com
        ServerName collab.example.com

        ProxyVia On
        ProxyRequests Off
        ProxyPass / http://127.0.0.1:9001/
        ProxyPassReverse / http://127.0.0.1:9001/
        ProxyPreserveHost on
        <Proxy *>
          Options FollowSymLinks MultiViews
          AllowOverride All
          Order allow,deny
          allow from all
        </Proxy>
        ErrorLog /var/log/apache2/com.example.collab-error.log
        LogLevel warn
        CustomLog /var/log/apache2/com.example.collab.ssl-access.log combined
</VirtualHost>
 



La config est adaptable à n'importe quel port, tu peux transformer ça en vhost SSL si tu veux. De plus, un des avantages, c'est que tu peux garder ton etherpad avec une config native n'écoutant que sur 127.0.0.1.


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#11 11-11-2014 01:59:34

totophe56
Membre
Distrib. : Buster 64 bits
Noyau : Linux 5.10.0-20-amd64
(G)UI : KDE
Inscription : 22-07-2010

Re : etherpad + virtualhost apache2 [résolu]

raleur a écrit :

totophe56 a écrit :

tcptraceroute mondomaine1.com


Ce n'est toujours pas la commande que j'ai demandée : il manque le port 9001. Si tu es aussi approximatif dans la configuration de ton serveur, pas étonnant que ça te joue des tours.


effectivement ça m'arrive de lire de travers lol
mais pour un autodidacte approximatif je dépatouille quand même pas trop mal big_smile

raleur a écrit :


Je m'inscris en faux à ton affirmation initiale selon laquelle "etherpad a été fonctionnel depuis l'extérieur avant la création de virtualhosts". Avec une adresse d'écoute à 127.0.0.1, ce n'est tout simplement pas possible.



je suis d'accord avec toi, sur une des configs en passant je l'ai eu fonctionnel et ça ne devait pas être avec 127.0.0.1, il y a beaucoup de tutos ou de messages qui se ressemblent mais à si petite chose fait que cela ne fonctionne plus

raleur a écrit :


Accessoirement, tu ne devrais pas associer tes noms de domaine à l'adresse locale 127.0.0.1 dans ton fichier /etc/hosts, ça te jouera encore des tours comme celui-ci. Au pire associe-les à plutôt l'adresse du serveur sur le LAN.


je fais de suite et teste wink

Merci pour ta patiente cool

Hors ligne

#12 11-11-2014 02:04:21

totophe56
Membre
Distrib. : Buster 64 bits
Noyau : Linux 5.10.0-20-amd64
(G)UI : KDE
Inscription : 22-07-2010

Re : etherpad + virtualhost apache2 [résolu]

captnfab a écrit :

Pour info, une config permettant à un virtualhost apache2 de servir un etherpad sur (par exemple) le port 80 (en parallèle avec d'autre vhosts) :

<VirtualHost *:80>
        ServerAdmin webmaster@example.com
        ServerName collab.example.com

        ProxyVia On
        ProxyRequests Off
        ProxyPass / http://127.0.0.1:9001/
        ProxyPassReverse / http://127.0.0.1:9001/
        ProxyPreserveHost on
        <Proxy *>
          Options FollowSymLinks MultiViews
          AllowOverride All
          Order allow,deny
          allow from all
        </Proxy>
        ErrorLog /var/log/apache2/com.example.collab-error.log
        LogLevel warn
        CustomLog /var/log/apache2/com.example.collab.ssl-access.log combined
</VirtualHost>
 



La config est adaptable à n'importe quel port, tu peux transformer ça en vhost SSL si tu veux. De plus, un des avantages, c'est que tu peux garder ton etherpad avec une config native n'écoutant que sur 127.0.0.1.


Merci Captnfab:cool:

je mets ça bien au chaud, j'ai tourné en rond et en ai testé plusieurs qui entraient en conflit avec les autres vhosts big_smile

sinon 127.0.0.1 ou adresse ip fixe de la machine ? comme conseillé par Raleur ? smile

sachant que l'adresse ip de conf d'etherpad est 0.0.0.0 neutral

Hors ligne

#13 11-11-2014 10:45:18

raleur
Membre
Inscription : 03-10-2014

Re : etherpad + virtualhost apache2 [résolu]

L'adresse 0.0.0.0 est une adresse locale (bind) particulière qui signifie "n'importe quelle adresse locale de la machine". C'est généralement la valeur par défaut si on ne spéficie rien. Tu peux la mettre dans la configuration de tes services qui seront ainsi accessibles aussi bien sur une adresse de loopback 127.x.y.z (en local seulement) que sur l'adresse IP fixe de l'interface ethernet (en local ou depuis le LAN, et indirectement depuis l'extérieur via la redirection de port de la box).

Par contre dans le fichier hosts il ne faut pas utiliser 0.0.0.0, ce n'est pas une adresse de destination valide. Pour les noms de domaines accessibles de l'extérieur, il vaut mieux indiquer l'adresse LAN, ainsi les tests locaux permettront plus facilement de détecter un défaut de configuration d'un service comme ici.

La suggestion de captnfab pour accéder à etherpad via apache en mode reverse proxy est séduisante : en plus d'un certain contrôle, cela te permet d'y accéder via un sous-domaine spécifique à définir (ici collab.example.com) plutôt qu'un numéro de port non standard (ce qui peut être problématique avec certains pare-feu ou proxys). Transitoirement, les deux méthodes ne sont pas exclusives.

Dernière modification par raleur (11-11-2014 10:46:00)


Il vaut mieux montrer que raconter.

Hors ligne

#14 13-11-2014 01:59:43

totophe56
Membre
Distrib. : Buster 64 bits
Noyau : Linux 5.10.0-20-amd64
(G)UI : KDE
Inscription : 22-07-2010

Re : etherpad + virtualhost apache2 [résolu]

merci pour toutes ces précisions cool

Hors ligne

Pied de page des forums