Recherche de site Web

Comment installer le framework PHP Laravel avec Nginx sur Ubuntu 20.04


Laravel est le framework PHP le plus populaire, gratuit et open source au monde, connu pour sa syntaxe expressive et élégante. Laravel est accessible, puissant et offre certains des meilleurs outils de développement Web requis pour les applications volumineuses, robustes et modernes.

Dans cet article, vous apprendrez comment installer le Laravel PHP Framework sur le serveur Ubuntu 20.04 exécuté sur le serveur Web Nginx.

Conditions préalables

  • Comment installer LEMP Stack avec PhpMyAdmin dans Ubuntu 20.04

Étape 1 : Installation des modules PHP requis

Après avoir configuré la pile LEMP sur votre serveur Ubuntu 20.04 comme décrit dans le guide dans le lien ci-dessus, vous devez installer les extensions PHP supplémentaires requises par Laravel comme suit :

sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

Étape 2 : Création d'une base de données pour Laravel

Ensuite, vous devez créer une base de données MySQL pour votre application Laravel. Alors, connectez-vous à votre shell mysql et créez la base de données comme suit.

sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

Étape 3 : Installation de Composer dans Ubuntu 20.04

Laravel utilise le composer (un gestionnaire de dépendances pour PHP) pour gérer ses dépendances. Par conséquent, avant d'utiliser Laravel, assurez-vous que Composer est installé sur votre système comme indiqué.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

Étape 4 : Installation de Laravel dans Ubuntu 20.04

Après avoir installé composer, utilisez-le pour installer les fichiers Laravel. Accédez à votre répertoire /var/www/html où les fichiers Web sont stockés, puis installez Laravel à l'aide du composer comme indiqué. N'oubliez pas de remplacer example.com par le nom du répertoire où seront stockés les fichiers Laravel.

cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com

Étape 5 : Configuration de Laravel dans Ubuntu 20.04

Pour répertorier le contenu de la nouvelle installation Laravel, exécutez la commande ls suivante. Vous remarquerez qu'un fichier .env a été créé automatiquement, qui, dans le passé, devait être créé manuellement.

ls -la /var/www/html/example.com/

Ensuite, définissez les autorisations appropriées sur le répertoire Laravel comme suit.

sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

Ensuite, Laravel utilise une clé d'application pour sécuriser les sessions utilisateur et autres données cryptées. Le .env par défaut contient une clé d'application par défaut mais vous devez en générer une nouvelle pour votre déploiement Laravel pour des raisons de sécurité.

sudo php artisan key:generate

La clé générée sera ajoutée dans le fichier .env en tant que valeur de APP_KEY. Vous pouvez afficher la clé ajoutée à l'aide de la commande grep.

grep -i APP_Key /var/www/html/example.com/.env

Vous devez également configurer les détails de connexion à la base de données Laravel dans .env comme indiqué dans la capture d'écran suivante.

sudo nano /var/www/html/example.com/.env

Étape 6 : Configuration de NGINX pour servir l'application Laravel

Pour que NGINX serve votre nouvelle application, vous devez créer un bloc serveur pour celle-ci dans la configuration NGINX, sous le répertoire /etc/nginx/sites-available/.

sudo nano /etc/nginx/sites-available/example.com.conf

Dans la configuration ci-dessous, mettez à jour la directive racine dans le répertoire public de l'application Laravel et assurez-vous de remplacer www.example.com par le nom de domaine de votre site Web, comme indiqué.

De plus, définissez la directive fastcgi_pass qui doit pointer vers le support sur lequel PHP-FPM écoute les requêtes (par exemple fastcgi_pass unix:/run/php/php7.4 -fpm.sock) :

server{
        server_name www.example.com;
        root        /var/www/html/example.com/public;
        index       index.php;

        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

Enregistrez le fichier, puis activez la configuration du site Laravel en créant un lien depuis /etc/nginx/sites-available/example.com.conf vers le /etc/nginx/sites-enabled/ répertoire. En outre, supprimez la configuration de bloc de serveur par défaut.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Vérifiez ensuite si la syntaxe de configuration NGINX est correcte en exécutant la commande suivante avant de redémarrer le service.

sudo nginx -t
sudo systemctl restart nginx

Étape 7 : Accéder à l'application Laravel à partir d'un navigateur Web

À ce stade, vous devez tester si votre déploiement Laravel fonctionne correctement et s'il est accessible depuis un navigateur. Pour utiliser le domaine factice, example.com, utilisons le fichier /etc/hosts sur votre ordinateur local pour créer un DNS local.

Exécutez les commandes suivantes pour obtenir l'adresse IP du serveur Laravel et ajoutez-la au fichier /etc/hosts (remplacez la valeur en fonction de vos paramètres).
$ annonce IP
$echo « 192.168.56.11 exemple.com » | sudo tee -a /etc/hosts

Ouvrez maintenant un navigateur Web sur l'ordinateur local et utilisez l'adresse suivante pour naviguer.

http://www.example.com/

Maintenant que Laravel est installé, vous pouvez commencer à créer votre application Web ou votre site. Pour plus d'informations, consultez la documentation Laravel.