L'une des choses les plus importantes pour configurer un serveur Linux est de déployer un ou plusieurs sites Web. Selon l'enquête de février 2022 de NetCraft.com sur le 1 millions de sites Web les plus fréquentés au monde, soit environ 23,44 % d'entre eux fonctionnent sur Apache .
Ce didacticiel vous expliquera les bases de l'installation et de la configuration d'un serveur Linux (en particulier Debian 11 Bullseye ) pour fonctionner comme une LAMPE serveur.
Qu'est-ce que le serveur LAMP ?
Dans le monde informatique LAMP acronyme de Linux (Ici en utilisant Debian 11 ), Apache , MySQL, et PHP (LAMPE ). LAMPE est couramment utilisé pour référencer des piles de logiciels (en particulier MySQL et PHP ) sur un serveur Web.
Avant de plonger dans les aspects de configuration, il est important de connaître le serveur Web Apache.
Qu'est-ce que le serveur Web Apache ?
Apache était l'un des "original ” serveurs Web et remonte à 1995. Apache est encore largement utilisé aujourd'hui et bénéficie de la longévité, de grandes quantités de documentation et de tonnes de modules pour ajouter de la flexibilité.
Installer MySQL et PHP dans Debian 11
1. Cette première partie décrira Debian comme un MySQL , et PHP serveur. Le segment Linux du LAMP devrait déjà être fait en installant Debian 11 par l'article suivant sur TecMint :
- Une nouvelle installation de Debian 11 Bullseye
Une fois que Debian est prêt, il est maintenant temps d'installer le logiciel nécessaire en utilisant le "apt ‘ méta-packager.
$ sudo apt install mariadb-server php libapache2-mod-php php-zip php-mbstring php-cli php-common php-curl php-xml php-mysql
2. Après MySQL et PHP l'installation se termine, il est souvent recommandé de sécuriser l'installation de MySQL en utilisant mysql_secure_installation
l'utilitaire.
Une fois que vous aurez exécuté la commande ci-dessous, elle demandera à l'utilisateur de définir le mot de passe root et de supprimer des éléments tels que les utilisateurs anonymes, les bases de données de test et la suppression de la connexion de l'utilisateur root distant à la base de données SQL.
$ sudo mysql_secure_installation
3. Maintenant que MySQL est configuré, passons à la configuration de base de PHP pour ce serveur particulier. Bien qu'il existe de nombreux paramètres pouvant être configurés pour PHP, nous en ferons quelques-uns de base qui sont pour la plupart toujours nécessaires.
Le fichier de configuration php ouvert se trouve dans /etc/php/7.4/apache2/php.ini
.
$ sudo vi /etc/php/7.4/apache2/php.ini
Recherchez maintenant la chaîne "memory_limit ” et augmentez la limite en fonction des besoins de votre application.
Un autre paramètre important à vérifier est le "max_execution_time " et encore une fois par défaut, il sera défini sur 30 . Si une application nécessite plus, ce paramètre peut être modifié.
À ce stade, MySQL et PHP5 sont prêts à commencer à héberger des sites. Il est maintenant temps de configurer Apache2.
Installation et configuration d'Apache2
4. Il est maintenant temps de configurer Apache 2 pour terminer la configuration de la LAMPE serveur. La première étape de la configuration d'Apache2 consiste à installer le logiciel à l'aide de apt méta-packager.
$ sudo apt install apache2
Cela installera tous les fichiers et dépendances nécessaires pour Apache2.
Une fois installé, le serveur Web Apache sera opérationnel et servira une page Web par défaut. Il existe plusieurs façons de confirmer que le serveur Web Apache est opérationnel. L'option la plus simple est d'utiliser l'utilitaire lsof :
$ sudo lsof -i :80
L'autre option consiste simplement à naviguer vers l'adresse IP du serveur Web. En supposant une installation par défaut de Debian, le système sera probablement configuré pour utiliser DHCP pour obtenir automatiquement une adresse IP.
Pour déterminer l'adresse IP du serveur, l'un des deux utilitaires peut être utilisé. L'un ou l'autre des utilitaires fonctionnera dans cette situation.
$ ip show addr [Shown below in red] $ ifconfig [Shown below in green]
Quel que soit l'utilitaire utilisé, l'adresse IP obtenue peut être saisie dans un navigateur Web sur un ordinateur du même réseau pour confirmer qu'Apache affiche la page par défaut.
http://IP-Address
À ce stade, Apache est opérationnel. Alors que la page par défaut de Debian est un site Web flashy, la plupart des utilisateurs voudront héberger quelque chose de personnalisé. Les prochaines étapes vous guideront dans la configuration d'Apache 2 pour héberger un site Web différent.
Héberger plusieurs sites Web avec Apache dans Debian
5. Debian a empaqueté quelques utilitaires utiles pour gérer à la fois les sites et les modules. Avant de vous expliquer comment utiliser ces utilitaires, il est important de comprendre les fonctions qu'ils remplissent.
- a2ensite :Cet utilitaire est utilisé pour activer un site Web après la création du fichier de configuration approprié.
- a2dissite :Cet utilitaire est utilisé pour désactiver un site Web en spécifiant le fichier de configuration du site Web.
- a2enmod :Cet utilitaire est utilisé pour activer des modules Apache2 supplémentaires.
- a2dismod :Cet utilitaire est utilisé pour désactiver les modules Apache2 supplémentaires.
- a2query :Cet utilitaire peut être utilisé pour recueillir des informations sur les sites actuellement activés.
Tout d'abord, rassemblons un peu d'expérience avec les deux premiers. Étant donné qu'Apache 2 héberge actuellement la "page Web par défaut ‘ Allons-y et désactivons-le avec a2dissite .
$ sudo a2dissite 000-default.conf
Cette commande désactivera le site Web apache par défaut vu dans la capture d'écran ci-dessus. Cependant, pour que les modifications prennent effet, la configuration d'Apache 2 doit être rechargée.
$ sudo systemctl reload apache2
Cette commande demandera à Apache 2 de mettre à jour les sites activés/désactivés qu'il héberge actuellement. Cela peut être confirmé en essayant de se reconnecter à l'adresse IP du serveur Web et en remarquant que rien ne s'affiche (certains ordinateurs mettront en cache les informations, si la machine affiche toujours le site Web par défaut après l'exécution des deux commandes précédentes, essayez d'effacer le Web- cache des navigateurs). Une autre option pour confirmer que le site n'est plus activé consiste à utiliser la a2query utilitaire.
$ sudo a2query -s
Il se passe beaucoup de choses dans cette capture d'écran, alors décomposons les choses.
- La case verte ci-dessus est
a2query -s
qui demande à Apache 2 d'indiquer quels sites sont actuellement servis. - La case jaune est
a2dissite 000-default.conf
suivi du rechargement du service apache2. Ces deux commandes indiquent à Apache 2 de désactiver le site par défaut, puis de recharger les sites actifs/inactifs. - La case rouge est
a2query -s
être émis à nouveau mais notez que cette fois Apache répond que rien n'est servi.
Passons maintenant à la création d'un site non par défaut. La première étape consiste à basculer vers le répertoire de configuration d'Apache 2 qui est /etc/apache2
à l'aide de l'utilitaire cd.
$ cd /etc/apache2
Il y a plusieurs fichiers et répertoires importants dans ce répertoire, cependant, par souci de brièveté, seules les nécessités seront couvertes ici.
La première chose à faire lors de la configuration d'un nouveau site est de créer un nouveau fichier de configuration dans le dossier "sites-available 'répertoire. Changez les répertoires en ‘sites-available ‘, puis créez un nouveau fichier de configuration.
$ cd sites-available $ sudo cp 000-default.conf tecmint-test-site.conf
Cela copiera la configuration du site par défaut dans le nouveau fichier de configuration du site pour une modification ultérieure. Ouvrez la nouvelle page de configuration du site avec un éditeur de texte.
$ sudo vi tecmint-test-site.conf
Dans ce fichier, il y a une ligne très importante pour l'hébergement d'un site Web, cette ligne est le 'DocumentRoot ' doubler. Cette ligne indique à Apache où se trouvent les fichiers Web nécessaires qu'il doit servir lorsque des demandes arrivent pour des ressources particulières.
Pour l'instant, cette ligne sera définie sur un répertoire qui n'existe pas mais qui le sera bientôt et qui contiendra un site Web simple à afficher pour ce serveur Debian.
DocumentRoot /var/www/tecmint
Enregistrez les modifications apportées à ce fichier et quittez l'éditeur de texte.
Maintenant, le répertoire à partir duquel Apache 2 vient de recevoir les fichiers doit être créé et rempli de fichiers. Bien que cet article fonctionne avec des fichiers HTML, il n'y a peut-être pas assez de temps pour expliquer comment créer un site Web entièrement fonctionnel et laisse ce processus au lecteur.
Créons donc le répertoire qu'Apache doit servir et ajoutons-y une page Web html de base appelée "index.html ‘.
$ sudo mkdir /var/www/tecmint $ touch /var/www/tecmint/index.html $ echo “It's ALIVE!” >> /var/www/tecmint/index.html
Les commandes ci-dessus créeront un nouveau répertoire appelé 'tecmint ' ainsi qu'un nouveau fichier appelé 'index.html ‘ dans le répertoire tecmint.
La commande echo placera du texte dans ce fichier afin qu'il affiche réellement quelque chose dans le navigateur Web lorsqu'Apache dessert le site Web.
$ sudo a2ensite tecmint-test-site.conf $ sudo systemctl reload apache2 $ sudo a2query -s tecmint-test-site.conf
La dernière commande ci-dessus confirmera simplement qu'Apache2 dessert effectivement le site Web nouvellement créé. À ce stade, naviguez à nouveau dans un navigateur Web vers l'adresse IP du serveur et voyez si le site Web nouvellement créé est affiché (encore une fois, les ordinateurs aiment mettre les données en cache et, à ce titre, plusieurs actualisations peuvent être nécessaires pour obtenir la nouvelle page Web).
Si le nouveau "It's ALIVE !!!" ” le site s'affiche, alors Apache 2 a été configuré avec succès et affiche le site Web.
Toutes nos félicitations! Bien qu'il s'agisse d'une configuration simple qui prépare une Linux LAMP serveur pour héberger un site, il y a des choses beaucoup plus complexes qui peuvent être faites et la configuration dépend grandement de cet objectif final.