Comment installer le framework PHP Laravel 5.6 avec Nginx sur Ubuntu 18.04
Laravel est un framework PHP gratuit et open source qui met en œuvre le modèle de conception MVC (Model-View-Controller). Créé par Taylor Otwell en 2011, il s’agissait d’une tentative de fournir une alternative avancée au framework CodeIgniter (CI). En 2011, Laravel a publié la version 1 et la version 2, et la dernière version 5.6 propose des fonctionnalités supplémentaires et améliorées, comme la prise en charge de la ligne de commande (CLI) nommée « artisan », la prise en charge de différents systèmes de base de données, des améliorations de la route, etc.
Dans ce tutoriel, je te guiderai pas à pas sur la façon d’installer Laravel version 5.6 avec Nginx comme serveur Web, PHP-FPM 7.2 et MariaDB. Laravel 5.6 fonctionnera sous la pile LEMP avec Ubuntu 18.04 comme version d’OS.
Il existe une version de ce tutoriel pourLaravel sur CentOS 7 également.
Ce que nous allons faire
- Mets à jour le dépôt d’Ubuntu
- Installer Nginx
- Installer PHP-FPM 7.2
- Installer MariaDB
- Installer PHP Composer
- Configurer l’hôte virtuel Nginx pour Laravel
- Installer Laravel
- Tester
Prérequis
- Serveur Ubuntu 18.04
- Privilèges de racine
Étape 1 – Mettre à jour Ubuntu
Avant de commencer l’installation, nous devons mettre à jour le référentiel et ensuite mettre à jour tous les paquets à la dernière version. Pour ce faire, connecte-toi d’abord au serveur Ubuntu en utilisant ssh.
ssh root@ip
Maintenant, mets à jour ton référentiel Ubuntu et mets à jour tous les paquets sur ton système à la dernière version.
sudo apt update
sudo apt upgrade
Redémarre ton serveur, puis connecte-toi à nouveau en utilisant ssh.
Étape 2 – Installe Nginx
Dans cette étape, nous allons installer Nginx 1.14 sur le système. Il est disponible dans le dépôt ubuntu par défaut, il suffit de l’installer avec la commande apt suivante.
sudo apt install nginx -y
Une fois l’installation terminée, démarre le service nginx et ajoute-le pour qu’il démarre automatiquement au démarrage du système à l’aide de la commande systemctl.
systemctl start nginx
systemctl enable nginx
Nginx fonctionne sur le port 80, vérifie les statistiques correspondantes à l’aide de la commande netstat.
netstat -plntu
Tu peux aussi utiliser la commande curl.
curl -I localhost
Étape 3 – Installe PHP 7.2 et PHP-FPM
Nginx est installé, et nous devons maintenant installer la version 7 de PHP-FPM sur le système. Nous allons installer PHP 7.2 et certaines extensions PHP nécessaires à Laravel.
Installe PHP et PHP-FPM 7.2 avec toutes les extensions nécessaires à l’aide de la commande suivante.
sudo apt install php7.2 php7.2-curl php7.2-common php7.2-cli php7.2-mysql php7.2-mbstring php7.2-fpm php7.2-xml php7.2-zip -y
Ensuite, va dans le répertoire de configuration de PHP et modifie le fichier php.ini présent dans le répertoire fpm.
cd /etc/php/7.2/
vim fpm/php.ini
Décommente la ligne CGI suivante, et change la valeur en 0.
cgi.fix_pathinfo=0
C’est tout. Sauvegarde et quitte.
Nous pouvons maintenant démarrer PHP-FPM et lui permettre de démarrer automatiquement au démarrage du système.
systemctl start php7.2-fpm
systemctl enable php7.2-fpm
Par défaut sur Ubuntu, PHP-FPM est exécuté sous le fichier sock. Vérifie le fichier sock de PHP-FPM avec la commande netstat de la manière suivante :
netstat -pl | grep php7.2-fpm
PHP et PHP-FPM 7.2 ont été installés sur les systèmes Ubuntu 18.04.
Étape 4 – Installe MariaDB
Cette étape est facultative, mais si ton projet Laravel est basé sur MySQL, tu dois le faire pour ton projet. Nous allons installer la dernière version 10.1 de MariaDB sur le système.
Installe MariaDB à partir du dépôt à l’aide de la commande suivante.
sudo apt install mariadb-server mariadb-client -y
Une fois l’installation terminée, exécute MariaDB et active son lancement au démarrage du système.
systemcl start mysql
systemctl enable mysql
MariaDB a démarré sur le port 3306, vérifie-le à l’aide de la commande netstat.
netstat -plntu
Ensuite, configure le mot de passe root de MariaDB avec la commande ‘mysql_secure_installation’ ci-dessous.
mysql_secure_installation
Saisis ton mot de passe root, supprime les utilisateurs anonymes, interdit la connexion root à distance, etc.
Set root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
L’installation et la configuration de MariaDB sont terminées.
Étape 5 – Installer PHP Composer
Le compositeur est un gestionnaire de paquets pour le langage de programmation PHP. Créé en 2011, il s’inspire de Node.js ‘npm’ et de Ruby nommé ‘bundler’. Sur ubuntu 18.04, composer est disponible dans le dépôt, nous pouvons donc l’installer à l’aide de la commande apt.
Installe PHP Composer à l’aide de la commande suivante.
sudo apt install composer -y
Une fois l’installation terminée, exécute la commande ‘composer’ et tu obtiendras les résultats indiqués dans la capture d’écran.
composer
PHP Composer installé sur Ubuntu 18.04.
Étape 6 – Configurer l’hôte virtuel Nginx pour Laravel
Dans cette étape, nous allons configurer l’hôte virtuel Nginx pour Laravel. Mais avant cela, nous devons décider du répertoire pour notre projet Laravel. Dans notre cas, nous allons utiliser le répertoire ‘/var/www/laravel’ pour le projet. Il suffit de le créer avec mkdir.
mkdir -p /var/www/laravel
Ensuite, va dans le répertoire de configuration de nginx et crée un nouveau fichier d’hôte virtuel ‘laravel’ dans le répertoire ‘sites-available’.
cd /etc/nginx/
vim sites-available/laravel
Colle-y la configuration suivante.
server { listen 80; listen [::]:80 ipv6only=on; # Log files for Debugging access_log /var/log/nginx/laravel-access.log; error_log /var/log/nginx/laravel-error.log; # Webroot Directory for Laravel project root /var/www/laravel/public; index index.php index.html index.htm; # Your Domain Name server_name laravel.hakase-labs.co; location / { try_files $uri $uri/ /index.php?$query_string; } # PHP-FPM Configuration Nginx location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
C’est tout. Sauvegarde et quitte.
Active maintenant l’hôte virtuel en créant un lien symbolique du fichier ‘laravel’ vers le répertoire ‘sites-available’.
Puis teste la configuration de nginx et assure-toi qu’il n’y a pas d’erreur.
ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
nginx -t
L’hôte virtuel nginx pour laravel a été créé, redémarre maintenant le service nginx.
systemctl restart nginx
Étape 7 – Installer Laravel
Avant de commencer l’installation de Laravel, vérifie que l’utilitaire unzip est installé sur ton système. Si tu n’as pas l’outil, installe-le à l’aide de la commande suivante.
sudo apt install unzip -y
Nous avons déjà défini un répertoire pour Laravel : le répertoire ‘/var/www/laravel’. Va dans ce répertoire.
cd /var/www/laravel
Installe Laravel avec la commande composer. Il existe deux façons d’installer Laravel : L’installation via l’installateur Laravel et l’installation via Composer créer un projet.
Nous allons installer la dernière version de Laravel 5.6 via le composer create project.
Exécute la commande Composer suivante.
composer create-project laravel/laravel .
Tu dois attendre l’installation de Laravel.
L’installation de Laravel est terminée.
Nous devons changer la propriété du répertoire du projet Laravel à l’utilisateur ‘www-data’, et changer la permission du répertoire de stockage à 755.
chown -R www-data:root /var/www/laravel
chmod 755 /var/www/laravel/storage
L’installation de Laravel s’est terminée sans aucune erreur.
Étape 8 – Test
Dans le fichier de configuration de l’hôte virtuel, nous avons déjà défini le nom de domaine de Laravel ‘laravel.hakase-labs.co’.
Ouvre ton navigateur Web et visite le domaine sur lequel tu as installé Laravel, le mien ici sur le serveur de test est le suivant http://laravel.hakase-labs.co/.
Et tu devrais voir la page d’accueil de Laravel.
L’installation de Laravel avec Nginx, PHP-FPM 7.2 et MariaDB sur Ubuntu 18.04 est réussie.