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 2006nicolas-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
> Lire le message (6 commentaires, moyenne: 1).
document root
à 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
petits trucs
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)...
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 !
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.
-
[^]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 ?
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.web



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.