Retourner aux forums || Retourner au forum Programmation.web

Programmation.web : Ubuntu, Apache2 et, surtout, des VirtualHost qui ne marchent pas

Posté par Nicolas Delsaux (page perso, ) le 26 septembre 2006
0
Salut, sur mon Apache2 de chez moi, je cherche à faire pointer deux adresses dyndns vers deux parties :
nicolas-delsaux.is-a-geek.net vers mes applications PHP & co qui marchent (hébergées sous /var/www/site)
nicolas-delsaux.homelinux.net vers mes tentatives d'utilisation de Ruby et Rails (hébergées sous /var/www/ror)
J'ai donc modifié mon ports.conf comme ça :

Listen 80
NameVirtualHost *:80
Listen 443
# Listen 8080


et mon fichier default dans le dossier sites-available (enfin, le lien dans ce site vers le fichier dans sites-enabled) comme ça :

<VirtualHost *:80>
ServerName nicolas.delsaux.is-a-geek.net

DocumentRoot /var/www/site
#
# Options FollowSymLinks
# AllowOverride None
#
<Directory /var/www/site>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/


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


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
ServerSignature On

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


</VirtualHost>

<VirtualHost *:80>
ServerName nicolas-delsaux.homelinux.net
DocumentRoot /home/nicolas
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>


Le proxypass et proxypass reverse m'a été indiqué par le site http://schwuk.com/articles/2006/06/13/hosting-rails-applicat(...) comme un moyen d'utiliser Rails dans un contexte Apache.

Le problème, c'est que, quand je tape http://nicolas-delsaux.homelinux.net, je tombe sur les pages de http://nicolas-delsaux.is-a-geek.net alors qu'il devrait m'afficher la page d'accueil des applications Rails (auxquelles j'accède sans problème quand je fais un http://localhost:3000).

Alors, que faire ? Envoyer des pages web imprimées par la poste ? Me reconvertir dans la rédaction de textes pour quildes de voleurs ? Ne surtout pas vivre de temps intéressants ? J'y pense, mais bon, c'est moins bien ...

J'imagine qu'il s'agit d'une erreur bête, mais est-ce que vous pourriez me dire laquelle ?

Cela étant ... linuxfr traite plutôt comme un chien les éléments de mon fichier de conf

--
"Putain, mais quelle fichue imagination je peux avoir ! ..."
John Brunner - Tous à Zanzibar
> Lire le message (6 commentaires, moyenne: 1).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

document root

Posté par B. franck () le 27/09/2006 à 06:11. (lien). Évalué à 1.

à priori le documentroot de ror n'est pas bon, il devrait pointer sur /var/www/ror non ?

  • [^]Re: document root

    Posté par Nicolas Delsaux (page perso, ) le 28/09/2006 à 10:35. (lien). Évalué à 1.

    Si, mais c'était juste un test, je vais le remettre comme il faut

    --
    "Putain, mais quelle fichue imagination je peux avoir ! ..."
    John Brunner - Tous à Zanzibar

petits trucs

Posté par nullard3d () le 27/09/2006 à 09:48. (lien). Évalué à 1.

Désolé, je ne crois pas avoir la réponse miracle. Juste quelques indices :
- aucune des balise <Directory> n'est fermée, j'imagine que ça vient de linuxfr et de son chien :)
- n'oublie pas le "ProxyRequests Off". Dans le cas contraire, tu ferais un joli proxy ouvert.
- ça ne change théoriquement rien mais c'est plus pratique de mettre un site par fichier dans /etc/apache2/sites-available et de l'activer/désactiver par a2ensite/a2dissite
- j'ai toujours mis le NameVirtualHost juste avant la déclaration du premier virtualhost (qui est celui par défaut) mais je ne vois pas en quoi ça changerait grand chose
- vérifier que les modules "proxy" et "proxy_html" sont chargés

'apache2ctl configtest' et '/etc/init.d/apache2 reload' ne renvoient vraiment rien ?

ma technique (et celle officielle)...

Posté par NeoX () le 27/09/2006 à 18:36. (lien). Évalué à 1.

la bonne methode serait de faire un fichier par site dans
/etc/apache2/sites-available/

dans chaque fichier tu fais les reglages pour chaque site
ex :


<VirtualHost *>
ServerAdmin webmaster@website.com

ServerName www.website.com
ServerAlias website.com
DocumentRoot /home/template/public_html/website
<Directory /home/template/public_html/website>
Options pour ce site


</VirtualHost>



remplacer website.com par le nom des sites
remplacer /home ... par le chemin d'acces au fichier de ce site

enfin faire un lien entre
/etc/apache2/sites-available/site_un
et
/etc/apache2/sites-enabled/site_un

et faire un restart du serveur apache.

--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux

Allelouiah !

Posté par Nicolas Delsaux (page perso, ) le 28/09/2006 à 10:44. (lien). Évalué à 1.

Merci les pingouins !
Grâce à vos conseils zéclairés, j'ai enfin un Apache qui marche d'un côté, et qui arrive également à rediriger des requêtes vers un Ruby on Rails, qui pour l'instant ne fait certes pas grand chose ...
Reste maintenant à pouvoir placer plusieurs applications Rails dans ce /var/www/ror ... A suivre, donc.

--
"Putain, mais quelle fichue imagination je peux avoir ! ..."
John Brunner - Tous à Zanzibar
  • [^]Re: Allelouiah !

    Posté par Nicolas Delsaux (page perso, ) le 28/09/2006 à 10:57. (lien). Évalué à 1.

    A croire que je suis destiné à me vautrer. En fait, ça ne marche pas du tout : au lieu de n'avoir accès qu'à mon site traditionnel, je n'ai plus accès qu'à la page d'accueil de Rails, ce qui me déplait plutôt pas mal.
    Récaapitulons :
    j'ai donc séparé mes infos dans deux fichiers de config :
    nicolas-delsaux.homelinux.net_port_80 :

    <VirtualHost *:80>
    ServerAdmin nicolas.delsaux@gmail.com

    ServerName nicolas-delsaux.homelinux.net
    DocumentRoot /var/www/ror
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
    ProxyRequests Off
    </VirtualHost>


    et

    nicolas-delsaux.is-a-geek.net_port_80

    <VirtualHost *:80>
    ServerAdmin nicolas.delsaux@gmail.com

    ServerName nicolas.delsaux.is-a-geek.net
    DocumentRoot /var/www/site
    <Directory /var/www/site>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    # Uncomment this directive is you want to see apache2's
    # default start page (in /apache2-default) when you go to /
    #RedirectMatch ^/$ /apache2-default/


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


    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
    ServerSignature Off
    </VirtualHost>


    Bon, et comme H passe avant I, je me retrouve avec seulement mon site Rails. Bizarre bizarre ...

    Je me pose une question ridiculement stupide : est-ce qu'il se pourrait que ce soit la redirection depuis dyndns qui ne marche pas si bien que ça ?

    --
    "Putain, mais quelle fichue imagination je peux avoir ! ..."
    John Brunner - Tous à Zanzibar

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.web