samedi, 23 novembre 2013

Raspberry-Pi : Config serveur Lesp

nginx_logo.gifSur internet on trouve de tout ... et surtout du n'importe quoi.

j'ai dans un premier temps installer Apache et Mysql avec un phpmyadmin ... c'était lent ... très lent et sa me bouffait pas mal de ram , j'ai chercher sur internet et j'ai trouver plusieurs config possible, les plus populaires sont pour le serveur Web : Apache, Nginx et lighttpd pour le sql, il y a Mysql (lourd et vieux) et sqlite .

Sur internet vous pouvez trouver les test de performances de Sqlite vs mysql, vous verrez qu'il disent que sqlite est 2 a 3 fois plus rapide, pour Nginx, lighttpd et appache il y a eu de nombreux test et au final le vainqueur est nginx.

Apres plusieurs test, mon choix c'est donc porter sur Nginx et sqlite qui sont pour moi les plus léger, si on install correctement tout les plugins pour le php, il n'y a aucun problème constater de performance ou d'erreur web.

Dans le cas présent, on parlera de serveur LESP (linux, "E"nginX,Sqlite,Php)


Comme déjà dis précédemment, il est d'une importance capitale de toujours mettre a jour avant toute install via d'ailleurs certaines installation ne fonctionneront pas si le pi n'as pas les paquets requis (et a jours): 

sudo apt-get update
sudo apt-get upgrade

 

Installation LESP

Une fois votre pi a jour, vous pouvez install nginx

sudo apt-get install nginx

une fois l'install faite, on va cree le repertoire web et donner les droits a www-data

sudo mkdir /var/www 
sudo chown -R www-data:www-data /var/www

Ensuite on install le Php et ces extensions:

sudo apt-get install php5-sqlite php5-common php5-cli php5-fpm php-apc

puis on install le sqlite :

sudo apt-get install sqlite3

voila tout est installer par contre ce sont les paquets basiques pour php, pour certains projets j'ai du installer d'autre modules.

Configuration de LESP

maintenant faut 'il encore configurer car par défaut nginx n'utilise pas /var/www donc on va modifier le fichier de config grâce a cette commande

 sudo nano /etc/nginx/sites-available/default

Dans le fichier il faut modifer quelques ligne et en ajouter d'autres, au final voici mon fichier default, je vais mettre en surbrillance ce qu'il faut modifier

server {
        listen   81; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6
 
        root /var/www;
        index index.php index.html index.htm;
 
        # Make site accessible from http://localhost/
        server_name localhost;
 
 
        location ~ .php$ {
                fastcgi_split_path_info ^(.+.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.html;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }
}
 
 ensuite un petit reboot du service via 
sudo service nginx restart 
 
ps: Le listen 81 est le port du serveur, ne pouvant pas ouvrir le port 80 sur ma ligne j'ai du me résoudre a mettre le 81, donc en réseau local je dois faire http://192.168.1.33:81 pour arriver a mon pi

Écrit par Viskor dans Astuces, Raspberry-Pi, Serveur |  Facebook | |