Raspberry Pi IP Fixe

RaspberryPi Teaching
  • Une IP fixe

    Dans un premier temps, il nous faut savoir quel est l’adresse de notre Routeur. Pour cela, nous pouvons utiliser la fonction :

    hostname -I
    

    Qui va nous donner deux adresse, une qui s’écrit comme ceci : 192.168.1.91 et une autre plus compliqué. La première correspond à l’adresse IP4 de notre Raspberry Pi et la deuxième à l’adresse IP6 de notre Raspberry. Le resultat sera donc comme ceci :

    192.168.1.91 2a02:a03f:52a2:8e00:245e:ca9a:a54f:e1ba
    

    Ce qui nous intérresse ici, est le 3ème chiffre de la première adresse IP, ici 1. De ceci, vous pouvez en déduire que l’adresse de votre routeur est donc : 192.168.1.1.

    Ensuite, il nous faut une IP fixe en local pour notre Raspberry Pi, cela permettra de dialoguer avec lui de manière direct, un peu comme une adresse. Pour cela, nous devons modifier un fichier de configuration du Pi en tapant cette commande :

    sudo nano /etc/dhcpcd.conf
    

    Cette ligne peut être décortiquer en plusieurs choses :

    • sudo, qui permet de lancer la commande en mode administrateur.
    • nano, qui permet de lancer le programme d’éditeur de texte des système UNIX.
    • et /etc/dhcpcd.conf, qui correspond au chemin, l’emplacement du fichier que l’on veut modifier.

    Cette commande nous renvoi vers cet écran :

  • Pas d’inquiétude, ca à l’air un peu compliqué mais il nous juste modifier quelques lignes. Pour cela, vous pouvez utilisez les flèches directionnelles pour vous déplacer dans le fichier et trouver les lignes suivantes :

    # Example static IP configuration:
    # interface eth0
    # static ip_address=192.168.1.91
    #static ip6_address=fd51:42f8:caae:d92e::ff/64
    # static routers=192.168.1.1
    # static domain_name_servers=192.168.1.1 8.8.8.8
    

    Ces lignes doivent être modifé comme ceci :

    # Example static IP configuration:
    interface eth0
    static ip_address=192.168.1.91
    #static ip6_address=fd51:42f8:caae:d92e::ff/64
    static routers=192.168.1.1
    static domain_name_servers=192.168.1.1 8.8.8.8
    

    Pour plus d’informations :

    • la ligne interface eth0, correspond à l’interface que l’on veut utiliser (wifi, ethernet, ect..), dans ce cas-ci eth0 correspond à l’interface ethernet du Raspberry.
    • la ligne static ip_address=192.168.1.91, correspond à l’adresse IP que l’on veut assigner au Raspberry Pi.
    • la ligne static routers=192.168.1.1, correspond à l’adresse de notre routeur, comme on à pu le voir un peu plus haut.
    • la ligne static domain_name_servers=192.168.1.1 8.8.8.8, correspond au lien entre votre Raspberry Pi et le monde extérieur (internet). Elle nous est pas très utile, elle permet de gérer des gros réseaux, ce que nous n’avons pas.

    Une fois l’adresse IP fixe, il est bon de redémarrer le Pi, pour être sur des changement opéré. Pour cela, nous pouvons utiliser la commande :

    sudo reboot
    

    Une fois redémarrer, vous pouvez utiliser hostname -I pour confirmer les changements en regardant votre adresse IP.

    Ensuite, pour transformer un Raspberry Pi en serveur web, il nous faut plusieurs programmes :

    • nginx, qui est un logiciel de gestion de serveur web.
    • php, qui est un language utilisé dans le web.
    • SQL, qui est un language de gestion de base de donnée web.

    Nginx

    Pour cela, rien de plus simple, il nous utiliser un logiciel apt-get, qui permet de télécharger et d’installer des programmes.

    Dans un premier temps, il nous faut mettre à jour ce logiciel :

    sudo apt-get update
    

    et ensuite commencer à installer des logiciels :

    sudo apt-get install nginx
    

    Cette commande peut prendre plusieurs minutes, vous pouvez suivre l’avancement de l’installation via votre écran.

    Une fois cela, finis, vous pouvez lancer le programme nginx avec cette commande :

    sudo /etc/init.d/nginx start
    

    On peut maintenant avoir accès à notre page web en ouvrant notre navigateur et en mettant l’adresse ip du Pi comme adresse :

  • Php

    On fait la même chose pour php :

    sudo apt-get install php-fpm
    

    Il nous faut maintenant dire à nginx d’utiliser PHP. Pour cela, il nous faut naviguer dans les dossiers du Pi et plus spécifiquement dans le dossier de nginx :

    cd /etc/nginx
    

    Pour ensuite venir modifier un fichier en particulier :

    sudo nano sites-enabled/default
    

    Dans ce fichier, nous devons trouver la ligne qui correspond à ceci :

    index index.html index.htm;
    

    Et la modifier par :

    index index.php index.html index.htm;
    

    Ce qui permet de spécifier à nginx de prendre en compte que notre fichier d’index peut être du HTML ou du PHP. Il vous faut aussi trouver dans le fichier ces lignes ci :

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    # location ~ \.php$ {
    

    Et modifier la suite comme ceci :

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
    

    Cela devrait ressembler à ceci :

          # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            location ~ \.php$ {
                    include snippets/fastcgi-php.conf;
    
                    # With php5-cgi alone:
            #       fastcgi_pass 127.0.0.1:9000;
                    # With php5-fpm:
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
            }
    
      ```
    
    ##Sql
    
    Pour finir avec les programmes, il nous faut aussi installer SQL, qui permet de mettre en place une base de donnée sur notre serveur. Ce qui est utile si l'on veut installer un CMS (Content Manager System) comme WordPress, SPIP ou MediaWiki.
    
    Pour cela, nous devons aussi utiliser cette fameuse commande :
    

    sudo apt-get install mariadb-server

    Et ensuite pour configurer celui-ci :
    

    sudo mysqlsecureinstallation

    Attention, l'utilisateur original est
    root« ` et le mot de passe est vide.

    Vous avez maintenant un serveur web qui pointe vers un dossier de votre Raspberry Pi, celui-ci /var/www/html pour être précis.