"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Déploiement facile de Laravel sur Ubuntu : guide du débutant avec LEMP Stack

Déploiement facile de Laravel sur Ubuntu : guide du débutant avec LEMP Stack

Publié le 2024-11-01
Parcourir:338

Easy Laravel Deployment on Ubuntu: A Beginner

Déployer une application Laravel sur Ubuntu avec la pile LEMP (Linux, Nginx, MySQL, PHP) peut sembler intimidant, mais la décomposer étape par étape le rend gérable. Ce guide vous guidera tout au long du processus depuis la configuration du serveur jusqu'au déploiement d'une application Laravel.

Prérequis :

  • Vous devez disposer d'un serveur Ubuntu (local ou cloud, par exemple AWS, DigitalOcean).
  • Connaissance de base du terminal.
  • Un nom de domaine (facultatif mais recommandé).

Partie 1 : Configuration de la pile LEMP

Étape 1 : Mettre à jour le système

Commencez par vous assurer que votre serveur est à jour.

sudo apt update && sudo apt upgrade -y

Étape 2 : Installer Nginx

Nginx servira votre application.

sudo apt install nginx -y

Une fois installé, vous pouvez démarrer et activer Nginx pour qu'il s'exécute au démarrage :

sudo systemctl start nginx
sudo systemctl enable nginx

Vous pouvez vérifier que Nginx est en cours d'exécution en visitant l'adresse IP de votre serveur dans un navigateur.

Étape 3 : Installer MySQL

Ensuite, nous installerons le serveur de base de données MySQL.

sudo apt install mysql-server -y

Sécuriser l'installation de MySQL :

sudo mysql_secure_installation

Cela vous demandera de configurer un mot de passe root et de supprimer les valeurs par défaut non sécurisées.

Étape 4 : Installer PHP

Laravel nécessite PHP, installons-le donc avec quelques extensions nécessaires :

sudo apt install php-fpm php-mysql php-cli php-xml php-mbstring php-curl php-zip -y

Vérifiez l'installation de PHP :

php -v

Vous devriez voir quelque chose comme :

PHP 7.x.x (cli) (built: ...)

Partie 2 : Configuration de MySQL pour Laravel

Étape 1 : Connectez-vous à MySQL

Connectez-vous à la console MySQL en tant qu'utilisateur root :

sudo mysql

Étape 2 : Créer une base de données

Créez une nouvelle base de données et un nouvel utilisateur pour l'application Laravel :

CREATE DATABASE laravel_app;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON laravel_app.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Étape 3 : tester la base de données

Assurez-vous que le nouvel utilisateur de la base de données peut se connecter :

mysql -u laravel_user -p

Vous serez invité à saisir le mot de passe, puis saisissez :

SHOW DATABASES;

Vous devriez voir laravel_app dans la liste.


Partie 3 : Installer Laravel

Étape 1 : Installer Composer

Laravel utilise Composer comme gestionnaire de dépendances. Installer Composer :

sudo apt install composer -y

Étape 2 : Créer un projet Laravel

Accédez au répertoire dans lequel vous souhaitez installer Laravel (par exemple, /var/www/) :

cd /var/www/
composer create-project --prefer-dist laravel/laravel laravel_app

Étape 3 : Définir les autorisations du répertoire

Laravel nécessite que certains répertoires soient accessibles en écriture par le serveur Web :

sudo chown -R www-data:www-data /var/www/laravel_app
sudo chmod -R 775 /var/www/laravel_app/storage
sudo chmod -R 775 /var/www/laravel_app/bootstrap/cache

Étape 4 : configurer le fichier .env

Dans la racine du projet Laravel, ouvrez le fichier .env et configurez les paramètres de la base de données :

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_app
DB_USERNAME=laravel_user
DB_PASSWORD=strong_password

Partie 4 : Configuration de Nginx pour Laravel

Étape 1 : Créer un nouveau bloc de serveur Nginx

Nous allons créer un fichier de configuration Nginx pour le projet Laravel.

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

Ajoutez la configuration suivante au fichier :

server {
    listen 80;
    server_name your_domain_or_ip;

    root /var/www/laravel_app/public;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.x-fpm.sock; # Change this to the correct PHP version.
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

Remplacez your_domain_or_ip par votre nom de domaine actuel ou l'adresse IP de votre serveur.

Étape 2 : Activer la configuration Nginx

Activez la nouvelle configuration Nginx en créant un lien symbolique vers les sites compatibles :

sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/

Étape 3 : tester et recharger Nginx

Testez la configuration de Nginx pour vous assurer qu'il n'y a pas d'erreurs de syntaxe :

sudo nginx -t

Si tout va bien, redémarrez Nginx :

sudo systemctl reload nginx

Partie 5 : étapes finales

Étape 1 : Exécuter les migrations Laravel

Exécutez les migrations Laravel pour configurer la base de données :

cd /var/www/laravel_app
php artisan migrate

Étape 2 : Accédez à l'application

Vous devriez maintenant pouvoir accéder à l'application Laravel en accédant à l'adresse IP ou au domaine de votre serveur dans le navigateur. Vous verrez la page d'accueil par défaut de Laravel.

Étape 3 : Activer HTTPS (facultatif mais recommandé)

Si vous possédez un domaine, sécurisez votre site avec Let's Encrypt :

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain

Suivez les instructions pour installer un certificat SSL. Certbot configurera automatiquement Nginx pour rediriger le trafic HTTP vers HTTPS.


Partie 6 : Facultatif : Configuration de la file d'attente et du planificateur Laravel

File d'attente Laravel :

Les files d'attente gèrent des tâches telles que l'envoi d'e-mails ou le traitement de tâches en arrière-plan.

  1. Configurez un pilote de file d'attente (par exemple, Redis ou base de données).
  2. Exécutez le gestionnaire de file d'attente Laravel :
   php artisan queue:work

Planificateur Laravel :

Utilisez la fonctionnalité de planification de tâches de Laravel pour des tâches telles que vider les caches, envoyer des e-mails quotidiens, etc.

  1. Ajoutez l'entrée cron Laravel à votre crontab :
   sudo crontab -e

Ajoutez la ligne suivante :

   * * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1

Conclusion:

Vous avez déployé avec succès une application Laravel sur un serveur Ubuntu à l'aide de la pile LEMP. À partir de là, vous pouvez continuer à développer votre application, la sécuriser et surveiller ses performances.

Si vous rencontrez des problèmes, consultez les journaux d'erreurs Nginx sur /var/log/nginx/error.log ou les journaux Laravel sur /var/www/laravel_app/storage/logs/laravel.log.

Avec ces étapes, vous avez effectué un déploiement pratique complet de Laravel !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/mdarifulhaque/easy-laravel-deployment-on-ubuntu-a-beginners-guide-with-lemp-stack-155a?1 En cas d'infraction, veuillez contacter study_golang @163.com supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3