Mettre en ligne site web local créé avec rapsberry
Lume51 Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créé un site web en mode local avec Wordpress en utilisant un Rapsberry Pi Model 3 comme serveur. Tout fonctionne très bien. Par la même occasion, j'ai installé un cloud avec Nextcloud qui lui aussi fonctionne.
Adresses : http://192.X.X.X/wordpress et http://192.X.X.X/nextcloud
Je voudrais les mettre en ligne. La documentation ne manque pas mais je n'ai pas trouvé (ou su trouver) la bonne réponse.
J'ai une Freebox avec une Ip fixe (bien que ce soit déjà le cas avec Free) ainsi qu'un nom de domaine.
Qui aurait une réponse car je coince pour les phases suivantes.
/etc/apache2/sites-available/wordpress.conf
<VirtualHost *:80> DocumentRoot /var/www/html/wordpress/ ServerName www.XXX.fr Redirect "/" "https://XXX.fr/" <Directory /var/www/html/wordpress/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/html/wordpress SetEnv HTTP_HOME /var/www/html/wordpress </Directory> ErrorLog ${APACHE_LOG_DIR}/wordpress/error.log CustomLog ${APACHE_LOG_DIR}/wordpress/access.log combined </VirtualHost>
Merci à vous.Linux / Firefox 142.0
- Mettre en ligne site web local créé avec rapsberry
- Appdata local - Guide
- Creer un site web - Guide
- Site de telechargement - Accueil - Outils
- Web office - Guide
- Partager photos en ligne - Guide
9 réponses
Bonjour,
1. Avant de mettre en place les redirections de port, as-tu assigné une IP locale fixe pour le RPi ? Soit via DHCP (config à faire sur la box), soit en configurant une IP statique sur le RPi hors pool DHCP.
2. Puisque tu as besoin de HTTP et de HTTPS, as-tu bien mis en place les deux redirections de port (80 et 443) ? Tu montres seulement le port 443
3. Tu as partagé la configuration du VirtualHost pour HTTP, quelle est la configuration pour le HTTPS ?
4. Tu ne pourras pas vérifier le fonctionnement depuis ton propre réseau local (voir https://en.wikipedia.org/wiki/Network_address_translation#NAT_hairpinning). Il faut tester depuis un réseau extérieur (réseau mobile par exemple).
Bonjour,
Merci pour tes conseils.
1. Avant de mettre en place les redirections de port, as-tu assigné une IP locale fixe pour le RPi ? Soit via DHCP (config à faire sur la box), soit en configurant une IP statique sur le RPi hors pool DHCP.
Je viens de le faire.
2. Puisque tu as besoin de HTTP et de HTTPS, as-tu bien mis en place les deux redirections de port (80 et 443) ? Tu montres seulement le port 443
La destination est la même, le rpi.
3. Tu as partagé la configuration du VirtualHost pour HTTP, quelle est la configuration pour le HTTPS ?
Je ne vois pas comment faire. La fonctionnalité VM n'existe pas sur le Freebox Pop. Mais il se peut que je n'ai pas bien compris !
Bonjour,
Les VirtualHost sont une fonctionnalité des serveurs HTTP comme Apache ou Nginx permettant d'appliquer une configuration différente en fonction du port écouté, de l'adresse IP écoutée, et/ou du nom utilisé pour atteindre le serveur.
En l'occurrence, il te faut au moins deux VirtualHost puisque ton serveur doit écouter deux points d'entrée différents (port 80 et port 443), chacun avec une configuration différent (sans TLS et avec TLS respectivement).
Aucune configuration supplémentaire n'est requise au niveau de la box, ça se passe sur le RPi.
Bonsoir,
En l'occurrence, il te faut au moins deux VirtualHost puisque ton serveur doit écouter deux points d'entrée différents (port 80 et port 443), chacun avec une configuration différent (sans TLS et avec TLS respectivement)
Je n'ai pas vu comment configurer les deux points d'entrée sans TLS pour le port 80 et avec TLS pour le port 443.
Voici le fichier wordpress.conf situé dans /etc/apaches2/sites-available
<VirtualHost 192.168.1.250:80> DocumentRoot /var/www/html/wordpress/ ServerName www.XXX.fr Redirect / http://XXX.fr/ <Directory /var/www/html/wordpress/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/html/wordpress SetEnv HTTP_HOME /var/www/html/wordpress </Directory> ErrorLog ${APACHE_LOG_DIR}/wordpress/error.log CustomLog ${APACHE_LOG_DIR}/wordpress/access.log combined </VirtualHost> <VirtualHost 192.168.1.250:443> DocumentRoot /var/www/html/wordpress/ ServerName www.XXX.fr Redirect / https://XXX.fr/ <Directory /var/www/html/wordpress/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/html/wordpress SetEnv HTTP_HOME /var/www/html/wordpress </Directory> ErrorLog ${APACHE_LOG_DIR}/wordpress/error.log CustomLog ${APACHE_LOG_DIR}/wordpress/access.log combined </VirtualHost>
Avec la fonctionnalité Redirect activée pour les deux ports, je vois le message
Hum, nous ne parvenons pas à trouver ce site. Impossible de se connecter au serveur à l’adresse XXX.fr.
Variantes
<VirtualHost 192.168.1.250:80> Redirect / http://XXX.fr/ <VirtualHost 192.168.1.250:443> # Redirect / https://XXX.fr/
Écran blanc
<VirtualHost 192.168.1.250:80> # Redirect / http://XXX.fr/ <VirtualHost 192.168.1.250:443> Redirect / https://XXX.fr/
Le site apparaît mais sous une forme "démontée".
L'information "Connexion à 192.168.1.173" (ancienne adresse Ip du Rpi) apparaît dans le tableau de bord mais la barre d'adresse 192.168.1.250 est visible.
Les DNS
XXXb@XXX:~ $ nmcli dev show | grep DNS IP4.DNS[1]: 212.27.40.240 IP4.DNS[2]: 1.1.1.1 IP4.DNS[3]: 80.67.169.40 IP4.DNS[4]: 80.67.169.12
J'en suis là, c'est-à-dire pas très avancé malgré toutes mes recherches sur le web (essai de vider le cache des DNS (non résolu)...
Bonjour,
J'ai reconfiguré le Raspberry avec Raspberry Pi Imager ( Linux Mint 22.1) et j'ai réinstallé WP et les programmes nécessaires. Par la même occasion, j'ai installé Nextcloud pour pouvoir accéder à mon site et au cloud à distance.
/var/www/html/nextcloud /var/www/html/wordpress
Puis
sudo chmod 755 wordpress -R sudo chown www-data wordpress -R sudo chmod 755 nextcloud -R sudo chown www-data nextcloud -R
J'ai créé deux fichiers distincts :
/etc/apache2/sites-available/wordpress.conf /etc/apache2/sites-available/nexcloud.conf
J'ai modifié les droits de 000-default.conf
chown 000 000-default.conf
Lorsque je me connecte (http://192.168.1.250/), mon site apparaît avec une mise en forme "trash". Les liens renvoient vers http://192.168.1.250/wordpress avec le message :
Not Found The requested URL was not found on this server. Apache/2.4.65 (Debian) Server at 192.168.1.250 Port 80
Nextcloud n'est pas accessible et renvoie
Not Found The requested URL was not found on this server. Apache/2.4.65 (Debian) Server at 192.168.1.250 Port 80
Par contre, http://192.168.1.250/phpmyadmin fonctionne. Je soupçonne un pb de droits.
Sans succès, j'ai refait :
sudo chmod 755 wordpress -R sudo chown www-data wordpress -R sudo chmod 755 nextcloud -R sudo chown www-data nextcloud -R
puis j'ai relance apache2
wordpress.conf
<VirtualHost 192.168.1.250:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin nom_du_pi@localhost DocumentRoot /var/www/html/wordpress # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/wordpress/error.log CustomLog ${APACHE_LOG_DIR}/wordpress/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost>
nextcloud.conf
<VirtualHost 192.168.1.250:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin nom_du_pi@localhost DocumentRoot /var/www/html/nextcloud # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/nextcloud/error.log CustomLog ${APACHE_LOG_DIR}/nextcloud/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost>
Si je désactive wordpress.conf et nextcloud.conf (chown 000, par ex.), le fichier par défaut 000-default.conf prend le relais. Je peux accéder au site ainsi qu'au cloud par http://192.168.1.250/wordpress ou /nextcloud. J'avoue que je ne comprends pas pourquoi nextcloud.conf et wordpress.conf ne fonctionnent pas.
Je vais essayer de régler ce pb avant de mettre le site et nextcloud sur internet, avec ton aide !!!
Merci à vous.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
J'ai consulté les logs
/var/log/apache2/wordpress
et j'ai le message
[Sat Sep 20 12:11:19.376510 2025] [php:warn] [pid 4239:tid 4239] [client 192.168.1.250:52104] PHP Warning: Invalid "post_max_size" setting. Invalid quantity "6OOM", interpreting as "6M" for backwards compatibility in Unknown on line 0
Je vais regarder.
Bonjour,
Les VirtualHost doivent se différencier par l'adresse écoutée, le port écouté, et/ou le ServerName.
Tu définis deux VirtualHost pour le point d'entrée "192.168.1.250:80" sans différence de ServerName (non spécifié dans les deux cas).
Pour une requête HTTP arrivant sur 192.168.1.250:80, ton serveur ne pourra pas utiliser simultanément "DocumentRoot /var/www/html/wordpress" ou "DocumentRoot /var/www/html/nextcloud" ça n'a pas de sens.
Tu dois créer un seul VirtualHost pour 192.168.1.250:80 avec le "DocumentRoot /var/www/html"
De cette façon, la correspondance URL/dossier se fera comme voulu :
http://192.168.1.250/ --> /var/www/html/
http://192.168.1.250/wordpress/ --> /var/www/html/wordpress/
http://192.168.1.250/nextcloud/ --> /var/www/html/nextcloud/
Bonjour,
Merci pour tes conseils. J'ai rencontré des pbs de connexion avec ssh et j'ai décidé de reconfigurer la micro carte sd, ce qui n'a rien changé. Depuis plusieurs jours, je rame à nouveau pour régler le pb malgré tout ce qu'on peut lire.
Je poste dans une autre rubrique.
Bonjour,
Merci ! J'ai créé un seul VitualHost et les deux dossiers sont visibles avec http://localhost. Le site se lance normalement. Par contre, je rencontre une difficulté avec NextCloud car il y a un pb avec php que je n'arrive pas à régler malgré mes recherches et je ne peux pas l'installer :
Only MySQL/MariaDB is available. Install and activate additional PHP modules to choose other database types.
Je poste ici mais il se peut que ce ne soit pas le bon endroit !