Nous avons déjà parlé de l'installation de Laravel pour les serveurs Ubuntu basés sur Apache dans notre dernier tutoriel. Ce tutoriel vous montrera comment installer le framework PHP Laravel sur une installation de serveur Nginx.
Pré-requis
Comme toujours, vous devez vous assurer que le serveur est bien mis à jour avant de continuer.
sudo apt-get update
sudo apt-get upgrade
Ce didacticiel est basé sur l'hypothèse que vous disposez déjà d'une configuration de serveur basée sur Ubuntu. Assurez-vous également que Git est installé. Si ce n'est pas le cas, vous pouvez suivre notre guide pour le faire.
Installer Nginx
L'installation du serveur Nginx est simple et directe. Alors allons-y.
sudo apt-get install nginx
Installer PHP-FPM
PHP ne fonctionne pas avec Nginx de la même manière qu'avec Apache. Pour Nginx, vous avez besoin de l'implémentation FastCGI de PHP appelée PHP-FPM (PHP-FastCGI Process Manager). Installons PHP alors. Nous avons également besoin de l'extension Mcrypt de PHP pour que Laravel fonctionne.
sudo apt-get install php5-fpm php5-cli php5-mcrypt
Configuration de Nginx pour Laravel
Avant de continuer, procédons à une configuration de base du serveur Nginx que nous avons installé. Nous devons d'abord créer le répertoire où Laravel sera installé.
sudo mkdir -p /var/www/html/laravel
Cela étant fait, nous devons maintenant dire à Nginx que c'est à partir de là que notre site fonctionnera. Pour cela, nous devons créer une entrée virtualhost dans Nginx. Nginx stocke la configuration par défaut dans un fichier nommé default dans /etc/nginx/sites-available/default. Copions-le et créons notre propre version du fichier.
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/laravel
Modifions le fichier de configuration
sudo nano /etc/nginx/sites-available/laravel
Vous verrez quelque chose comme
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.html index.htm; server_name localhost; location / { try_files $uri $uri/ =404; } }
J'ai supprimé les commentaires pour des raisons de lisibilité. Vous devrez changer l'emplacement racine qui serait /var/www/html/laravel/public dans notre cas. Vous devez également remplacer la variable server_name par le nom de domaine que vous utiliserez ou par l'adresse IP de votre serveur.
Modifiez le fichier pour qu'il ressemble à ce qui suit
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/html/laravel/public; index index.php index.html index.htm; server_name server_domain_or_IP; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Enregistrez le fichier après modification. Nous devons maintenant activer ce fichier de configuration. Jusqu'à présent, seul le profil par défaut est actif. Pour ce faire, nous devons créer un lien symbolique vers le fichier laravel dans le répertoire /etc/nginx/sites-enabled. Nous aurions également besoin de désactiver le profil par défaut afin qu'il n'interfère pas avec notre installation de laravel.
sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
Notre configuration du serveur Nginx est terminée. L'étape suivante consiste à configurer le PHP-FPM.
Configurer PHP-FPM
Cette étape est simple et nous oblige à modifier une variable dans le fichier de configuration de PHP. Il est temps d'ouvrir php.ini
sudo nano /etc/php5/fpm/php.ini
Trouvez-y le texte suivant
;cgi.fix_pathinfo=1
Décommentez la variable en supprimant le; de l'avant et changez sa valeur en 1 pour qu'il ressemble
cgi.fix_pathinfo=0
Cela indique à PHP de ne pas exécuter un script nommé similaire si l'original n'est pas trouvé, ce qui est important du point de vue de la sécurité.
Enfin, nous devons également activer l'extension mcrypt que nous avons installée précédemment.
sudo php5enmod mcrypt
C'est ça. Maintenant, redémarrez simplement le service PHP-FPM pour charger les modifications.
sudo service restart php5-fpm
Installer Composer
Composer est un outil de gestion des dépendances qui nous permet d'installer divers frameworks et bibliothèques PHP via une seule commande. Il prend en charge tous les autres packages et dépendances que vous auriez dû installer séparément pour installer un framework si vous suivez la voie manuelle. Cela peut économiser beaucoup de temps et de tracas. Nous installerions Laravel à l'aide de Composer.
Télécharger Compositeur. Assurez-vous d'abord d'être dans votre répertoire personnel.
curl -sS https://getcomposer.org/installer | php
Cela télécharge le fichier composer.phar dans votre répertoire personnel. Maintenant, si vous le souhaitez, vous pouvez l'exécuter à partir d'ici en utilisant quelque chose comme php composer.phar [commande] mais comme nous préférerions exécuter composer globalement, nous devons le déplacer vers un emplacement plus approprié afin de pouvoir l'exécuter facilement.
sudo mv composer.phar /usr/local/bin/composer
Vous pouvez maintenant l'exécuter directement en appelant simplement composer de n'importe où.
Installer Laravel
Maintenant que nous avons installé composer, nous devons installer Laravel. Installez-le par la commande suivante.
sudo composer create-project laravel/laravel /var/www/html/laravel --prefer-dist
Cela télécharge et installe la dernière version de Laravel (5.2 actuellement) sur votre serveur.
Avant de terminer le didacticiel, nous devons accorder les autorisations appropriées à certains répertoires.
sudo chgrp -R www-data /var/www/html/laravel
sudo chmod -R 775 /var/www/html/laravel/storage
Conclusion
C'est ça. Votre installation de Laravel est terminée. Lancez maintenant http://servername ou http://serverip dans votre navigateur. Vous devriez voir l'écran suivant, en cas de succès.