Installation et configuration du serveur Apache. Installer un serveur Web sous Linux

Maison / Freins

Comment mettre en place un serveur Apache ? Qu'est-ce que le fichier httpd.conf ? Dans ce tutoriel, je vais répondre à ces questions et montrer les directives de base pour configurer un serveur.

Fichiers de configuration du serveur

Le serveur Apache possède trois fichiers de configuration : httpd.conf, srm.conf, accès.conf. Généralement, ces fichiers se trouvent dans le répertoire /etc/httpd/conf(Linux). Toute configuration du serveur consiste à éditer ces trois fichiers. Voyons quelles fonctions remplissent ces fichiers :

  1. Déposer httpd.conf- c'est le fichier de configuration principal du serveur. Il contient descriptif technique fonctionnement du serveur.
  2. Dans le dossier srm.conf les paramètres des documents hébergés sur le serveur sont spécifiés.
  3. Déposer accès.conf contient les paramètres d’accès au serveur.

fichier httpd.conf

Le fichier contient presque toutes les directives nécessaires au fonctionnement du serveur. Ci-dessous sont directives de base Fichier de configuration du serveur Apache :

Nom du serveur - directive qui définit le nom du serveur Apache. De plus, le nom officiel du serveur doit être précisé ici sous la forme sous laquelle il doit apparaître dans la barre d'adresse du navigateur. Ce nom doit être enregistré auprès serveur DNS votre réseau.

Type de serveur - une directive qui définit le type de serveur. La valeur par défaut est autonome. Si vous souhaitez obtenir des performances maximales de votre serveur Web, ne modifiez pas cette option.

Type de serveur autonome

Racine du serveur - Cette directive précise l'emplacement des fichiers de configuration du serveur Apache. Par défaut, le répertoire /etc/httpd est utilisé à ces fins.

Racine du serveur "D:/MonDossier/usr/local/Apache"

Fichier Pid - Cette directive précise le nom du fichier dans lequel le processus serveur initial sera enregistré. Ce fichier contient son identifiant de processus (PID). Vous pouvez utiliser ces informations pour arrêter ou redémarrer le serveur lors de l'écriture de vos propres scripts. Ce fichier ne sera créé que si le serveur Apache fonctionne en mode autonome.

Journaux PidFile/httpd.pid

Temps mort - spécifie la période de temps en secondes pendant laquelle le serveur continue de tenter de reprendre le transfert de données suspendu. Le sens de la directive Timeout s'applique non seulement à la transmission, mais aussi à la réception de données. Si vous devez recevoir des fichiers volumineux, je vous recommande d'augmenter cette valeur.

Délai d'attente 300

Garder en vie - autorise les connexions persistantes, c'est-à-dire les connexions dans lesquelles plusieurs requêtes sont effectuées à la fois.

Restez en vie

MaxKeepAliveRequests - Le nombre maximum de requêtes autorisées lors d'une connexion persistante. Réglez sur 0 pour supprimer la limite. Pour améliorer les performances, il est recommandé de fixer ce nombre à un niveau relativement élevé.

MaxKeepAliveRequests 100

KeepAliveTimeout - définit le délai d'attente pour une connexion persistante.

KeepAliveTimeout15

Administrateur du serveur - Ensembles adresse email webmaster de votre site internet. En cas d'erreurs, un message sera envoyé à cette adresse.

Administrateur du serveur root@localhos

Démarrer les serveurs - Définit le nombre de processus enfants créés au démarrage du serveur. Le paramètre est dynamique et change pendant le fonctionnement, vous n'avez donc pas besoin de le modifier.

MinSpareServeurs - Spécifie le nombre minimum de processus enfants inactifs qui attendent de recevoir une demande. Créer un nouveau processus est une opération assez coûteuse et grandes quantités les requêtes placeront une charge supplémentaire sur le serveur.

MinSpareServeurs 8

MaxSpareServers – Spécifie le nombre maximum de processus enfants inactifs qui attendent de recevoir une demande. Encore une fois, si de nombreux processus supplémentaires sont créés, le système sera fortement chargé même avec un nombre minimum de clients.

MaxSpareServers 20

Limite du serveur – Cette directive définit la valeur maximale de MaxClients. Il est recommandé de définir cette valeur égale à la valeur de la directive Maxclients.

Clients maximum - Veuillez noter qu'il s'agit du paramètre de réglage le plus important pour Prefork MPM. La directive définit le nombre maximum de processus parallèles créés pour traiter les demandes. Plus la valeur est grande, plus de requêtes peuvent être traitées simultanément et plus de mémoire sera consommée. Lors de l'utilisation de pages dynamiques avec PHP, 16 à 32 Mo peuvent être alloués par processus. Pour déterminer plus précisément, vous devez exécuter la commande ‘ via une connexion SSH ps -ylC httpd --sort:rss‘. En sortie, nous recevrons un tableau où se trouveront les valeurs requises de mémoire occupée dans la colonne RSS ; pour obtenir les valeurs en mégaoctets, il faut les diviser par 1024. Pour obtenir informations généralesà propos de la mémoire, vous pouvez exécuter la commande « free -m ». Vous pouvez maintenant calculer la valeur approximative du paramètre lui-même à l'aide de l'une des formules :

Clients maximum≈ (RAM – size_of_loaded_applications)/(size_of_process), ou
Clients maximum≈RAM* 70 % / Max_memory_size_per_process.

MaxRequestsPerChild – Définit le nombre de requêtes que le processus enfant peut traiter avant de redémarrer. La valeur doit être suffisamment grande pour éviter de créer constamment de nouveaux processus. Mais il est quand même recommandé de le limiter (0 – illimité) afin que lorsque Apache s'exécute pendant une longue période, en cas de « fuite de mémoire », le processus soit interrompu de force.

Préparation des dossiers

Je n’aime vraiment pas que tout traîne, alors créons d’abord des dossiers dans lesquels seront situés nos programmes et nos sites Web.
Créez un dossier « Serveur » sur le lecteur « C:\ » (ou à tout autre endroit qui vous convient) :
C:\Serveur\
Créons-y 2 dossiers :
C:\Server\web – c'est le dossier dans lequel nous aurons les programmes
C:\Server\domains – et nos sites Web seront dans ce dossier
Ainsi, dans le dossier \web\ nous allons créer 3 dossiers pour apache, php, mysql :
C:\Serveur\web\apache\
C:\Serveur\web\php\
C:\Serveur\web\mysql\
Ensuite, allez dans le dossier domains et créez le dossier \localhost\
C:\Serveur\domaines\localhost\
À l'intérieur du dossier, nous aurons 2 sous-dossiers : public_html – pour les fichiers du site ; journaux - pour fichiers texte, qui enregistre « qui » a accédé au site et quelles erreurs sont apparues dans le fonctionnement du site.
C:\Serveur\domains\localhost\public_html\
C:\Serveur\domains\localhost\logs\
Ceci conclut la structure des dossiers, passons à la configuration d'Apache.

Configuration d'Apache

Pour Installations Apache nous avons besoin d'Apache lui-même (Cap). Puisque nous avons Windows 8.1 x64, nous installerons Apache x64.
Pour télécharger, suivez le lien :
www.apachelounge.com/download/win64
et téléchargez « httpd-2.4.6-win64.zip ». Nous avons également besoin de fonctionnement normal"Distribué Forfait Microsoft Visual C++ 2010 (x64)". Pour cela, téléchargez-le depuis ce lien :
www.microsoft.com/ru-ru/download/details.aspx?id=14632
et installer.
Une fois notre archive téléchargée depuis Apache, ouvrons-la. Après avoir ouvert l'archive, nous verrons le dossier « Apache24 », allez-y. De nombreux dossiers et fichiers programme apparaîtront, décompressez le tout dans le dossier précédemment préparé :
C:\Serveur\web\apache\
Cela devrait ressembler à ceci :
C:\Serveur\web\apache\bin\
C:\Serveur\web\apache\cgi-bin\
C:\Serveur\web\apache\conf\
C:\Serveur\web\apache\erreur\
C:\Serveur\web\apache\htdocs\
C:\Serveur\web\apache\icons\
C:\Serveur\web\apache\include\
C:\Serveur\web\apache\lib\
C:\Serveur\web\apache\logs\
C:\Serveur\web\apache\manual\
C:\Serveur\web\apache\modules\
Nous n'avons pas besoin de dossiers tels que \cgi-bin\, \htdocs\, \icons\ et \manual\ - vous pouvez les supprimer.
Allons dans le dossier :
C:\Serveur\web\apache\conf\
Et ouvrez le fichier de configuration Apache - "httpd.conf" avec n'importe quel éditeur de texte. Dans ce fichier, chaque ligne contient des directives pour configurer Apache, et les lignes commençant par un signe # (dièse) contiennent un commentaire et une explication. Commençons par la configuration :

Fichier de configuration Apache

# Directive Apache
Racine du serveur « C:/Serveur/web/apache »
# Écoute sur le port IP local (80 par standard)
Écoutez 127.0.0.1:80
# Ensuite, nous inclurons les bibliothèques d'extensions pour Apache
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module "C:/Serveur/web/php/php5apache2_4.dll"
# nous disons à Apache que les fichiers avec l'extension php doivent être traités comme des scripts php
Application AddHandler/x-httpd-php .php
# spécifiez l'emplacement du fichier de paramètres php
PHPIniDir « C:/Serveur/web/php »
# changer le nom du serveur
Nom du serveur 127.0.0.1:80
# modifier l'accès au répertoire

Les options incluent les index FollowSymLinks
Autoriser tout remplacer
Autoriser tous


# annuaire avec nos sites
DocumentRoot « C:/Serveur/domaines »
# fichiers d'index, par priorité.

AnnuaireIndex index.php index.html index.htm index.shtml

# dossier pour les fichiers journaux
Journal des erreurs « C:/Server/domains/logs/error.log »
Journal personnalisé « C:/Server/domains/logs/access.log »
# ajouter un alias pour phpMyAdmin et corriger l'alias pour cgi

Alias ​​/pma « C:/Server/domains/phpMyAdmin »
ScriptAlias ​​​​/cgi-bin/ « C:/Server/web/apache/cgi-bin/ »

# modifier le chemin pour cgi

AllowOverride Aucun
Options Aucune
Exiger que tout soit accordé

# types de fichiers


AddType texte/html .shtml
AddOutputFilter INCLUT .shtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

# Autres configurations :



NavigateurMatch "MSIE 10.0;" mauvais_DNT


RequestHeader non défini DNT env=bad_DNT

Ceci termine la configuration de httpd.conf.
Des configurations supplémentaires ont été incluses dans le fichier de configuration Apache httpd.conf :
Inclure conf/extra/httpd-mpm.conf
Inclure conf/extra/httpd-autoindex.conf
Inclure conf/extra/httpd-vhosts.conf
Inclure conf/extra/httpd-manual.conf
Inclure conf/extra/httpd-default.conf
Ouvrons le fichier « C:\Server\web\apache\conf\extra\httpd-mpm.conf » et parcourons-le rapidement.
# indique où nous allons stocker le fichier pid :

Fichier Pid « C:/Server/web/apache/logs/httpd.pid »

Nous laissons les paramètres restants inchangés. Ouvrons le fichier « httpd-autoindex.conf », modifions uniquement les lignes avec le chemin :
Alias ​​​​/icons/ "c:/Server/web/apache/icons/"

Options Index MultiViews
AllowOverride Aucun
Exiger que tout soit accordé

Fichier d'hôtes Apache

# en utilisant le domaine localhost comme exemple

DocumentRoot "C:/Server/domains/localhost/public_html"
Nom du serveur hôte local
Journal d'erreurs "C:/Server/domains/localhost/logs/error.log"
CustomLog "C:/Server/domains/localhost/logs/access.log" commun


# ajoutez phpMyAdmin pour le futur (n'oubliez pas de créer un dossier)

DocumentRoot "C:/Server/domains/phpmyadmin/public_html"
Nom du serveur hôte local
Journal d'erreurs "C:/Server/domains/phpmyadmin/logs/error.log"
CustomLog "C:/Server/domains/phpmyadmin/logs/access.log" commun

Ceci termine l’édition du fichier. Ensuite, dans les fichiers restants, nous éditons uniquement les chemins :
Fichier "httpd-manual.conf" :
AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "C:/ Serveur/web/apache/manuel$1"

Aucune modification n'est apportée au fichier « httpd-default.conf ». Ceci termine la configuration de la configuration Apache.

Configuration PHP

Puisque Windows 8.1 x64 et Apache x64 sont installés et configurés, alors php devrait être x64.
Allons sur le site :

et téléchargez l'archive php de la dernière version. Nous avons besoin de php comme module, c'est-à-dire Pour ce faire, téléchargez Thread Safe. Une fois l'archive téléchargée, ouvrez-la et transférez le contenu dans le dossier « C:\Server\web\php\ ». Créons deux dossiers vides"tmp" et "télécharger". Ensuite, dans ce dossier, recherchez le fichier « php.ini-development » et renommez-le en « php.ini ». Ouvrez le fichier dans un éditeur de texte et modifiez les directives (les lignes de commentaires dans le fichier commencent par un point-virgule).

Configuration de php.ini

short_open_tag = Activé
zlib.output_compression = Activé
post_max_size = 64 M
include_path = ".;C:\Serveur\web\php\includes"
extension_dir = "C:/Serveur/web/php/ext"
upload_tmp_dir = "C:/Serveur/web/php/upload"
upload_max_filesize = 64 Mo
extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
; dans la section nous indiquons le fuseau horaire de notre serveur (http://php.net/date.timezone)
date.timezone = "Asie/Ekaterinbourg"
session.save_path = "De :/Serveur/web/php/tmp/"


Ceci termine la configuration php.

Configuration de MySQL

Nous installons MySQL x64 en tant que socket sous Windows. Téléchargez l'archive depuis dernière version MySQLx64 :
dev.mysql.com/downloads/mysql
En bas de la page, nous trouvons Windows (x86, 64 bits), ZIP Archive et cliquons sur le bouton « Télécharger ». Vous serez redirigé vers la page d'inscription du site. Cliquez en bas de la page « Non merci, lancez simplement mon téléchargement » pour lancer le téléchargement de l'archive MySQL. Une fois l'archive téléchargée, ouvrez-la et transférez tout le contenu du dossier vers « C:\Server\web\mysql\ »
Ouvrez maintenant le fichier de paramètres MySQL – « C:\Server\web\mysql\my-default.ini ». Nous supprimons tout son contenu et y entrons nos données.
port = 3306
hôte = 127.0.0.1
port = 3306
adresse de liaison = 127.0.0.1
activer le canal nommé
basedir="C:/Serveur/web/mysql/"
datadir="C:/Serveur/web/mysql/data/"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
C'est ça. Dans le fichier de configuration, nous avons indiqué que les scripts peuvent accéder au serveur à la fois via une IP locale et via une connexion socket.
Il reste juste un petit peu à faire. Ajoutons les chemins vers Apache et MySQL à la variable système "PATH", pour cela :
  1. Faites glisser le curseur de votre souris vers le coin inférieur droit de l'écran
  2. Cliquez sur l'icône Rechercher et entrez : panneau de configuration
  3. Sélectionnez Système->Avancé ( Options supplémentaires systèmes)
  4. Sélectionnez Variables d'environnement, dans le menu Variables système, recherchez la variable PATH et cliquez dessus.
  5. Entrez les chemins d'accès à Apache et MySQL :
;C:\Serveur\web\apache\bin;C:\Serveur\web\mysql\bin
Ensuite, nous installerons les services Apache et MySQL. Pour ce faire, utilisez le raccourci clavier « Win ​​+ X », un menu déroulant apparaîtra dans le coin inférieur gauche. Sélectionnez « Invite de commandes (administrateur) ».
DANS ligne de commande entrez pour installer Apache :
httpd –k installer
pour installer MySQL :
mysqld.exe --install MySQL --defaults-file=”C:\Server\web\mysql\my-default.ini”
Définissons un mot de passe pour l'utilisateur MySQL. Pour ce faire, démarrons le service Commande MySQL:
NET démarrer MySQL
Une fois le service démarré, définissez un mot de passe :
mysqladmin –u mot de passe root YourPassword
Nous avons enregistré deux sites dans le fichier « httpd-vhosts.conf » ; pour que le navigateur les voie, les noms des sites doivent être ajoutés au fichier « hosts ». Allons dans le dossier :
C:\Windows\System32\Drivers\etc\
ouvrez le fichier « hosts » avec n'importe quel éditeur de texte (exécuté en tant qu'administrateur) et ajoutez à la fin du fichier :
127.0.0.1 hôte local
127.0.0.1 phpmyadmin
Enregistrez le fichier.
Pour faciliter le démarrage et l'arrêt des services Apache et MySQL, nous créerons les fichiers start-server.bat et stop-server.bat.
Pour cela, allons dans le dossier « C:\Server\ » et créons ces deux fichiers.
Contenu de « start-server.bat » :
@echo désactivé
NET démarrer Apache2.4
NET démarrer MySQL
Contenu de « stop-server.bat » :
@echo désactivé
NET arrêter Apache2.4
NET arrêter MySQL
La configuration d'Apache, PHP et MySQL est désormais terminée. Afin de tester le serveur, créons un fichier "index.php" avec le contenu dans le dossier "C:\Server\domains\localhost\public_html" :

Ensuite, démarrons notre serveur ; pour ce faire, exécutez « start-server.bat » en tant qu'administrateur. Une fois le serveur démarré, ouvrez votre navigateur et saisissez « localhost » dans la barre d'adresse.
La page d'informations PHP devrait apparaître.

Installer un serveur web sous Linux :

  • Si vous possédez Ubuntu, alors l'article « Comment installer le serveur Web Apache avec PHP 7, MariaDB/MySQL et phpMyAdmin (LAMP) sur Ubuntu 16.10 » vous convient.
  • Si vous disposez d'Arch Linux, alors l'article « Installer LAMP (Linux, Apache, MySQL/MariaDB, PHP7 et phpMyAdmin) sur Arch Linux / BlackArch » vous convient.

Le serveur local est un outil très utile. Il sera certainement utile aux webmasters, aux programmeurs PHP et aux testeurs d'intrusion. Tous les programmes inclus dans une installation typique de serveur Web sont gratuits et open source. Un serveur Web local consomme un minimum de ressources et est en fait assez simple à installer et à configurer.

Cette instruction vous expliquera comment installer un serveur Web local sans utiliser d'assemblys prêts à l'emploi. Cette méthode a ses avantages. Les plus importants d'entre eux sont : un contrôle total sur ce que vous installez ; capacité à utiliser les dernières versions des logiciels.

Si vous suivez exactement les instructions, alors tout fonctionnera certainement pour vous ! Sauf pour ceux qui possèdent Windows XP - si vous disposez de ce système d'exploitation, des instructions spéciales ont été rédigées pour vous.

Je vais montrer un exemple d'installation sur Windows 10, mais si vous disposez d'une version différente de Windows, ne vous laissez pas déranger, la procédure est identique partout. Je téléchargerai les dernières versions (les plus récentes) des programmes au moment de la rédaction. Si au moment où vous lisez, de nouvelles versions seront publiées, téléchargez-les.

Étapes d'installation :

Cela peut également vous être utile :

1. Préparation (téléchargement des programmes inclus dans le serveur, création de la structure du serveur)

Nous avons besoin de :

  • Apache(directement serveur web)
  • PHP- environnement pour exécuter des programmes PHP (requis par presque tous les sites Web)
  • MySQL- système de gestion de base de données (requis par la plupart des sites Web)
  • phpMonAdmin- un outil très pratique pour la gestion de bases de données

Le site officiel des développeurs Apache est httpd.apache.org. Vous pouvez télécharger Apache à partir de ce site. Mais la version officielle est construite à l'aide d'un ancien compilateur, pour cette raison elle ne fonctionne pas avec les nouvelles versions de PHP. Les auteurs PHP recommandent Apache sur apachelounge.com/download. Par conséquent, pour cette instruction, nous téléchargeons Apache depuis le site apachelounge.com/download.

Si vous disposez d'une version 64 bits de Windows, vous pouvez choisir les versions 64 bits et 32 ​​​​bits des composants. La règle principale est que tous les composants doivent avoir la même taille de bits. Si vous disposez d'une version 32 bits de Windows, tous les composants doivent être en 32 bits. Cela ne s'applique pas à phpMyAdmin, qui est écrit en PHP. Pour les programmes PHP, la notion de profondeur de bits n'est pas applicable.

La version gratuite de MySQL s'appelle Serveur communautaire MySQL. Il peut être téléchargé sur la page. Il existe un programme d'installation exécutable sur la même page, mais je recommande de télécharger l'archive ZIP. Sur la page de téléchargement, il nous est demandé de nous inscrire ou de nous connecter à un compte existant - mais ce n'est pas nécessaire. Cliquez simplement sur le lien " Non merci, je lance juste mon téléchargement" Faites attention à la profondeur de bits.

Nous avons également besoin du fichier Visual Studio 2017 redistribuable C++, c'est-à-dire Composant redistribuable Visual C++ pour Visual Studio 2017 (ou tout autre version ultérieure), vous pouvez le télécharger sur le site officiel de Microsoft en utilisant le lien (lien direct pour télécharger la version 64 bits ; lien direct pour télécharger la version 32 bits). Ce fichier est nécessaire pour le serveur Web. Et MySQL nécessite les packages redistribuables Visual C++ pour Visual Studio 2015. Il peut être téléchargé à partir de .

J'ai donc téléchargé les fichiers suivants :

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-toutes-langues.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Installer des fichiers vc_redist.x64.exe Et vcredist_x64.exe.

2. Créez une structure de serveur Web

Créons la structure de répertoires de notre serveur. L'idée principale est de séparer les fichiers exécutables et les fichiers de sites Web avec des bases de données. Ceci est pratique pour la maintenance du serveur, y compris les sauvegardes.

A la racine du disque C:\ créer un répertoire Serveur. Dans ce répertoire, créez 2 sous-répertoires : poubelle(pour les fichiers exécutables) et données.

Allez dans l'annuaire données et créez-y des sous-dossiers D.B.(pour les bases de données) et htdocs(pour les sites Web).

Allez dans l'annuaire C:\Serveur\données\DB\ et créez-y un dossier vide données.

3. Installation d'Apache 2.4

Le contenu de l'archive téléchargée (plus précisément, uniquement le répertoire Apache24), déballer dans C:\Serveur\bin\.

Allez dans l'annuaire c:\Serveur\bin\Apache24\conf\ et ouvrez le fichier httpd.conf n’importe quel éditeur de texte.

Dans celui-ci, nous devons remplacer un certain nombre de lignes.

Définir SRVROOT "c:/Apache24"

Définir SRVROOT "c:/Server/bin/Apache24"

#ServerName www.exemple.com:80

Nom du serveur hôte local

DocumentRoot "$(SRVROOT)/htdocs"

DocumentRoot "c:/Serveur/data/htdocs/"

DirectoryIndex index.html

AnnuaireIndex index.php index.html index.htm

# AllowOverride contrôle quelles directives peuvent être placées dans les fichiers .htaccess.

# Il peut s'agir de "Tous", "Aucun" ou de toute combinaison de mots-clés : # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

# AllowOverride contrôle quelles directives peuvent être placées dans les fichiers .htaccess.

# Il peut s'agir de "Tous", "Aucun" ou de toute combinaison de mots-clés : # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

Enregistrez et fermez le fichier. Ça y est, la configuration d'Apache est terminée ! Une description de chaque directive modifiée peut être trouvée sur cette page.

Ouvrez la ligne de commande (cela peut être fait en appuyant simultanément sur les touches Win+X). Sélectionnez-y Windows PowerShell (Administrateur) et copiez-y :

C:\Serveur\bin\Apache24\bin\httpd.exe -k install

Si une demande est reçue du pare-feu pour Apache, cliquez sur Autoriser.

Entrez maintenant dans la ligne de commande :

C:\Serveur\bin\Apache24\bin\httpd.exe -k start

Et appuyez sur Entrée.

Entrez root comme nom d'utilisateur. Laissez le champ du mot de passe vide. Si tout est fait correctement, alors tout devrait ressembler à ceci : 7. Utilisation du serveur et sauvegarde des données Dans le catalogue

c:\Serveur\données\htdocs\

créer des dossiers et des fichiers, par exemple : c:\Server\data\htdocs\test\ajax.php - ce fichier sera donc disponible sur http://localhost/test/ajax.php, etc..

Pour créer une sauvegarde complète de tous les sites et bases de données, copiez simplement le répertoire poubelle C:\Serveur\données\

Avant de mettre à jour les modules, faites une sauvegarde du dossier

  • - en cas de problème, vous pouvez facilement revenir aux versions précédentes.
  • Lors de la réinstallation du serveur ou de sa mise à jour, vous devez reconfigurer les fichiers de configuration. Si vous disposez de copies de ces fichiers, le processus peut être considérablement accéléré. Il est conseillé de sauvegarder les fichiers suivants :
  • c:\Serveur\bin\Apache24\conf\httpd.conf
  • c:\Serveur\bin\mysql-8.0\my.ini

c:\Serveur\bin\PHP\php.ini

c:\Serveur\data\htdocs\phpMyAdmin\config.inc.php

Tous les paramètres y sont stockés.

8. Configuration PHP supplémentaire

définit la quantité maximale de mémoire qu'un script peut utiliser

Post_max_size = 8M

définit la quantité maximale de données qui seront acceptées lors de l'envoi à l'aide de la méthode POST

;default_charset = "UTF-8"

définit l'encodage (par défaut, la ligne est commentée)

Upload_max_filesize = 2 Mo

la taille maximale d'un fichier téléchargé sur le serveur. La taille est initialement définie sur une très petite taille - seulement deux mégaoctets. Par exemple, lors du chargement d'une base de données dans phpMyAdmin, vous ne pourrez pas télécharger un fichier de plus de 2 mégaoctets tant que cet élément de paramètre n'est pas modifié.

Max_file_uploads = 20

nombre maximum de fichiers à télécharger en même temps

Max_execution_time = 30

temps d'exécution maximum pour un script

La modification de ces paramètres est totalement facultative, mais il est utile de les connaître.

9. Paramètres supplémentaires pour phpMyAdmin

Nous avons déjà configuré phpMyAdmin et pour la plupart des gens, les fonctionnalités de base suffisent. Cependant, sur la page de démarrage de phpMyAdmin, il y a un message : « Les fonctionnalités supplémentaires de phpMyAdmin ne sont pas entièrement configurées, certaines fonctions ont été désactivées. »

Les nouvelles fonctionnalités sont :

  • montrer les relations entre les tables (liées);
  • ajout d'informations sur les tables (à partir de la version 2.3.0, vous pouvez décrire dans un tableau spécial « table_info » quelle colonne sera affichée dans l'info-bulle lorsque vous déplacez le curseur sur la clé associée) ;
  • créer un diagramme PDF (à partir de la version 2.3.0, vous pouvez créer des pages PDF dans phpMyAdmin montrant les relations entre vos tables) ;
  • afficher les commentaires des colonnes (depuis la version 2.3.0 vous pouvez faire un commentaire décrivant chaque colonne pour chaque tableau. Et ils seront visibles dans "l'aperçu avant impression". Depuis la version 2.5.0, les commentaires sont utilisés sur les pages propres des tableaux et dans les vues en mode, apparaissant sous forme d'info-bulles au-dessus des colonnes (tables de propriétés) ou intégrées dans l'en-tête du tableau en mode visualisation. Elles peuvent également être affichées dans le dump de la table) ;
  • créer des favoris (depuis la version 2.2.0, phpMyAdmin permet aux utilisateurs de mettre des requêtes en signet. Cela peut être utile pour les requêtes fréquemment utilisées) ;
  • historique des requêtes SQL (à partir de la version 2.5.0, vous pouvez enregistrer votre historique de toutes les requêtes SQL effectuées via l'interface phpMyAdmin) ;
  • designer (à partir de la version 2.10.0, l'outil Designer est disponible ; il permet de gérer visuellement les relations entre les tables) ;
  • des informations sur les tables récemment utilisées ;
  • personnaliser l'interface des tableaux fréquemment utilisés ;
  • suivi (à partir de la version 3.3.x, un mécanisme de suivi est disponible. Il vous aide à suivre chaque commande SQL exécutée par phpMyAdmin. L'enregistrement de la manipulation des données et l'enregistrement des commandes sont pris en charge. Une fois activé, vous pourrez versionner les tables) ;
  • paramètres utilisateur (à partir de la version 3.4.x, phpMyAdmin permet aux utilisateurs de définir la plupart des paramètres et de les enregistrer dans la base de données) ;
  • menus personnalisés (à partir de la version 4.1.0, vous pouvez créer des groupes d'utilisateurs qui n'auront accès qu'aux éléments de menu attribués. Un utilisateur peut être affecté à un groupe et ne verra que les éléments de menu disponibles pour son groupe) ;
  • masquer/afficher les éléments de navigation (à partir de la version 4.1.0, vous pouvez masquer/afficher les éléments dans l'arborescence de navigation).
  • et d'autres

Nous allons maintenant configurer entièrement ces fonctionnalités supplémentaires. Allez sur le lien http://localhost/phpmyadmin/chk_rel.php et cliquez sur "Créer une base de données". Après cela, toutes les nouvelles fonctionnalités seront activées.

Quelques captures d'écran des nouvelles fonctionnalités :

1) Concepteur

2) Suivi

10. Installation d'une prise mail

Dans le répertoire C:\Server\bin\, créez un nouveau répertoire appelé Sendmail. Maintenant, dans ce répertoire, créez un fichier sendmail.php avec le contenu suivant :

#!/usr/bin/envphp

Ouvrez le fichier de configuration PHP, il se trouve ici C:\Serveur\bin\PHP\php.ini. Et ajoutez-y une ligne :

Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"

Enregistrez le fichier et redémarrez le serveur. Super, désormais tous les e-mails envoyés seront enregistrés dans le répertoire C:\Serveur\bin\Sendmail\emails\

Les lettres auront l'extension .eml et ils peuvent être ouverts, par exemple, par le programme Oiseau-tonnerre. Ou un éditeur de texte classique.

11. Ajout d'un répertoire PHP à PATH sous Windows

Si cela n'est pas fait, il peut y avoir des problèmes avec certains modules PHP, notamment php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll et php_pgsql.dll. Au moins, à chaque démarrage du serveur, les éléments suivants apparaissent dans les journaux :

Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique "C:\\Server\\bin\\PHP\\ext\\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\ xbf\xbd\xef\xbf\xbd.\r\n dans Inconnu sur la ligne 0 Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique "C:\\Server\\bin\\PHP\\ext\\php_intl.dll " - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n dans Inconnu en ligne 0 Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique " C:\\Server\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r \n dans Inconnu en ligne 0 Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll" - \xef\xbf\xbd\xef\xbf \xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n dans Inconnu sur la ligne 0 Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique "C:\\Server\\bin\\PHP\ \ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n dans Inconnu à la ligne 0

Pour éviter ces avertissements, vous devez ajouter le chemin d'accès à PHP aux variables d'environnement de votre système.

Cliquez sur le bouton Démarrer (ou quel que soit son nom sous Windows 10 ?), commencez à taper " Modification des variables d'environnement système» et ouvrez la fenêtre de paramètres correspondante.

Là, cliquez sur " Variables d'environnement»:

Dans la fenêtre " Variables système» recherchez et cliquez sur Chemin, puis cliquez sur " Changement»:

Déplacez l'entrée vers le haut :

Fermez toutes les fenêtres et enregistrez vos modifications.

Redémarrez le serveur.

12. Gel, ralentissement du trafic et/ou erreur de serveur Échec d'AcceptEx asynchrone

Si votre serveur se bloque même sans charge, il n'affiche pas les pages Web jusqu'au redémarrage, et dans les journaux du serveur, il y a des erreurs d'échec d'Asynchronous AcceptEx :

AH00455 : Apache/2.4.9 (Win64) PHP/5.5.13 configuré -- reprise des opérations normales AH00456 : Serveur Apache Lounge VC11 construit : 16 mars 2014 12:42:59 AH00094 : Ligne de commande : "c:\\Server\\ bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418 : Parent : processus enfant créé 4952 AH00354 : Enfant : démarrage de 64 threads de travail.

(OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone.

(OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone.

(OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone.

(OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone.

(OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone.

(OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone.

Ajoutez ensuite au fichier de configuration Apache :

AcceptFilter http aucun AcceptFilter https aucun EnableSendfile désactivé EnableMMAP désactivé

13. Configuration de cURL dans le serveur Web Apache sous Windows

Si vous ne savez pas ce qu'est cURL, vous n'en avez pas besoin. Ceux. N'hésitez pas à sauter cette étape.

cURL est un utilitaire de console qui permet d'échanger des données avec des serveurs distants en utilisant un très grand nombre de protocoles. cURL peut utiliser des cookies et prend en charge l'authentification. Si une application Web nécessite cURL, cela doit être spécifié dans les dépendances. De nombreuses applications populaires ne nécessitent pas cURL, par exemple phpMyAdmin et WordPress n'ont pas besoin de configurer cURL. C:\Serveur\bin\PHP\php.ini Si cURL n'est pas configuré correctement, vous recevrez des erreurs : Erreur fatale : appel à une fonction non définie curl_multi_init() dans...

erreur curl : problème de certificat SSL : impossible d'obtenir le certificat de l'émetteur local C:\Serveur\bin\. Ce sont Apache, MySQL et PHP - c'est-à-dire programmes qui sont responsables du fonctionnement du serveur, mais que nous pouvons télécharger depuis les sites officiels et reconfigurer à tout moment.

Si vous souhaitez en faire une copie de sauvegarde (par exemple, avant de mettre à niveau le serveur), alors arrêtez les services :

C:\Serveur\bin\Apache24\bin\httpd.exe -k stop net stop mysql

Et copiez le dossier dans un endroit sûr C:\Serveur\bin\.

À propos, vous pouvez copier l'intégralité du serveur, c'est-à-dire dossier C:\Serveur\- dans ce cas, vous obtiendrez simultanément une copie de sauvegarde des fichiers exécutables et des données (bases de données, sites Web).

Une fois la copie terminée, redémarrez les services :

C:\Serveur\bin\Apache24\bin\httpd.exe -k start net start mysql

15. Mise à jour du serveur

Tous les composants qui composent le serveur Web sont activement développés et de nouvelles versions sont régulièrement publiées. Lorsqu'une nouvelle version est publiée, vous pouvez mettre à jour un composant (par exemple PHP) ou plusieurs à la fois.

Supprimer un serveur

Si vous n'avez plus besoin du serveur, ou si vous souhaitez l'installer à nouveau, arrêtez les services et supprimez-les du démarrage automatique en exécutant séquentiellement sur la ligne de commande :

C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k désinstaller net stop mysql c:\Server\bin\mysql-8.0\bin\ mysqld --supprimer

Supprimez les fichiers du serveur ; pour ce faire, supprimez le dossier. C:\Serveur\. Attention, cela supprimera toutes les bases de données et vos sites.

Comment protéger votre serveur Web Apache contre le piratage sous Windows

Avec PHP (avec choix de versions), avec MySQL et phpMyAdmin. Ce site est hébergé exactement sur celui-ci : support technique réactif et qualifié, installation de WordPress et autres applications web en un clic,

Apache est le serveur Web gratuit le plus populaire. En 2016, il était utilisé sur 33 % de tous les sites Internet, soit environ 304 milliards de sites. Ce serveur Web a été développé en 1995 pour remplacer le populaire serveur NCSA et a résolu bon nombre de ses problèmes. La rumeur veut que son nom vienne d'un mot inégal, car il corrigeait des erreurs NCSA. Il s'agit désormais d'un programme multiplateforme prenant en charge Windows, Linux et MacOS et offrant suffisamment de flexibilité, de personnalisation et de fonctionnalités. Le programme a une structure modulaire, ce qui vous permet d'étendre ses fonctionnalités presque indéfiniment à l'aide de modules.

Vous pouvez installer Apache sur Linux à l'aide de quelques commandes, mais le programme fournit un très grand nombre de paramètres pouvant être modifiés, ainsi que des modules qui, une fois activés, fonctionneront mieux. Cet article couvrira l'installation et la configuration d'Apache, nous utiliserons Ubuntu comme système principal, mais vous pouvez répéter ces étapes dans n'importe quelle autre distribution. Nous examinerons non seulement l'installation du programme lui-même, mais également comment le configurer, la configuration des hôtes virtuels Apache, ainsi que les modules les plus utiles.

Pour le moment, la version la plus récente du programme est la 2.4, la configuration d'Apache 2.4 sera donc envisagée. Comme je l'ai déjà dit, sous Linux, le programme est installé en quelques commandes. Pour installer sur Ubuntu, mettez d'abord à jour le système vers la dernière version :

sudo apt mise à jour
$ sudo apt mise à niveau

Ensuite installez apache2 :

sudo apt installer apache2

Dans d'autres distributions, le package du programme s'appelle ceci ou httpd et son installation ne vous posera aucune difficulté.

Une fois l'installation terminée, vous devez ajouter le serveur Web au démarrage afin de ne pas le démarrer manuellement après avoir allumé l'ordinateur :

sudo systemctl activer apache2

Configuration d'Apache

Il est révolu le temps où la configuration Apache était stockée dans un seul fichier. Mais c’est exact : quand tout est réparti dans ses propres répertoires, il est plus facile de naviguer dans les fichiers de configuration.

Tous les paramètres sont contenus dans le dossier /etc/apache/ :

  • Déposer /etc/apache2/apache2.conf responsable des réglages de base
  • /etc/apache2/conf-disponible/*- paramètres supplémentaires du serveur Web
  • /etc/apache2/mods-disponible/*- paramètres des modules
  • /etc/apache2/sites-disponibles/*- paramètres de l'hôte virtuel
  • /etc/apache2/ports.conf- les ports sur lesquels Apache s'exécute
  • /etc/apache2/envvars

Comme vous l'avez remarqué, il existe deux dossiers pour conf, mods et site. Ceux-ci sont disponibles et activés. Lorsque vous activez un module ou un hôte, un lien symbolique est créé du dossier disponible vers le dossier d'activation. Par conséquent, il est préférable d'effectuer les réglages dans les dossiers disponibles. D'une manière générale, vous pourriez vous passer de ces dossiers, tout prendre et tout mettre dans un seul fichier à l'ancienne, et tout fonctionnerait, mais personne ne le fait maintenant.

Examinons d'abord le fichier de configuration principal :

vi /eta/apache2/apache2.conf

Temps mort- indique combien de temps le serveur tentera de poursuivre la transmission ou la réception interrompue des données. 160 secondes suffiront.

Restez en vie- un paramètre très utile, il permet de transférer plusieurs fichiers en une seule connexion, par exemple, non seulement la page html elle-même, mais aussi des images et des fichiers css.

MaxKeepAliveRequests 100- nombre maximum de requêtes par connexion, plus il y en a, mieux c'est.

KeepAliveTimeout 5- délai d'expiration de la connexion, généralement 5 à 10 secondes suffisent pour charger une page, vous n'avez donc pas besoin d'en définir davantage, mais vous n'avez pas non plus besoin de rompre la connexion avant que toutes les données ne soient chargées.

Utilisateur, Groupe- utilisateur et groupe au nom desquels le programme sera exécuté.

Recherches de nom d'hôte- enregistrez les noms de domaine dans les journaux au lieu des adresses IP, il vaut mieux le désactiver pour accélérer le travail.

Niveau de journal- niveau de journalisation des erreurs. Par défaut, warn est utilisé, mais pour que les journaux se remplissent plus lentement, activez simplement error

Inclure- toutes les directives include sont responsables de la connexion des fichiers de configuration discutés ci-dessus.

Les directives de répertoire sont responsables de la définition des droits d'accès à un répertoire particulier du système de fichiers. La syntaxe ici est la suivante :


Valeur du paramètre

Les options de base suivantes sont disponibles ici :

Autoriser le remplacement- indique si les fichiers .htaccess doivent être lus depuis ce répertoire ; ce sont les mêmes fichiers de paramètres et ont la même syntaxe. Tous - autorisez tout, Aucun - ne lisez pas ces fichiers.

Racine du document- définit le dossier à partir duquel les documents doivent être extraits pour être affichés à l'utilisateur

Possibilités- indique quelles fonctionnalités du serveur Web doivent être autorisées dans ce dossier. Par exemple, All - autoriser tout, FollowSymLinks - suivre les liens symboliques, Index - afficher le contenu du répertoire s'il n'y a pas de fichier d'index.

Exiger- définit quels utilisateurs ont accès à ce répertoire. Exiger que tout soit refusé - refuser tout le monde, Exiger que tout soit accordé - autoriser tout le monde. Vous pouvez utiliser la directive user ou group au lieu de all pour spécifier explicitement l'utilisateur.

Commande- vous permet de contrôler l'accès au répertoire. Accepte deux valeurs : Allow,Deny - autoriser tout le monde sauf ceux spécifiés ou Deny,Allow - refuser pour tout le monde sauf ceux spécifiés..ru.

Toutes ces directives ne sont pas utilisées ici, puisque nous nous contentons des valeurs par défaut, mais dans les fichiers .htaccess elles peuvent être très utiles.

Nous avons toujours le fichier /etc/apache2/ports.conf :

Il ne contient qu'une seule directive, Listen, qui indique au programme sur quel port il doit fonctionner.

Le dernier fichier est /etc/apache2/envvars, il est peu probable que vous l'utilisiez, il contient des variables qui peuvent être utilisées dans d'autres fichiers de configuration.

Configurer un serveur Apache via htaccess

Les fichiers .htaccess vous permettent de configurer votre serveur Web Ubuntu pour qu'il se comporte dans un répertoire spécifique. Toutes les instructions spécifiées dans ce fichier sont exécutées comme si elles étaient enveloppées dans une balise s'ils étaient dans le fichier principal.

Il est important de noter que pour que le serveur puisse lire les instructions du .htaccess, les paramètres de ce dossier dans le fichier hôte principal ou virtuel ne doivent pas contenir AllowOverride Aucun pour que tous les paramètres fonctionnent dont vous avez besoin Autoriser tout remplacer.

Sinon, n'importe quelle configuration du serveur Apache peut être effectuée ici, de l'activation des modules à la simple modification de l'accès aux dossiers. Puisque nous avons déjà considéré tous les paramètres, donnons simplement quelques exemples :

Commande refusée, Autoriser
Nier de tous

Refuse à tout le monde l'accès à ce dossier, important à appliquer pour les dossiers de configuration. Le plus souvent, .htaccess est utilisé pour travailler avec le module mod_rewrite, qui permet de modifier les requêtes à la volée :

Réécrire le moteur activé
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Mais il s’agit d’un sujet très vaste qui dépasse le cadre de cet article.

Configuration des modules Apache

Comme je l'ai déjà dit, Apache est un programme modulaire, ses fonctionnalités peuvent être étendues à l'aide de modules. Tous les modules de chargement et fichiers de configuration de modules disponibles se trouvent dans le dossier /etc/apache/mods-available. Et activé dans /etc/apache/mods-enable.

Mais vous n'êtes pas obligé d'analyser le contenu de ces dossiers. La configuration d'Apache 2.4 en ajoutant des modules se fait à l'aide de commandes spéciales. Vous pouvez afficher tous les modules en cours d'exécution avec la commande :

Vous pouvez activer le module avec la commande :

sudo a2enmod nom_module

Et désactivez :

sudo a2dismod nom_module

Après avoir activé ou désactivé les modules, vous devez redémarrer Apache :

sudo systemctl redémarrer apache2

Lorsqu'une de ces commandes est exécutée, un lien symbolique vers un fichier de module avec une extension de chargement est créé ou supprimé dans le répertoire mods-available. Vous pouvez regarder le contenu de ce fichier, il n'y a qu'une seule ligne. Par exemple:

vi /etc/apache2/mods-available/deflate.load

Cela signifie que le module pourrait être activé simplement en ajoutant cette ligne au fichier apache2.conf. Mais il est d’usage de procéder ainsi pour éviter toute confusion.

Les paramètres du module se trouvent dans le même dossier, uniquement dans un fichier avec l'extension .conf au lieu de charger. Par exemple, regardons les paramètres du même module pour la compression de dégonflage :

vi /etc/apache2/mods-available/deflate.conf

Les fichiers dans le dossier conf-available sont les mêmes modules, sauf qu'ils sont installés séparément d'Apache ; il peut s'agir de fichiers de configuration pour activer le module php ou tout autre langage de programmation. Tout fonctionne exactement de la même manière ici, seules les commandes d'activation et de désactivation de ces modules sont légèrement différentes :

a2enconf nom_module

nom du module a2disconf

Comme vous l'avez vu, l'activation des modules est très simple. Activons quelques modules nécessaires mais non activés par défaut :

sudo a2enmod expire
$ sudo a2enmod en-têtes
$ sudo a2enmod réécriture
$ sudo a2enmod ssl

Les modules expires et headers réduisent la charge sur le serveur. Ils renvoient un en-tête Not Modified si le document n'a pas changé depuis la dernière requête. Le module expirations vous permet de définir la durée pendant laquelle le navigateur doit mettre en cache le document reçu. Rewrite permet de modifier les adresses demandées à la volée, très utile lors de la création de liens CNC, etc. Et le dernier pour activer le support du cryptage SSL. N'oubliez pas de redémarrer Apache2 après avoir terminé les réglages.

Configuration des hôtes virtuels Apache

Ce ne serait pas tout à fait pratique si un seul site Web pouvait être hébergé sur une seule machine physique. Apache peut prendre en charge des centaines de sites sur un seul ordinateur et proposer le contenu correct pour chacun. Des hôtes virtuels sont utilisés pour cela. Le serveur détermine à quel domaine la demande arrive et sert le contenu requis à partir du dossier de ce domaine.

Les paramètres des hôtes Apache se trouvent dans le dossier /etc/apache2/hosts-available/. Pour créer un nouvel hôte, créez simplement un fichier avec n'importe quel nom (il est préférable de terminer par le nom d'hôte) et remplissez-le avec les données nécessaires. Vous devez envelopper tous ces paramètres dans une directive Hôte virtuel. En plus des paramètres discutés ici, les éléments suivants seront utilisés :

  • Nom du serveur- nom de domaine principal
  • Alias ​​du serveur- nom supplémentaire sous lequel le site sera accessible
  • Administrateur du serveur- email de l'administrateur
  • Racine du document- dossier avec les documents pour ce domaine

Par exemple:

vi /etc/apache2/sites-available/test.site.conf

Configuration d'Apache Configuration d'Apache

Fichier "httpd.conf"
Le fichier de configuration principal de ce serveur est « httpd.conf ». Il se trouve dans le répertoire "conf" du répertoire racine d'Apache. Vous devrez donc vous moquer de lui. Je dirai tout de suite, si vous ne comprenez pas l'anglais, supprimez tous les commentaires et explications de ce fichier, ne laissez que les directives elles-mêmes (et celles commentées aussi) ; de cette façon, vous pouvez trouver rapidement la directive dont vous avez besoin sans avoir à fouiller dans de nombreuses explications que vous ne comprenez pas. La syntaxe du fichier est très simple : « directive valeur », toutes les lignes qui ne correspondent pas à ce type peuvent être supprimées.

Attention! Certaines directives pourraient ressembler à ceci :

etc. Ces lignes n'ont pas besoin d'être supprimées !

Le symbole de commentaire dans "http.conf" est "#" (dièse). Autrement dit, tous les caractères apparaissant dans la ligne après « # » ne sont pas perçus par le serveur. De cette façon, vous pouvez ajouter vos propres commentaires. En supprimant ce caractère avant les lignes commentées, vous les rendez lisibles par le serveur.

Paramètres généraux
Vous devrez éditer le fichier "httpd.conf". Changez la valeur de certaines directives, décommentez d'autres, ajoutez-en d'autres. Ci-dessous, je fournirai une liste de directives et leurs valeurs qui doivent être présentes dans le fichier de configuration Apache.

Répertoire avec les fichiers du serveur (à ne pas confondre avec "DocumentRoot") :

Racine du serveur "C:/Serveur/Apache/Apache2"

Lie Apache à un port spécifique :

Administrateur de serveur. Contient votre adresse e-mail, qui sera affichée en cas d'erreurs de serveur :

Suivez strictement mes instructions pour être sûr que tout fonctionnera pour vous plus tard. Créez un dossier « Sites » sur le lecteur « C : ». Dans celui-ci, créez un répertoire "home", déjà dedans - "localhost", "neebet", "mysite". Dans chacun de ces dossiers ("localhost", "neebet", "mysite") placez les répertoires "www" (pour stocker les documents html), "cgi" (pour stocker les scripts cgi), les fichiers access.log vides (serveur de journal d'accès ) et error.log (journal des erreurs du serveur).

Vous comprendrez pourquoi cela est nécessaire plus tard, mais maintenant, faites ce que je dis.

Paramètres CGI

Définition d'un alias pour le répertoire avec les scripts cgi "C:Siteshomelocalhostcgi". Lorsque vous spécifiez un chemin comme http://r.codenet.ru/?http://localhost/cgi/ ou http://r.codenet.ru/?http://localhost/cgi-bin/, Apache accédera répertoire "C: Siteshomelocalhostcgi":

ScriptAlias ​​​​/cgi/ "C:/Sites/home/localhost/cgi/"
ScriptAlias ​​​​/cgi-bin/ "C:/Sites/home/localhost/cgi/"

Le répertoire "C:Siteshomelocalhostcgi" sera également disponible pour vos hôtes virtuels lors de l'accès au formulaire "http://virtual_host_name/cgi-bin/cgi-script.bat". Par exemple, si vous saisissez http://r.codenet.ru/?http://neebet/cgi-bin/cgitest.bat dans votre navigateur, le code situé dans le fichier "C:Siteshomelocalhostcgicgitest.bat" sera exécuté , également disponible sur http://r.codenet.ru/?http://localhost/cgi/cgitest.bat. Les hôtes virtuels ont leur propre répertoire pour les scripts cgi, disponible sur "http://virtual_host_name/cgi/cgi-script.bat". Les répertoires "cgi" ne sont pas visibles dans le navigateur et vous recevrez une erreur "403" en y accédant directement.

Indique à Apache que les fichiers avec l'extension "cgi", "bat", "exe" doivent être traités comme des scripts cgi :

Paramètres de langue
Vous pouvez commenter les lignes restantes du formulaire "AddLanguage lang .lang" (à moins bien sûr que vous ayez besoin de la prise en charge de ces langues) :

Mise en place des encodages :

Paramètres SSI
Activation de SSI :

AddType texte/html .shtml
.shtml .html .htm analysé par le serveur AddHandler

Désormais, les principales directives ont été fixées. Pour que les modifications prennent effet, redémarrez Apache.

Hôtes virtuels
Vous avez donc créé un répertoire « localhost » pour stocker et tester les documents de votre site. Mais que se passe-t-il si vous avez plusieurs sites Web ? Vous pouvez bien sûr créer des répertoires pour d'autres sites dans « localhost » et y accéder « http://localhost/site », mais ce n'est pas tout à fait pratique. De plus, Apache permet de résoudre ce problème grâce à des hôtes virtuels. Il existe deux types d'hôtes virtuels : des adresses IP distinctes pour chacun et ceux utilisant une seule IP (hôtes basés sur le nom). Je vais vous expliquer comment configurer ce dernier.

Vous avez déjà créé les dossiers « neebet » et « monsite » dans le répertoire « home ». Ce sont les racines de vos hôtes virtuels. Ils doivent contenir les dossiers « www » et « cgi », ainsi que les fichiers access.log et error.log. C'est-à-dire que tout est comme avec le répertoire "localhost". Tous vos hôtes virtuels utiliseront l'IP "127.0.0.1".

Ajoutez ce qui suit au fichier « httpd.conf » :

NomVirtualHost 127.0.0.1
#localhost

Administrateur du serveur moi@localhost
Nom du serveur hôte local
DocumentRoot "C:/Sites/home/localhost/www"
ScriptAlias ​​​​/cgi/ "C:/Sites/home/localhost/cgi/"
Journal des erreurs C:/Sites/home/localhost/error.log
CustomLog C:/Sites/home/localhost/access.log commun

#neebet

Administrateur du serveur moi@neebet
Nom du serveur neebet
DocumentRoot "C:/Sites/home/neebet/www"
ScriptAlias ​​​​/cgi/ "C:/Sites/home/neebet/cgi/"
Journal des erreurs C:/Sites/home/neebet/error.log
CustomLog C:/Sites/home/neebet/access.log commun

#monsite

ServeurAdmin moi@monsite
Nom du serveur monsite
DocumentRoot "C:/Sites/home/monsite/www"
ScriptAlias ​​​​/cgi/ "C:/Sites/home/monsite/cgi/"
Journal des erreurs C:/Sites/home/monsite/error.log
CustomLog C:/Sites/home/mysite/access.log commun

Peut être ajouté aux blocs " " et d'autres paramètres, mais il est préférable de gérer les hôtes virtuels en utilisant .htaccess. Il convient également de noter que tous les paramètres non spécifiés dans les blocs " " ou en .htaccess, sont hérités de l'hôte principal (c'est-à-dire "localhost").

Que. vous avez configuré Apache pour fonctionner avec des hôtes virtuels. Les noms, bien sûr, peuvent être modifiés, mais attention aux chemins !

Décidons maintenant comment Windows découvre l'existence d'hôtes virtuels ? Pour cela, vous devrez éditer le fichier "hosts" (à ne pas confondre avec le fichier "hosts.sam"), stocké dans le dossier "%WINDOWS%System32driversetc". Cela ressemble à ceci :

# (C) Microsoft Corp., 1993-1999
#
# Ceci est un exemple de fichier HOSTS utilisé par Microsoft TCP/IP pour Windows.
#
# Ce fichier contient des mappages d'adresses IP vers des noms d'hôtes.
# Chaque élément doit être sur une ligne distincte. L'adresse IP doit
# doit figurer dans la première colonne et doit être suivi du nom approprié.
# L'adresse IP et le nom d'hôte doivent être séparés par au moins un espace.
#
# De plus, certaines lignes peuvent contenir des commentaires
# (comme cette ligne), ils doivent suivre le nom du nœud et être séparés
# de celui-ci avec le symbole "#".
#
# Par exemple:
#
# 102.54.94.97 rhino.acme.com # serveur d'origine
# 38.25.63.10 x.acme.com # nœud client x
127.0.0.1 hôte local

Vous devrez y ajouter deux lignes :

127.0.0.1 neebet
127.0.0.1 monsite

Désormais, lors de l'accès à http://r.codenet.ru/?http://neebet, le contenu de "C:Siteshome" sera chargé
eebetwww".

Pour que les modifications prennent effet, redémarrez Apache.

© 2024 ermake.ru -- À propos de la réparation de PC - Portail d'information