sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get upgrade
L’optionupdate
met à jour la liste des fichiers disponibles dans les dépôts APT présents dans le fichier de configuration /etc/apt/sources.list
. L’option upgrade
met à jour tous les paquets installés sur le système vers les dernières versions (couramment utilisé). L’option dist-upgrade
met à jour tous les paquets installés vers les dernières versions en installant de nouveaux paquets si nécessaire, par opposition à l’upgrade simple qui n’ajoute pas de nouveaux paquets. Exécuter ces commandes régulièrement est une bonne pratique, afin de maintenir à jour votre liste de paquets disponibles.
Désactiver le serveur Apache2
Si vous avez déjà installer un serveur Web avec Apache ou Apache2, il est très fortement conseillé de désactiver ces services afin de faire fonctionner Nginx correctement, le cas échéant, veuillez ignorer cette étape.
1
|
sudo service apache2 stop
|
Désormais, le serveurApache2 ne tourne plus. Nous allons maintenant l’empêcher de se lancer automatiquement au démarrage de Raspbian comme il le fait pour le moment.
1
|
sudo systemctl disable apache2
|
Si vous le souhaitez, vous pouvez redémarrer votreRaspberry Pi avec la commande reboot
.
Installer PHP 7.0
Raspbian étant basé sur Debian Jessie avec PHP 5.6 par défaut. Cela fonctionne très bien, mais il y a une meilleure alternative qui est PHP 7.0. Sorti en Décembre 2015, PHP 7.0 est un radical saut pour PHP en termes de performances, les fonctionnalités du langage et de la réduction de l’utilisation de la mémoire.
Pour installer cette nouvelle version de PHP, nous devons puiser dans la branche testing de Raspbian, communément connu sous le nom de code stretch. Nous devons modifier le sources.list
(fichier utilisé par apt-get).
1
|
sudo vi /etc/apt/sources.list
|
Ajouter cette ligne à la fin du fichier :
1
|
deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non–free rpi
|
En ajoutant ceci, toutes les installations ou les mises à jour utiliseront les nouvelles versions de fichiers disponibles dans le stretch qui ne sont pas considérés à 100% stable. La façon de contourner cela est d’épingler tous les paquets à utiliser le jessie version avec une priorité plus élevée par défaut. Pour ce faire, créer un fichier de préférences :
1
|
sudo vi /etc/apt/preferences
|
Et collez ceci dans le fichier :
1
2
3
|
Package: *
Pin: release n=jessie
Pin–Priority: 600
|
Enregistrez ce fichier et mettez à jour les dépôts :
1
|
sudo apt–get update
|
Maintenant, vous êtes prêt à installer PHP 7.0 à partir dustretch, y compris tous les paquets PHP communs :
1
|
sudo apt–get install –t stretch php7.0 php7.0–curl php7.0–gd php7.0–fpm php7.0–cli php7.0–opcache php7.0–mbstring php7.0–xml php7.0–zip
|
Une fois que tout ceci est installé, il faut vérifier que PHP est correctement installé en vérifiant sa version, pour cela, saisissez la commande :
1
|
php —version
|
1
2
3
4
|
PHP 7.0.9–1 (cli) ( NTS )
Copyright (c) 1997–2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998–2016 Zend Technologies
with Zend OPcache v7.0.9–1, Copyright (c) 1999–2016, by Zend Technologies
|
Installer le serveur Nginx
Nginx (se prononce : engine x) est un logiciel libre de serveur Web (ou HTTP) ainsi qu’un proxy inverse écrit par Igor Sysoev, dont le développement a débuté en 2002 pour les besoins d’un site russe à très fort trafic (Rambler). Une partie de la documentation de Nginx a été traduite du russe vers l’anglais.
Nous allons utiliser le gestionnaire de paquet « apt-get » pour installer Nginx et php-fpm sur la Raspberry depuis les dépôts Raspbian.
1
|
sudo apt–get install –t stretch nginx
|
Une fois queNginx est installé sur votre Raspberry Pi, il faut modifier quelques paramètres dans le fichier de configuration de Nginx.
1
|
sudo vi /etc/php/7.0/fpm/pool.d/www.conf
|
Il faut donner les permissions àNginx pour utiliser l’utilisateur « pi » (utilisateur par défaut sur un Raspberry Pi) et le groupe « pi » :
1
2
|
user = pi
group = pi
|
Ajouter un site à Nginx
Pour ajouter un site à Nginx, il faut ajouter un fichier dans /etc/nginx/sites-available/
et y insérer le contenu ci-dessous :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
server {
listen 80;
index index.html index.php;
root /home/pi/www;
server_name localhost;
location / {
try_files $uri $uri/ /index.html /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.0–fpm.sock;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
location ~* /(.git|cache|bin|logs|backups|tests)/.*$ { return 403; }
location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
location ~* /user/.*\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
location ~ /(LICENSE.txt|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|\.htaccess) { return 403; }
}
|
Vous pouvez modifier le répertoire de votre site (par défaut dans /home/pi/www) à la ligne « root », ainsi que le nom de domaine à la ligne « server_name ».
Imaginons que vous possédiez deux sites Internet en local sur votre Raspberry Pi, vous pouvez utiliser ces deux configurations :
1
2
3
|
# Contenu du fichier de configuration Nginx pour notre blog WordPress
root /home/pi/www/wordpress;
server_name mon–blog.app;
|
1
2
3
|
# Contenu du fichier de configuration Nginx pour notre forum phpBB
root /home/pi/www/phpbb;
server_name mon–forum.app;
|
Pour activer un siteInternet configuré avec Nginx, vous devez créer un lien symbolique à l’aide de ces commandes :
1
2
3
|
cd /etc/nginx/sites–enabled/
rm default
ln –s ../sites–available/nom–du–fichier–de–configuration
|
Ensuite, il suffit de redémarrerNginx et php-fpm pour s’assurer que les nouveaux changements sont pris en charge :
1
2
|
sudo service nginx restart
sudo service php7.0–fpm restart
|