Mettre en ligne site web local créé avec rapsberry

Lume51 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
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

A voir également:

9 réponses

avion-f16 Messages postés 19256 Date d'inscription   Statut Contributeur Dernière intervention   4 508
 

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).

0
Lume51 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

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 !

0
avion-f16 Messages postés 19256 Date d'inscription   Statut Contributeur Dernière intervention   4 508
 

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.

1
Lume51 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

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)...

0
avion-f16 Messages postés 19256 Date d'inscription   Statut Contributeur Dernière intervention   4 508
 

Bonjour

La ligne « Redirect /  http://XXX.fr/ » configurée sur le VirtualHost HTTP (port 80) engendre une boucle de redirection.

Est-ce que tu peux partager ta configuration Apache complète, avec les deux VirtualHost (port 80 et 443) ? On devrait notamment y voir la configuration TLS.

0
Lume51 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

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.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lume51 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

Il s'agit bien de 

/etc/apache2/sites-available/nextcloud.conf et non nexcloud.conf !
0
Lume51 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

Bonjour, 

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.  

0
avion-f16 Messages postés 19256 Date d'inscription   Statut Contributeur Dernière intervention   4 508
 

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/

0
Lume51 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

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.

0
Lume51 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   2
 

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 ! 

0