Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/11/2021, à 01:19

candidou

[Résolu] - blocage avec virtual host - Mise place d'un Env de dev

Bonjour,

dans le cadre d'un souhait d'ajout de fonctionnalité sur un site web en Grav, on me propose de développer mon propre plugin, avec plusieurs pistes et directives, puis charge à moi de finaliser et peaufiner selon mes goûts ...

Le challenge est corsé, mais j'ai décidé de le relevé.

Et pour cela, il me faut mettre en place un environnement de dev.

J'ai installé LAMP et je crois qu'il est fonctionnel (J’imagine que vous saurez me demander le retour de telle ou telle ligne de commande pour le confirmer).

J'ai opté pour un IDE (NetBeans 12.5) en me disant que ça serait plus simple.
Je suis ce Tutoriel en anglais, et comme ils l'annonce, c'est pas super à jour !

Mon blocage du moment, c'est sur le Virtual Host, au niveau de cette partie du tutoriel :

Specifying the Document Root for the Apache2 HTTP Server

comme mes fichiers ne ressemblait pas trop à leurs exemple, j'ai chercher ailleurs, mais je me suis sans doute emmêlé les pinceaux, et ça marche pas.

Merci pour vos lumières !

Dernière modification par candidou (Le 16/11/2021, à 00:17)

Hors ligne

#2 Le 15/11/2021, à 19:34

bruno

Re : [Résolu] - blocage avec virtual host - Mise place d'un Env de dev

Bonjour,

Il faut déjà commencer par installer une pile LAMP en se référant à la doc lamp, apache2, etc. . Tu y trouveras toutes les indications pour vérifier que ton installation et fonctionnelle et pour configurer un hôte virtuel
Ensuite je ne vois pas l'interêt d'installer un usine à gaz comme NetBeans pour un peu de développement PHP. Surtout en suivant un tutoriel totalement obsolète et inadapté.

#3 Le 15/11/2021, à 20:08

candidou

Re : [Résolu] - blocage avec virtual host - Mise place d'un Env de dev

Bonjour Bruno, tu as sans doute raison smile

mais comme je suis un grand débutant, je me suis dit qu'un IDE m'offrirait un cadre d'apprentissage.

Que me conseille tu ?

Pour la pile LAMP, je crois que c'est bon :

didou@L-indispensable-HP-Pavilion-dv5-Notebook-PC:~$ sudo apache2ctl -t
[sudo] Mot de passe de didou : 
Syntax OK
didou@L-indispensable-HP-Pavilion-dv5-Notebook-PC:~$
didou@L-indispensable-HP-Pavilion-dv5-Notebook-PC:~$ sudo apache2ctl -t -D DUMP_VHOSTS
VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server localhost (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost allo-brico.org (/etc/apache2/sites-enabled/allo-brico.org.conf:1)
                 alias www.allo-brico.org
didou@L-indispensable-HP-Pavilion-dv5-Notebook-PC:~$ 
didou@L-indispensable-HP-Pavilion-dv5-Notebook-PC:~$ sudo apache2ctl -M
Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 php7_module (shared)
 reqtimeout_module (shared)
 setenvif_module (shared)
 status_module (shared)
didou@L-indispensable-HP-Pavilion-dv5-Notebook-PC:~$

avec ça, quand je pointe mon navigateur vers
    http://127.0.0.1/
    http://localhost
j'ai la bonne page des exemples;
It works !
mais quand je pointe vers allo-brico.org, là ...

Pour info :
/etc/apache2/sites-enabled/allo-brico.org.conf

<VirtualHost *:80>
	
	ServerName allo-brico.org
	ServerAlias www.allo-brico.org
	ServerAdmin webmaster@allo-brico.org
	DocumentRoot /var/www/allo-brico.org/public_html

	<Directory /var/www/allo-brico.org/public_html>
		Options -Indexes +FollowSymLinks
		AllowOverride All
	</Directory>

	ErrorLog ${APACHE_LOG_DIR}/allo-brico.org-error.log
	CustomLog ${APACHE_LOG_DIR}/allo-brico.org-access.log combined

</VirtualHost>

et
/var/www/allo-brico.org/public_html/index.html

<!DOCTYPE html>
<html lang="fr" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Bienvenue sur allo-brico.org</title>
  </head>
  <body>
    <h1>C'est bon! On est sur la page d'acceuil de allo-brico.org!</h1>
  </body>
</html>

Dernière modification par candidou (Le 15/11/2021, à 21:01)

Hors ligne

#4 Le 15/11/2021, à 22:27

soshy

Re : [Résolu] - blocage avec virtual host - Mise place d'un Env de dev

Salut,
pour l'éditeur tu peux prendre vscode. Une fois installé tu lui ajoutes les quelques plugins php que tout le monde utilise (tu vois le nombre d'install par plugin dans la liste des résultats) et ça devrait rouler.

Pour ton histoire de vhost, en supposant que ta conf soit bonne, il faut aussi que le nom de domaine pointe vers l'ip du serveur. Donc soit tu rajoutes une ligne à /etc/hosts pour que lorsque tu ping sur allo-brico.org et(/ou ?) www.allo-brico.org ça dise que 127.0.0.1 a bien répondu.
Ou alors que tu changes le nom du vhost par un truc du style allo-brico.localhost car ce qui fini en .localhost est normalement automatiquement résolu vers le localhost (ta propre machine).

Hors ligne

#5 Le 16/11/2021, à 00:01

candidou

Re : [Résolu] - blocage avec virtual host - Mise place d'un Env de dev

VScode, oui j'ai jut ça ailleurs, je vais aller voir.
merci pour les tips pour les modules PHP

soshy a écrit :

en supposant que ta conf soit bonne,

Comment le vérifier ?

soshy a écrit :

soit tu rajoutes une ligne à /etc/hosts pour que lorsque tu ping sur allo-brico.org et(/ou ?) www.allo-brico.org ça dise que 127.0.0.1 a bien répondu

j'avais essayé ça mais dans le tuto ils disait de mettre l'adresse IP de la machine, j'ai cherché l'IP de mon PC avec ce site et au final ça marchait pas... donc c'est 127.0.0.1 qu'il faut mettre ?

soshy a écrit :

Ou alors que tu changes le nom du vhost par un truc du style allo-brico.localhost car ce qui fini en .localhost est normalement automatiquement résolu vers le localhost (ta propre machine)

C'est quoi pour toi le nom du Vhost ?

ServerName ?

le nom du fichier.conf ?

bon du coup, j'ai tout mis en allo-brico.localhost

et en allant sur http://allo-brico.localhost/

ça marche !

Dernière modification par candidou (Le 16/11/2021, à 00:15)

Hors ligne

#6 Le 16/11/2021, à 01:57

soshy

Re : [Résolu] - blocage avec virtual host - Mise place d'un Env de dev

candidou a écrit :

j'avais essayé ça mais dans le tuto ils disait de mettre l'adresse IP de la machine, j'ai cherché l'IP de mon PC avec ce site et au final ça marchait pas... donc c'est 127.0.0.1 qu'il faut mettre ?

C'est en lisant ça qu'on se rend compte qu'il y a du travail roll

Je vais essayer de te faire un condensé...

Les machines discutent entre elles en s'adressant à des adresses IP. Comme c'est pas pratique pour les humains de retenir une série de nombres, on a inventé les nom de domaine. Lorsque tu demandes à la machine un nom de domaine (ex : www.google.fr), la première chose qu'elle fait, c'est chercher à quelle IP elle doit s'adresser, et ensuite seulement, la requête et envoyée puis une réponse est reçue. Le fichier /etc/host est la première étape permettant de chercher une correspondance. Donc si dedans tu dis que www.google.fr correspond à une IP qui n'est pas celle de google, tu "casses google" sur ta machine, puisqu'elle n'est plus capable de s'adresser a la vraie machine www.google.fr

Ensuite, les vhost, c'est un truc un peu sioux... Quand tu fais une requête http, la requête inclue l'adresse que tu veux accéder (ilttérallement ce qu'il y a dans la barre d'adresse du navigateur par exemple). Si c'est une ip (ex: http://83.221.4.1) la requete va directe au serveur 83.221.4.1. Si c'est un nom de domaine (http://www.google.fr) la machine cherche l'ip puis ensuite envoie la requête au serveur en disant que tu veux le site www.google.fr. Et c'est là que le vhost entre en jeu. Une même IP peut servir plusieurs sites différent en fonction du domaine (du vhost) qui est demandé. Apache va chercher si il a un vhost correspondant au domaine demandé et répondre avec ce vhost là. Si aucune correspondance n'est trouvé, il va servir le défaut.

En espérant avoir été clair smile

Hors ligne