Configuration d'un serveur de lampe de Debian Top 10 pour le développement Web PHP

Configuration d'un serveur de lampe de Debian Top 10 pour le développement Web PHP
Dans cet article, je vais vous montrer comment configurer un serveur de lampe (Linux, Apache, MySQL / MARIADB, PHP) pour le développement Web PHP. Je vais utiliser la distribution Debian 10 Buster GNU / Linux récemment publiée pour la démonstration. Alors, commençons.

Mise à jour du cache du référentiel de packages APT:

Tout d'abord, mettez à jour le cache du référentiel de package APT avec la commande suivante:

$ sudo apt mise à jour

Le cache du référentiel de package APT doit être mis à jour.

Installation et configuration de MySQL / MARIADB:

Maintenant, installez les packages MariADB Server et Client à partir du référentiel de package officiel de Debian 10 avec la commande suivante:

$ sudo apt installer MariaDb-Server MariaDB-Client

Pour confirmer l'installation, appuyez sur Y Et puis appuyez sur .

Le gestionnaire de packages APT téléchargera et installera tous les packages requis.

À ce stade, le serveur MARIADB et les packages clients seront installés.

Maintenant, vérifiez si mariadb Le service s'exécute avec la commande suivante:

$ sudo systemctl status mariadb

Comme vous pouvez le voir, le mariadb Le service est en cours d'exécution. C'est aussi activé Pour démarrer automatiquement sur le démarrage du système.

Si en tout cas, mariadb Le service n'est pas en cours d'exécution, puis démarrez le service avec la commande suivante:

$ sudo systemctl start mariadb

Maintenant, exécutez la commande suivante pour définir un racine Mot de passe pour mariaDB:

$ sudo mysql_secure_installation

Presse .

Maintenant, appuyez sur Y Et puis appuyez sur .

Maintenant, saisissez votre racine Mot de passe et appuyez sur .

Tapez votre racine Mot de passe à nouveau et appuyez sur .

Presse Y Et puis appuyez sur Pour supprimer les utilisateurs anonymes.

Si vous ne voulez pas autoriser racine Connectez-vous à distance, appuyez sur Y. Sinon, appuyez sur N. Puis appuyez .

Maintenant, appuyez sur Y et presser Pour supprimer la base de données de test.

Maintenant, appuyez sur Y Et puis appuyez sur Pour recharger le tableau des privilèges.

MariaDB doit être configuré.

Création de nouveaux utilisateurs et bases de données MySQL / MARIADB:

Maintenant, vous devez créer un nouvel utilisateur et une base de données pour votre application Web.

Connectez-vous à Maridb Shell avec la commande suivante:

$ sudo mysql -u root -p

Maintenant, tapez dans le mariadb racine Mot de passe que vous avez déjà défini et appuyé sur .

Vous devriez être connecté.

Maintenant, créez une base de données app1 avec l'instruction SQL suivante:

$ Créer une base de données App1;

Maintenant, créez un nouvel utilisateur (disons, bousculade), définissez un mot de passe pour l'utilisateur (disons 123) et accorder à l'utilisateur l'autorisation d'utiliser la base de données app1 avec l'instruction SQL suivante:

Accorder tout sur APP1.* À «shovon» @ «localhost» identifié par «123»;

Maintenant, rincez les privilèges MariaDB pour que les changements prennent effet comme suit:

Privilèges de rinçage;

Maintenant, sortez de la coque MariaDB comme suit:

\ q

Installation du serveur Web Apache et PHP:

Maintenant, installez le serveur Web Apache 2 et PHP avec la commande suivante:

$ sudo apt installer apache2 php

Maintenant, appuyez sur Y Et puis appuyez sur Pour confirmer l'installation.

Le serveur Web d'Apache 2 et PHP doivent être installés.

Maintenant, vérifiez si apache2 Le service s'exécute avec la commande suivante:

$ sudo systemctl status apache2

Comme tu peux le voir, apache2 Le service est en cours d'exécution. C'est aussi activé Pour démarrer automatiquement sur le démarrage du système.

Si en tout cas, apache2 Le service n'est pas en cours d'exécution, alors vous pouvez le démarrer manuellement comme suit:

$ sudo systemctl start apache2

Installation d'extensions de PHP:

Le référentiel officiel de Debian 10 a de nombreuses extensions de PHP préemballées.

Vous pouvez répertorier toutes les extensions / bibliothèques PHP disponibles avec la commande suivante:

$ sudo apt Search ^ php-

Le nom du package de toutes les extensions PHP, y compris leur numéro de version et leur description courte, doit être répertorié. C'est une très longue liste. Donc, cela peut prendre un certain temps pour trouver ce que vous recherchez de cette façon.

Pour installer les extensions / bibliothèques PHP les plus courantes, exécutez la commande suivante:

$ sudo apt installer php-curl php-gd php-mbstring php-mysql php-zip
php-json php-xml

Maintenant, appuyez sur Y Et puis appuyez sur Pour confirmer l'installation.

Les extensions de PHP courantes doivent être installées.

Une fois les extensions PHP installées, redémarrez le serveur Web Apache comme suit:

$ sudo systemctl redémarrer apache2

Activation / désactiver les modules Apache:

Apache Web Server est livré avec de nombreux modules. Vous pouvez les activer ou les désactiver comme vous avez besoin.

Pour répertorier tous les modules Apache 2 disponibles, exécutez la commande suivante

$ ls / etc / apache2 / mods-disponible

Comme vous pouvez le voir, tous les modules Apache 2 disponibles sont répertoriés.

Pour activer un module (disons, récrire), exécutez la commande suivante:

$ sudo a2enmod réécriture

N'oubliez pas de redémarrer le serveur Web Apache 2 si vous activez / désactivez les modules Apache 2.

Pour redémarrer le serveur Web Apache 2, exécutez la commande suivante:

$ sudo systemctl redémarrer apache2

Pour répertorier tous les modules Apache 2 activés / actifs, exécutez la commande suivante:

$ sudo a2query -m

Tous les modules APACHE 2 APPAY / ACTIVE doivent être répertoriés.

Si vous décidez de désactiver un module activé, utilisez le a2dismod Commande comme suit:

$ sudo a2dismod modulename

Modification de l'utilisateur d'Apache Run:

L'utilisateur par défaut d'Apache Run sur Debian 10 est www-data et le répertoire de racine Web par défaut est / var / www / html. Ainsi, en tant qu'utilisateur ordinaire, vous ne pourrez pas créer de fichiers / répertoires, ou de modifier les fichiers / répertoires existants dans le répertoire de racine Web. Lorsque vous configurez un serveur de lampe de développement, ce n'est pas ce que vous voulez. Pour résoudre ce problème, vous devez modifier l'utilisateur d'Apache Run en votre utilisateur de connexion et modifier le propriétaire et le groupe du webroot / var / www / html à votre utilisateur de connexion.

Pour modifier l'utilisateur d'Apache Run, modifiez / etc / apache2 / envvars Fichier de configuration avec la commande suivante:

$ sudo nano / etc / apache2 / envvars

Vous devez modifier le Apache_run_user et Apache_run_group Variables d'environnement.

Maintenant, réglé Apache_run_user et Apache_run_group Variables d'environnement au nom d'utilisateur de votre utilisateur de connexion (la sortie du qui suis je commande). Une fois que vous avez terminé, enregistrez le fichier en appuyant sur + X suivie par Y et .

Maintenant, changez le propriétaire et le groupe du / var / www / html Répertoire du nom d'utilisateur de votre utilisateur de connexion avec la commande suivante:

$ sudo chown -rf $ (whoami): $ (whoami) / var / www / html

Maintenant, redémarrez le serveur Web Apache 2 avec la commande suivante:

$ sudo systemctl redémarrer apache2

Tester le serveur de lampe:

J'ai créé 2 scripts PHP indice.php et phpinfo.php dans le webroot / var / www / html.

Contenu de indice.php:

$ host = "localhost";
$ user = "shovon";
$ pass = "123";
$ db = "app1";
essayer
$ Conn = new PDO ("MySQL: host = $ host; dbname = $ db", $ utilisateur, $ pass);
$ Conn-> setAttribute (PDO :: att_errMode, PDO :: errMode_Exception);
écho "connecté avec succès";
catch (pDoException $ e)
Echo "La connexion a échoué:" . $ e-> getMessage ();

?>
Contenu de Phpinfo.PHP:
phpinfo ();
?>

Maintenant, vous devriez pouvoir accéder aux scripts PHP à partir de votre navigateur comme vous pouvez le voir dans la capture d'écran ci-dessous.

http: // localhost
http: // localhost / phpinfo.php

C'est donc ainsi que vous configurez un serveur Debian 10 Lamp pour le développement Web PHP. Merci d'avoir lu cet article.