Important

Ne pas faire ce tutoriel si vous avez déjà installé un serveur web (LAMP).

Connectez-vous en local sur votre raspberry ou par SSH avec l'utilisateur pi. Vous pouvez aussi prendre n'importe quel utilisateur avec les droits sudo.

Faites les mises à jours du système :
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade

Installation des différents paquets :

Installation de MySql :
sudo apt-get install mysql-server mysql-client
Veuillez choisir un mot de passe et confirmez le :
Nouveau mot de passe du superutilisateur de MySQL : Password
Confirmation du mot de passe du superutilisateur de MySQL : Password
Installation de Nginx :
sudo apt-get install nginx
Démarrage de nginx :
sudo service nginx start
Ouvrez votre nanigateur internet favoris et allez sur l’adresse ip de votre Raspberry.
Dans mon cas :
http://192.168.1.21/
Si vous voyez ce méssage nginx est bien installé :
Welcome to nginx!
Création du répertoire www et attribution des droits :
sudo mkdir /var/www
sudo chown www-data:www-data /var/www

Installation de php5 :

sudo apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Modification du ficher php.ini :
sudo nano /etc/php5/cgi/php.ini
Cherchez la ligne cgi.fix_pathinfo=1 :
ctrl+w : cgi.fix_pathinfo=1
entrer
Enlevez le ; devant la ligne :
;cgi.fix_pathinfo=1

Installation de lighttpd :

sudo apt-get install lighttpd
Pendant l’installation, il est normal d’avoir ces messages d’erreur car nginx utilise déjà le port 80 :
Paramétrage de lighttpd (1.4.31-3) ...
[....] Starting web server: lighttpd2012-12-05 17:35:03: (network.c.379) can't bind to port:  80 Address already in use 
 failed!
invoke-rc.d: initscript lighttpd, action "start" failed.
Failed to start Lighttpd. Maybe another webserver is already listening on port 80?
Suppression de lighttpd au démarrage du raspberry pour ne plus avoir de conflit entre nginx et lighttpd :
sudo update-rc.d -f lighttpd remove
Démarrage du service php :
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
Démarrage automatique du service php :
sudo nano /etc/rc.local
Ajoutez juste avant exit 0 :
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
exit 0

Configuration de Nginx :

sudo nano /etc/nginx/nginx.conf
Modifiez ces deux lignes avec les mêmes chiffres :
worker_processes 1;
keepalive_timeout 2;
Suppression du fichier default :
sudo rm -f /etc/nginx/sites-available/default
Création du fichier default :
sudo nano /etc/nginx/sites-available/default
Copiez collez le contenu dans votre fichier et sauvegardez :
server {
        listen   80;
        server_name localhost;
        root /var/www;
        index index.html index.htm index.php;

        location / {
                root   /var/www;
                index  index.php index.html index.htm;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
                include         fastcgi_params;
        }
}
Testez la configuration avant de redémarrer :
sudo nginx -t
Redémarrage du service nginx si aucune erreur :
sudo service nginx restart

Installation de phpMyAdmin :

sudo apt-get install phpmyadmin
Serveur web à reconfigurer automatiquement :
aucun
Faut-il configurer la base de données de phpmyadmin avec dbconfig-common ? :
Oui
Mot de passe de l'administrateur de la base de données :
Mettez ici le même mot de passe que celui de la configuration Mysql-server
Mot de passe de connexion MySQL pour phpmyadmin :
Laissez vide pour un mot de passe généré aléatoirement, ou tapez votre propre mot de passe.
Création d'un lien symbolique pour phpMyAdmin :
sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
Vous pouvez maintenant utiliser votre dossier /var/www pour stocker votre site internet et l’adresse : http://ip-raspberry/phpmyadmin pour gérer vos bases MySql avec phpMyAdmin.
Ce tutoriel ne fonctionne plus ? Il reste des coquilles dans le code ou des erreurs typographiques ? Vous souhaitez proposer une amélioration de ce tutoriel ? Merci de me contacter par email à l'adresse suivante : [email protected], merci pour votre aide.