GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer un serveur LEMP sur Debian 10 Buster

LEMP est une excellente alternative aux serveurs LAMP traditionnels. Nginx est plus léger et plus rapide qu'Apache dans certaines situations. Il peut également être configuré pour faire d'autres choses utiles, comme servir de proxy inverse. Tout comme avec LAMP, Debian est une excellente plate-forme pour les serveurs LEMP. Tout ce dont vous avez besoin est disponible dans les dépôts Debian, il est donc simple de commencer.

Dans ce didacticiel, vous apprendrez :

  • Comment configurer MariaDB
  • Comment installer PHP
  • Comment installer Nginx
  • Comment configurer Nginx
  • Comment tester votre serveur

PHPinfo sur LEMP sur Debian 10.

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système Debian 10 Buster
Logiciel Nginx, MariaDB et PHP
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Configurer MariaDB

Le meilleur point de départ pour configurer votre serveur LEMP est la base de données. Pour ce guide, MaraiDB servira de base de données. Puisqu'il s'agit d'un remplacement direct de MySQL, MariaDB est une excellente option. Avant de pouvoir utiliser MariaDB pour l'un de vos projets, vous devrez le configurer. Il ne faut pas grand-chose pour faire fonctionner une application comme WordPress, donc cela ne prendra pas longtemps.

Installer MariaDB

Commencez par installer réellement le serveur MariaDB.

$ sudo apt install mariadb-server

Configurer la base de données

Avec MariaDB installé, vous êtes prêt à préparer votre base de données pour fonctionner avec des applications Web. MariaDB a un script qui vous aidera à sécuriser automatiquement votre serveur de base de données, alors commencez par l'exécuter.

$ sudo mysql_secure_installation

Suivez les instructions du script. Configurez un mot de passe root, lorsque vous y êtes invité. Les valeurs par défaut sont bonnes pour tout le reste.

Maintenant, connectez-vous à MariaDB en utilisant le mysql commande et en spécifiant la root utilisateur.

# mysql -u root -p

Créez une base de données pour votre projet.

CREATE DATABASE newdb;

Ensuite, créez un utilisateur qui se connectera à la base de données et la gérera.

CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';

Cet utilisateur aura besoin d'un contrôle total de la base de données pour pouvoir exécuter une application Web. Accordez-lui tous les privilèges sur la base de données et ses tables.

GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost';

Tout est configuré et prêt à l'emploi. Videz vos privilèges et quittez MariaDB.

FLUSH PRIVILEGES;
\q

Installer PHP

PHP est la prochaine pièce du puzzle. Vous n'aurez pas besoin de tout le paquet PHP de Debian, seulement de PHP-FPM. Installez-le avec le module MySQL.

$ sudo apt install php-fpm php-mysql

Installer Nginx

Presque tout est en place. Il vous suffit de configurer le serveur Web, Nginx. Pour commencer, installez Nginx sur votre système à partir des dépôts Debian.

$ sudo apt install nginx

Configurer Nginx

Nginx est un serveur Web puissant et offre une tonne d'options. Cela signifie également qu'il y a beaucoup de configuration nécessaire pour le faire fonctionner exactement comme vous le souhaitez. Ce guide vous fournira une configuration de travail de base, mais vous pouvez faire beaucoup plus avec Nginx.

Les configurations de site Nginx sont stockées dans /etc/nginx/sites-available et lié à /etc/nginx/sites-enabled . Créez un nouveau fichier pour la configuration de votre serveur dans /etc/nginx/sites-available , et ouvrez-le dans votre éditeur de texte.

Commencez par créer un bloc de serveur pour indiquer à Nginx qu'il s'agit d'une nouvelle configuration de site.

server {
}

Le reste de votre configuration ira dans ce bloc. Ensuite, ajoutez les adresses d'écoute. Ce sont les numéros de port suivis des attributs importants de votre site. S'il s'agit de votre site unique ou par défaut, ajoutez default_server après le numéro de port.

server {
    listen 80 default_server;
    listen [::]:80 default_server;
}

Ajoutez dans le dossier racine Web où vous souhaitez placer votre site. /var/www/html est la valeur par défaut habituelle. Suivez cela en indiquant à Nginx le nom de l'index de votre site, mieux connu sous le nom de page d'accueil.

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /ver/www/html;
    index index.php index.html;
}

Maintenant, ajoutez le nom de domaine de votre site en tant que server_name . S'il ne s'agit que d'un serveur local, utilisez _ à la place d'un domaine.

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /ver/www/html;
    index index.php index.html;

    server_name yourwebsite.com;

}

Ce bloc de configuration suivant indique à Nginx de vérifier les fichiers correspondant à l'adresse Web actuelle.

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /ver/www/html;
    index index.php index.html;

    server_name yourwebsite.com;

    location / {
        try_files $uri $uri/ =404;
    }

}

Configuration Nginx pour LEMP sur Debian 10.

Enfin, ce dernier bloc indique à Nginx de transmettre les fichiers PHP à PHP-FPM. C'est là que le gros du travail va être fait.

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /ver/www/html;
    index index.php index.html;

    server_name yourwebsite.com;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    }

}

Lorsque vous avez terminé, enregistrez votre configuration et quittez. Maintenant, associez-le à sites-enabled .

$ sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-site

Ensuite, redémarrez le serveur pour activer le site.

$ sudo systemctl restart nginx

Testez votre serveur

Le moyen le plus simple de vous assurer que votre serveur fonctionne correctement consiste à créer un nouveau fichier PHP dans votre racine Web pour exécuter du code PHP. Créer index.php à /var/www/html/ , et ouvrez-le avec votre éditeur de texte. Placez la ligne de code suivante dans le fichier et enregistrez-la.

<?php phpinfo(); ?>

Ouvrez votre navigateur et accédez à votre serveur. Vous devriez voir un tableau d'informations PHP sur votre serveur. Si vous le faites, votre serveur fonctionne normalement et il est prêt pour votre application PHP, comme WordPress.

Conclusion

À partir de là, vous pouvez faire à peu près n'importe quoi. La configuration du serveur restera en place et tout devrait rester fonctionnel, à moins que vous ne le changiez. Vous pouvez également ajouter plusieurs autres sites au même serveur Nginx avec des configurations similaires. Changez simplement le server_name pointer vers un autre domaine.


Debian
  1. Comment installer et configurer PHP et Nginx (LEMP) sur Debian 11

  2. Comment configurer un serveur SFTP sur le serveur Debian 11

  3. Comment installer le serveur MySQL sur Debian 10 Buster

  4. Comment installer Zabbix sur Debian 9

  5. Comment installer la pile LEMP sur Debian 10 Buster

Comment configurer un serveur Minecraft sur Debian 10

Comment installer Nginx, MariaDB, PHP (pile LEMP) sur Debian 9

Comment installer Nginx, MariaDB, PHP (pile LEMP) sur Debian 11

Comment installer la pile LEMP sur le serveur/bureau Debian 10 Buster

Comment installer un serveur minimal Debian 10 (Buster)

Comment installer le serveur LEMP sur CentOS 8