HOME

Webserver sur Raspberry Pi

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 :

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 :

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

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 mysql_secure_installation

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.