Laravel est un framework PHP populaire réputé pour sa syntaxe élégante et ses fonctionnalités puissantes. Dans ce tutoriel, nous vous guiderons à travers le processus d’installation de Laravel sur Ubuntu 20.04/22.04 ou Debian, en utilisant à la fois Apache et Nginx comme serveurs web. Nous fournirons des instructions étape par étape pour assurer une installation sans problème. Commençons !
Prérequis
Avant de commencer, assurez-vous d’avoir les prérequis suivants :
- Un serveur Ubuntu 20.04/22.04 avec un compte utilisateur non root disposant de privilèges sudo.
- Un serveur web Apache ou Nginx installé et correctement configuré sur votre serveur Ubuntu.
- PHP installé sur votre serveur Ubuntu.
- Composer installé sur votre serveur Ubuntu.
Étape 1 : Mettre à jour les paquets du système
Tout d’abord, mettons à jour les paquets du système pour nous assurer d’avoir les dernières versions. Ouvrez un terminal et exécutez les commandes suivantes :
$ sudo apt update
$ sudo apt upgrade
Étape 2 : Installer PHP et les extensions requises
Laravel nécessite PHP ainsi que certaines extensions spécifiques. Nous allons installer PHP et les extensions requises à l’aide des commandes suivantes :
$ sudo apt install php php-cli php-common php-mbstring php-xml php-zip php-mysql php-pgsql php-sqlite3 php-json php-bcmath php-gd php-tokenizer php-xmlwriter
Une fois l’installation terminée, vérifiez la version de PHP en exécutant la commande :
$ php -v
Étape 3 : Installer Composer
Composer est un outil de gestion des dépendances pour PHP. Nous utiliserons Composer pour installer Laravel et ses dépendances. Exécutez les commandes suivantes pour installer Composer globalement :
$ sudo apt install curl php-cli php-mbstring git unzip
$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Pour vérifier l’installation, exécutez la commande suivante :
$ composer --version
Étape 4 : Installer Laravel
Maintenant que nous avons Composer installé, nous pouvons l’utiliser pour installer Laravel. Ouvrez un terminal et accédez au répertoire racine de votre serveur web. Pour Apache, le répertoire racine est généralement situé à /var/www/html
, et pour Nginx, il se trouve généralement à /var/www
.
Pour installer Laravel, exécutez la commande suivante :
$ composer create-project --prefer-dist laravel/laravel nom-de-votre-projet
Remplacez nom-de-votre-projet
par le nom souhaité pour votre projet Laravel. Composer récupérera le framework Laravel et ses dépendances, ce qui peut prendre quelques minutes.
Une fois l’installation terminée, accédez au répertoire du projet :
$ cd nom-de-votre-projet
Étape 5 : Configurer Apache
Si vous utilisez Apache comme serveur web, suivez ces étapes pour le configurer pour Laravel.
Créez un nouveau fichier de configuration Apache pour votre projet Laravel :
$ sudo nano /etc/apache2/sites-available/nom-de-votre-projet.conf
Remplacez nom-de-votre-projet
par le nom réel de votre projet.
Ajoutez le contenu suivant au fichier de configuration :
<VirtualHost *:80>
ServerName votre-domaine-ou-ip
DocumentRoot /var/www/html/nom-de-votre-projet/public
<Directory /var/www/html/nom-de-votre-projet>
AllowOverride All
</Directory>
</VirtualHost>
Remplacez votre-domaine-ou-ip
par votre nom de domaine réel ou l’adresse IP du serveur.
Activez le module de réécriture Apache :
$ sudo a2enmod rewrite
Activez le virtual host :
$ sudo a2ensite nom-de-votre-projet.conf
Redémarrez Apache pour que les modifications prennent effet :
$ sudo systemctl restart apache2
Étape 6 : Configurer Nginx
Si vous utilisez Nginx comme serveur web, suivez ces étapes pour le configurer pour Laravel.
Créez un nouveau bloc de serveur Nginx pour votre projet Laravel :
$ sudo nano /etc/nginx/sites-available/nom-de-votre-projet
Remplacez nom-de-votre-projet
par le nom réel de votre projet.
Ajoutez le contenu suivant au bloc de serveur :
server {
listen 80;
server_name votre-domaine-ou-ip;
root /var/www/html/nom-de-votre-projet/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Remplacez votre-domaine-ou-ip
par votre nom de domaine réel ou l’adresse IP du serveur.
Activez le bloc de serveur Nginx :
$ sudo ln -s /etc/nginx/sites-available/nom-de-votre-projet /etc/nginx/sites-enabled/
Testez la configuration Nginx pour détecter d’éventuelles erreurs de syntaxe :
$ sudo nginx -t
Redémarrez Nginx pour que les modifications prennent effet :
$ sudo systemctl restart nginx
Étape 7 : Configurer Laravel
Maintenant que votre serveur web est configuré, configurons Laravel.
Copiez le fichier .env.example
:
$ cp .env.example .env
Générez une nouvelle clé d’application :
$ php artisan key:generate
Définissez les permissions appropriées sur les répertoires Laravel :
$ sudo chown -R www-data:www-data /var/www/html/nom-de-votre-projet/storage
$ sudo chmod -R 775 /var/www/html/nom-de-votre-projet/storage
Vous êtes prêt à utiliser Laravel ! Accédez à votre application Laravel dans un navigateur en visitant votre nom de domaine ou l’adresse IP du serveur.
Important : Le fichier.env
de Laravel contient des informations de configuration sensibles, notamment les identifiants de la base de données et les clés API. Il est essentiel de sécuriser ce fichier pour protéger votre application contre les accès non autorisés et les failles de sécurité. Pour renforcer la sécurité, vous pouvez déplacer le fichier.env
en dehors de la racine du document, restreindre les autorisations de fichiers, désactiver la navigation dans les répertoires, chiffrer les informations sensibles et éviter de stocker les informations d'identification de production dans le contrôle de version. La mise en œuvre de ces mesures permet de protéger les données sensibles de votre application et de maintenir sa sécurité. Il est important de revoir et de mettre à jour régulièrement les pratiques de sécurité afin de rester proactif face aux menaces potentielles.
Conclusion
Félicitations ! Vous avez réussi à installer Laravel sur Ubuntu 20.04/22.04 en utilisant à la fois Apache et Nginx comme serveurs web. Vous pouvez maintenant commencer à développer des applications web puissantes avec le framework Laravel. Profitez de la programmation avec Laravel !