7921 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

Je ne connais pas Laragon, mais la cause des virtual hosts en délire est probablement ceci:

a écrit :
Si je vais dans les préférences Laragon : « créer automatiquement des hôtes virtuels » est coché
Nom hôtes : {name}.


Y'a-t-il un moyen dans Laragon de supprimer les hôtes virtuels créés par erreur?
Lorsque je suis dans le dossier apache2 -> sites-enabled
J’ai 4 fichiers :
- 00-default.conf
-auto.wp-admin..conf
-auto.wp-content..conf
-auto.wp-includes..conf

Que dois-je en faire ?

Si je vais dans les préférences Laragon : « créer automatiquement des hôtes virtuels » est coché
Nom hôtes : {name}.
Faut-il le laisser coché ?
Si non et si je décoche, dois réinstaller mon site pour que se soit pris en compte ?


Lorsque je vais dans ma base de données wp_options
- Option_id est coché par défaut en auto
- Je ne peux pas cocher option_name
En effet tu as un peu de bazar au niveau des vhosts.

Si tu enlève l'option pour " créer automatiquement des hôtes virtuels " cela signifie que tu devras faire la configuration à la main.

Pour cela sur windows il faut éditer le fichier hosts qui se trouve à l'adresse :
C:\Windows\System32\drivers\etc\hosts

Dans ce fichier tu dois avoir ou ajouter les lignes :

127.0.0.1       localhost
::1             localhost


cela va permettre a http://localhost de pointer vers ton serveur local si ce n'est pas déjà fait

Pour tes fichiers dans sites-enabled, tu peux supprimer auto.wp-content..conf et auto.wp-includes..conf.

Ton fichier auto.wp-admin..conf tu peux le renommer en 01-localhost.conf (ou comme tu veux c'est juste pour t'y retrouver plus tard). Ensuite il faut éditer ce fichier et y remplacer ServerName wp-admin. par ServerName localhost


<VirtualHost *:8080> 
    DocumentRoot "D:/laragon/www/"
    ServerName localhost
    <Directory "D:/laragon/www/">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>


Quelque points :
VirtualHost *:8080 -> c'est le port que tu a mis pour apache
ServerName localhost -> cela signifie que ce vhost sera utilisé lorsque tu te rends à l'adresse http://localhost
DocumentRoot "D:/laragon/www/" -> le chemin vers ton site sur ta machine. A priori pour toi cette valeur devrait déjà être ok vu que tu accédais à ton site depuis ce vhost
<Directory "D:/laragon/www/"> -> même chose

Enfin il faut redémarrer apache. Stop / Start all depuis l'interface de laragon.
Dans le fichier host qui se trouve windows
hosts
Dois-je supprimer les lignes :
- wp-admin, content, includes ?

- Dois-je laisser # devant localhost ?
# 127.0.0.1 localhost
# ::1 localhost

127.0.0.1 wp-admin. #laragon magic!
127.0.0.1 wp-content. #laragon magic!
127.0.0.1 wp-includes. #laragon magic!

Pour les fichiers sites-enabled le fichier renommé 01-localhost.conf lorsque j’édite Il y a pour les lignes à remplacer :
- ServerName ${SITE}
Dois-je changer ça ?

Dans ma base de données, mon site -> wp_options -> option name
Quelle est la différence entre : site url et home ? Aux deux j’ai mis http://localhost:8080
À présent l’url est bien http://localhost:8080
Alléluia...!

Actuellement j’utilise un plugin pour changer l’adresse du wp-admin. Au lieu d’utiliser un plugin si je change directement dans ma base de données, mon site -> wp_options -> option name
site url et home aux deux je mets par exemple http://localhost:8080/motdepasse

lorsqu’on rentrera dans le navigateur on n’aura pas accès au backend via http://localhost:8080/wp-admin mais on y aura bien accès via http://localhost:8080/motdepasse ?

Si oui quand je mettrais le site en ligne locolhost sera-t-il remplacé automatiquement par https://nomdusite.fr/motdepasse ?
Merci pour votre soutien -)
le # signifie que la ligne est commenté donc il faut les enlever

Et effectivement dans le fichier host tu as ces lignes :
127.0.0.1 wp-admin. #laragon magic!

qui sont spécifiques à laragon. En gros laragon fait sensiblement la même chose que je t'ai décrit plus haut a savoir ajouter un host au fichier host de windows et créer un virtual host au niveau de apache. Donc tu peux le faire soit à la main soit avec l'option automatique de laragon.

Le #laragon magic! sert pour l'option automatique a créer une url du type {name}.local (selon ce qui est configuré dans les préférences à côté de auto virtual host) pour avoir des urls type monsite.local donc si tu veux uniquement localhost comme url il vaut mieux créer toi-même ton vhost.

ServerName ${SITE} sert aussi pour l'option automatique donc à remplacer par ServerName localhost

Tu peux supprimer les lignes qui ne t'intéressent plus dans le fichier host de windows ce n'est pas un souci.

--

Concernant wordpress si tu veux modifier l'url / changer de serveur. Il faut rechercher remplacer toutes les urls dans ta base de donnée (sur une copie hein Smiley cligne )

En remplaçant :
http://localhost:8080
par :
http://monsite.com
(par exemple)

Le problème en faisant ça c'est que tu peux perdre certaines données si ton site utilises des champs sérialisés via des widget ou des plugins. Mais tu peux résoudre ce problème avec des plugins comme : https://fr.wordpress.org/plugins/wp-migrate-db/ (toujours conserver une copie de la base avant de faire ça Smiley cligne )

C'est pour ça qu'il faut faire très attention en déplaçant ton site / changeant de serveur à pas trop faire de la patouille !

Ensuite il faut uploader la base / ton site chez ton hébergeur, remettre les bons identifiants de la base dans wp-config.php et se connecter à l'admin puis visiter réglages -> permaliens pour reconstruire les urls.

Après tout dépend des plugins utilisés mais 99% du temps cela suffit pour déplacer un site wp.
Avec Laragon quand je créé un nouveau site sans l'option pour " créer automatiquement des hôtes virtuels ", je dois aller dans C:\Windows\System32\drivers\etc\hosts

Créer un fichier « hots» pour chaque site ? (« hots» - « hots01» - « hots02» - etc…)
Dans ce fichier j’écris :


127.0.0.1       localhost
::1             localhost


Rien de plus


Ensuite dans le dossier sites-enabled, je crée un fichier « 02-localhost.conf » dans lequel il a


<VirtualHost *:8080> 
    DocumentRoot "D:/laragon/www/monsite"
    ServerName localhost
    <Directory "D:/laragon/www/monsite">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>


Exactement comme ceci avec rien de plus ?

Merci.
Pour windows il n'y a qu'un seul fichier hosts donc il faut juste ajouter de nouvelles lignes :


127.0.0.1       localhost
127.0.0.1       site.local
127.0.0.1       tata.yoyo


d'ailleurs tu peux cliquer sur le petit 'h' en haut à droite de laragon pour y accéder facilement.

Et pour faire un vhost au niveau de apache tu crées bien un nouveau fichier avec par exemple pour site.local :


<VirtualHost *:8080> 
    DocumentRoot "D:/laragon/www/site.local"
    ServerName site.local
    <Directory "D:/laragon/www/site.local">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>


Ensuite tu redémarres apache et tu auras accès à ton site local en tapant : http://site.local:8080

Note que cette manière de procéder n'est pas spécifique à laragon. Mamp, xampp, etc fonctionnent de la même manière