FAQ Instructions simples pour travailler avec le service Profitserver
Entrée FAQ Comment configurer un serveur Web (Apache-PHP-MySQL/MariaDB) sous Linux

Comment configurer un serveur Web (Apache-PHP-MySQL/MariaDB) sous Linux


Dans cet article, nous vous expliquerons étape par étape comment configurer un environnement web sur un serveur Linux. Avant toute chose, il est important de comprendre qu'un serveur web classique est composé de plusieurs composants interdépendants :

  • Serveur HTTP
  • interprète de langage de programmation
  • système de gestion de base de données (SGBD)

Pour gérer votre site Web, vous devrez également mettre en place un système de gestion de contenu (CMS), une interface Web pour la gestion de la base de données et un accès FTP.

Considérons la configuration d'une configuration très répandue Apache-PHP-MySQL (MariaDB) sous Linux. Nous installerons également le serveur FTP vsftpd, phpMyAdmin (une interface web de gestion de bases de données) et un système de gestion de contenu WordPress.

Pour commencer, veuillez commander un serveur VPS ou un serveur dédié . À titre d'exemple, nous avons utilisé un serveur virtuel avec une adresse IP statique exécutant Ubuntu Server 18.04. Toutes les commandes ont été exécutées par l'utilisateur root.

Configuration du serveur HTTP Apache

1. Installation

apt install apache2

Une fois l'installation terminée, ouvrez un navigateur et vérifiez « http://[adresse_ip_du_serveur] ».

Configuration du serveur HTTP Apache

Si vous voyez une page d'accueil comme celle-ci sur la capture d'écran ci-dessus, cela signifie que votre serveur HTTP fonctionne.

2. Créer une page de test

Le répertoire racine par défaut du site web est « /var/www/html » . C'est là que se trouve la page d'accueil que vous venez de voir. Créons maintenant un répertoire distinct, « /var/www/sites », pour les hôtes virtuels, ainsi qu'un sous-répertoire « /var/www/sites/site1 » contenant la page d'accueil de votre site web de test.

cd /var/www/

mkdir -p sites/site1

echo "<H1>Welcome</H1>" > sites/site1/index.html

Le fichier « /var/www/sites/site1/index.html » devrait donc contenir une seule ligne de code HTML :

<H1>Welcome</H1>

3. Configuration du serveur Apache

Les fichiers de configuration des sites web se trouvent dans le répertoire « /etc/apache2/sites-available/ » . Créons un fichier de configuration pour un nouvel hôte virtuel en prenant comme base la configuration par défaut du fichier « 000-default.conf » .

cd /etc/apache2/sites-available/

cp 000-default.conf site1.conf

Ouvrez le fichier « site1.conf » et modifiez l’ attribut « DocumentRoot » . Indiquez le chemin d’accès à votre site web comme valeur, soit « /var/www/sites/site1 » dans notre cas.

Configuration du serveur Apache

À ce stade, nous n'avons pas besoin de configurer le fonctionnement simultané de plusieurs sites web ; nous pouvons donc désactiver le site par défaut et activer le nouveau. Rechargez la configuration du serveur pour appliquer les modifications.

a2dissite 000-default

a2ensite site1

systemctl reload apache2

Ouvrez à nouveau le lien « http://[adresse_ip_du_serveur] » et assurez-vous que, au lieu de la page d'accueil par défaut, vous voyez bien notre nouvelle page.

Configuration du serveur Apache

Nous avons terminé la configuration de notre serveur HTTP et nous pouvons passer à l’étape suivante.

Configuration du serveur FTP

1. Installation

Installons notre serveur FTP et le paquet supplémentaire « db-util » , nécessaire à la configuration des utilisateurs virtuels.

apt install vsftpd db-util

2. Créer un compte local

Le serveur vsftpd nous permet de configurer les autorisations d'accès de manière très flexible. Pour nos tâches, nous devons fournir aux utilisateurs FTP les éléments suivants :

  • accès complet au contenu de « /var/www/sites/ »;
  • désactiver tout ce qui est au-dessus « /var/www/ »;
  • connexion avec un compte virtuel ;

Créez un compte local « virtuel » sans autorisation de connexion, mais avec accès au répertoire personnel « /var/www/ » . Ce compte sera utilisé par les utilisateurs FTP pour se connecter au serveur.

useradd -d /var/www virtual

Par défaut, le répertoire « /var/www » appartient à l'utilisateur « root » . Afin de permettre aux utilisateurs FTP de modifier le contenu des sites web, il convient de modifier le propriétaire du répertoire « /var/www/sites/ », y compris ses sous-répertoires « virtual ».

chown -R virtual:root /var/www/sites

Par conséquent, l'utilisateur «virtuel» pourra voir le contenu de «/var/www/» et écrire dans le sous-dossier «/var/www/sites/».

3. Configuration

La configuration principale se trouve dans le fichier « /etc/vsftpd.conf » , ouvrons-le et modifions-le comme suit :

#enable virtual users

anonymous_enable=NO

local_enable=YES

guest_enable=YES

guest_username=virtual
#configure permission

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_world_readable_only=NO

anon_umask=0022

chroot_local_user=YES
#launch settings

listen=YES

pasv_min_port=30000

pasv_max_port=30999

4. Créer la base de données

Vous aurez besoin d’une base de données pour stocker les données des comptes virtuels.

Commençons par créer un simple fichier texte « users.txt » dans le répertoire personnel et enregistrons-y les informations d'accès (identifiant et mot de passe) des utilisateurs virtuels, une ligne sur deux. Par exemple, nous aurons besoin d'un utilisateur virtuel avec l'identifiant « ftp » et le mot de passe « Qwe123 » . Le fichier ressemblera alors à ceci :

ftp

Qwe123

Créons la base de données

db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db

Modifions le fichier PAM par défaut « /etc/pam.d/vsftp » comme suit :

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

Veuillez noter que le chemin d'accès à la bibliothèque « pam_userdb.so » peut être différent, mais vous pouvez le modifier si nécessaire.

Rechargez le serveur vsftpd pour appliquer les modifications.

systemctl restart vsftpd

Nous avons terminé la configuration du serveur FTP.

Détails de connexion :

  • ftp://[adresse_IP_du_serveur]
  • connexion : ftp
  • mot de passe : Qwe123

Configuration du serveur PHP

1. Installation de PHP

La dernière version stable de PHP est PHP 7.4.5, qui n'est pas incluse dans les dépôts Ubuntu officiels. Connectons-nous à un dépôt tiers et installons la dernière version de PHP.

apt update

apt install software-properties-common

add-apt-repository ppa:ondrej/php

apt update

apt install php7.4

2. Vérifier

Pour que le code PHP puisse s'exécuter, le fichier de la page web doit avoir l'extension « .php » . Renommons notre page de test :

cd /var/www/sites/site1/

mv index.html index.php

Ajoutez la ligne PHP suivante au fichier « /var/www/sites/site1/index.php » , afin que le fichier ressemble à ceci :

<H1>Welcome</H1>

<?php

phpinfo();

?>

Enregistrez les modifications et vérifiez le résultat dans le navigateur.

Configuration du serveur PHP - installation et vérification

Si le résultat de la fonction « phpinfo() » s'affiche , l'interpréteur PHP fonctionne correctement. Passons à l'étape suivante.

Configuration de MySQL (MariaDB)

1. Installation

Installons MariaDB et un module PHP pour MySQL puis rechargeons Apache.

apt install mariadb-server php-mysql

systemctl restart apache2

Actualisez la page de test et accédez à la section PDO dans le tableau de configuration PHP. Si vous y trouvez la section « PDO_mysql » , cela signifie que le pilote MySQL est correctement installé.

Installation et configuration de MySQL (MariaDB)

Il faudra ensuite effectuer la configuration de sécurité initiale de MariaDB, définir le mot de passe de l' utilisateur « root » , désactiver l'accès à distance et supprimer tous les comptes invités.

mysql_secure_installation

Dans un premier temps, il faut saisir le mot de passe de l'utilisateur « root » pour accéder au SGBD ou appuyer sur Entrée si aucun mot de passe n'est défini. Comme aucun mot de passe n'est défini pour l' utilisateur « root » après l'installation, appuyez simplement sur Entrée.

Veuillez noter que MariaDB possède ses propres comptes, indépendants des comptes du système d'exploitation. Par conséquent, le seul utilisateur avec lequel nous interagissons dans MariaDB est « root ».

  MySQL : créer un compte et définir un mot de passe

Ensuite, le configurateur vous demandera de définir le mot de passe de l'utilisateur root. Tapez « O » pour confirmer et saisissez le nouveau mot de passe. Dans notre cas, il s'agit de « Qwe123 ».

  MySQL : créer un compte et définir un mot de passe

Répondez « O » à toutes les autres questions jusqu'à la toute fin.

La configuration est terminée !

Détails d'accès à MariaDB :

  • Connexion : racine
  • Mot de passe : Qwe123

Configuration de phpMyAdmin

1. Installation

Installons l'extension nécessaire pour PHP - mbstring.

apt install php-mbstring

Dans le référentiel officiel, il n'existe qu'une version obsolète de phpMyAdmin, installons donc la nouvelle manuellement.

Ouvrez le site web officiel du projet « https://www.phpmyadmin.net/ » et téléchargez la dernière archive.

Installation et configuration de phpMyAdmin

Copiez l'archive sur le serveur dans le dossier « /var/www/sites/ » à l'aide d'un client FTP.

Décompressez le dossier et renommez-le « phpMyAdmin » . N'oubliez pas d'installer l' utilitaire « unzip » . Vous pourrez supprimer l'archive une fois décompressée.

apt install unzip

cd /var/www/sites/

unzip phpMyAdmin-5.0.2-all-languages.zip

mv phpMyAdmin-5.0.2-all-languages phpMyAdmin

rm phpMyAdmin-5.0.2-all-languages.zip

Créez le dossier « /var/www/sites/phpMyAdmin/tmp » pour les fichiers temporaires et autorisez l'accès à tous. Sinon, phpMyAdmin affichera un message d'erreur d'accès refusé à ce dossier.

cd /var/www/sites/phpMyAdmin/

mkdir tmp

chmod 777 tmp

2. Créez un alias

Étant donné que phpMyAdmin n'est pas un hôte virtuel distinct et qu'il est situé en dehors du répertoire racine, configurons l'alias.

Ouvrez le fichier « /etc/apache2/mods-available/alias.conf » et ajoutez cette ligne :

Alias /pma “/var/www/sites/phpMyAdmin"

dans cette section :

<IfModule alias_module>

</IfModule>
phpMyAdmin : créer un alias

Rechargez Apache pour appliquer les modifications.

systemctl reload apache2

L'alias est configuré, nous pouvons donc accéder à phpMyAdmin ici « http://[adresse_ip_du_serveur]/pma ».

3. Prépare la base de données

Étant donné que nous avons restreint l'utilisation de l'utilisateur root lors de la configuration initiale de MariaDB, nous devrons créer un nouveau compte avec toutes les autorisations qui seront utilisées pour accéder à phpMyAdmin.

De plus, pour activer des fonctionnalités supplémentaires de phpMyAdmin, nous aurons besoin d'une base de données de service et d'un compte pour y accéder.

Créons les comptes

mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit

Veuillez noter que le nom de la base de données dans la deuxième requête se trouve dans les étincelles arrière « … ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY … »,

En conséquence, deux comptes seront créés dans MariaDB :

  • Identifiant : pma, mot de passe : Qwe123Accès complet, sera utilisé pour se connecter à phpMyAdmin
  • Identifiant : pmaservice, mot de passe : Qwe123Le compte de service est requis pour que des fonctionnalités supplémentaires fonctionnent

À l’étape suivante, nous définirons ces détails dans le fichier de configuration « config.inc.php ».

Ensuite, nous devrons importer la base de données à partir du fichier « phpMyAdmin/sql/create_tables.sql ».

Importons-le avec l'aide de phpMyAdmin.

Ouvrez le lien « http://[adresse_ip_du_serveur]/pma »

Saisissez l'identifiant « pma » et le mot de passe « Qwe123 ».

Allez dans « Importer » , cliquez sur « Sélectionner un fichier » et choisissez le fichier « sql/create_tables.sql » situé à la racine de phpMyAdmin. Le dossier « phpMyAdmin » contenant les fichiers devrait se trouver sur votre ordinateur . Décompressez-le si nécessaire.

configuration de phpmyadmin

Cliquez sur « Suivant » pour commencer l'importation.

4. Configuration

Copions le fichier de configuration à partir du modèle

cd /var/www/sites/phpMyAdmin/

cp config.sample.inc.php config.inc.php

Ouvrons le fichier de configuration « /var/www/sites/phpMyAdmin/config.inc.php » et effectuons les modifications suivantes :

Attribuez une valeur aléatoire de 32 caractères à l'attribut « $cfg['blowfish_secret'] » . Utilisez un générateur de mots de passe.

Comment installer et configurer WordPress sur un serveur Linux

Supprimez les commentaires de toutes les lignes de la section « Paramètres de stockage de la configuration phpMyAdmin » et renseignez l'identifiant et le mot de passe du compte de service MariaDB pour les attributs « controluser » et « controlpass » . Dans notre cas, il s'agit de pmaservice et Qwe123.

Comment installer et configurer WordPress sur un serveur Linux

Enregistrer les modifications

Détails d'accès pour phpMyadmin :

  • http://[server’s_ip_address]/pma/
  • Connexion : pma
  • Mot de passe : Qwe123

Comment installer et configurer WordPress sur un serveur Linux

1. Package WordPress et placement des fichiers

Rendez-vous sur le site officiel de WordPress « https://ru.wordpress.org/ » et téléchargez l'archive sur votre ordinateur.

Téléversez l'archive sur le serveur dans le dossier « /var/www/sites/ » et décompressez-la dans le dossier « wordpress ».

Copiez le contenu du dossier racine « /var/www/sites/wordpress/ » du site web « /var/www/sites/site1/ ».

Puisque nous avons copié les fichiers via la console avec les droits d'administrateur, modifions le propriétaire du dossier « /var/www/sites/ », y compris le contenu du répertoire « virtual » . Cette opération est nécessaire pour permettre un accès complet à la connexion FTP via le client.

cd /var/www/sites/

tar -xzvf wordpress-5.4-ru_RU.tar.gz

cp -R wordpress/* site1/

chown -R virtual:root /var/www/sites

2. Créer une base de données pour WordPress

Connectez-vous à phpMyAdmin et cliquez sur « Créer une base de données ». Spécifiez un nom de base de données arbitraire, dans notre cas « wordpress_db », puis cliquez sur le bouton « Créer ».

Créer une base de données pour WordPress

Sélectionnez la nouvelle base de données dans la section de gauche et cliquez sur « Privilèges ».

Créer une base de données pour WordPress

Cliquez ensuite sur « Ajouter un compte utilisateur ».

Dans la fenêtre qui s'ouvre, saisissez l'identifiant et le mot de passe ( wpservice / Qwe123 ), cochez « Accorder tous les privilèges dans la base de données wordpress » et cliquez sur « Suivant ».

Ajouter un compte utilisateur dans la base de données pour WordPress

Sur la page suivante, cliquez sur « Tout annuler » pour réinitialiser tous les privilèges au niveau de la base de données, puis cliquez sur « Suivant ».

Ajouter un compte utilisateur dans la base de données pour WordPress

3. Configuration de WordPress sur un serveur Linux

Accédez au répertoire racine de votre site Web et copiez le fichier de configuration du modèle

cd /var/www/sites/site1/

cp wp-config-sample.php wp-config.php

Ouvrez le fichier « wp-config.php » , saisissez les paramètres de connexion à la base de données que nous avons créés à l'étape précédente et enregistrez les modifications.

Configuration de WordPress sur un serveur Linux

4. Installer le CMS WordPress

Ouvrez le lien suivant dans votre navigateur : « http://[adresse_ip_du_serveur]/wp-admin/install.php ».

Remplissez tous les champs et cliquez sur « Installer WordPress » . Choisissez un nom d'utilisateur et un mot de passe aléatoires. Dans notre exemple, il s'agit de wpadmin et Qwe123.

Ces informations seront utilisées pour accéder à WordPress.

Installer le CMS WordPress sur un serveur Linux

Une fois l'installation terminée, ouvrez le lien « http://[adresse_ip_du_serveur]/wp-login.php » , saisissez les informations d'accès et connectez-vous à WordPress.

Installer le CMS WordPress sur un serveur Linux

Vous devriez voir l’un des modèles WordPress sur la page principale.

Installer le CMS WordPress sur un serveur Linux

La configuration est terminée.

Détails d'accès à WordPress :

  • http://[server’s_ip_address]/wp-login.php
  • Connexion : wpadmin
  • Mot de passe : Qwe123
Article suivant ❯ Configuration du fichier .htaccess

Demandez-nous des informations sur VPS

Nous sommes toujours prêts à répondre à vos questions à toute heure du jour ou de la nuit.