Installation du serveur Web Apache PHP. Installer Apache sous Windows

(vous pouvez en savoir plus sur la configuration paramétrique d'Apache 2.4.34 dans un autre article)

Problème d'installation d'Apache sous Windows

Le principal problème avec l'installation de Web- Serveur Apache sous Windows est qu'après l'installation initiale de la distribution, l'ensemble du package (programmes exécutables, fichiers de configuration, fichiers journaux du serveur et une zone de fichiers pour l'hébergement des pages Web) est placé au même endroit. Cela interfère avec le fonctionnement normal du produit. les raisons suivantes:

  • Différenciation des droits d'accès. Les fichiers exécutables doivent rester inchangés, les fichiers de configuration doivent être gérés par l'administrateur du serveur Web et les développeurs et administrateurs de site doivent avoir accès à la zone de fichiers des pages Web. Autorisations des dossiers " Fichiers de programme" sont configurés en supposant qu'il stocke des modules exécutables de progiciels dont la modification n'est pas nécessaire.
  • Dossiers système encombrés. Le dossier « Program Files » du système d'exploitation Windows est initialement destiné à contenir uniquement des fichiers exécutables. Il peut être situé sur un volume séparé dont la taille est sélectionnée administrateur du système sous l’hypothèse de sa relative constance. Personne ne s'attend certainement à ce que les données des utilisateurs, les galeries d'images et les archives de fichiers du site soient stockées dans ce dossier.

Par conséquent, l’installation d’Apache sur Windows doit s’effectuer en deux étapes :

  1. Installation initiale du progiciel dans le dossier sélectionné.
  2. Optimiser le placement des zones de fichiers du serveur Web et modifier sa configuration en conséquence.

Lors de la modification des fichiers de configuration Apache, vous devez toujours vous rappeler que la barre oblique doit être utilisée comme séparateur de chemin pour les fichiers et les dossiers, comme dans les salles d'opération Systèmes Unix et Linux, pas une « barre oblique inverse » comme sous Windows.

Installation initiale

L'installation nécessite au moins le système d'exploitation Windows XP SP3 (pour cela version obsolète vous aurez besoin d'un serveur Web construit avec le compilateur VC9 ou VC10). Versions modernes du système d'exploitation Apache Système Windows 2000 n'est pas pris en charge.

Le package de distribution Apache pour Windows peut être téléchargé depuis l'un des deux fournisseurs « officiels » : Apache Lounge (version 2.4 uniquement, avec documentation) ou Apache Haus (versions 2.4 et 2.2, sans documentation). Il s'agit d'une archive ZIP qui, selon les fournisseurs de distribution, doit être décompressée à la racine du lecteur C:.

Puisque nous allons toujours optimiser le placement de la structure des fichiers du serveur Web, l'installation initiale doit être effectuée dans le dossier destiné à placer les modules exécutables du serveur Web (fichiers exe-, lib-, so- et autres qui ne sont pas sujets à changement). Il pourrait être dossier système"Program Files" ou autre au choix de l'administrateur système.

Après l'installation initiale, vous devez déplacer du dossier « base » vers un autre emplacement du disque des dossiers contenant des fichiers qui « idéologiquement » ne se rapportent pas au serveur Web, mais au site Web. Pour plus de précision, nous supposerons qu'après avoir décompressé la distribution, tous ses composants se trouvent dans le dossier « C:\Program Files\Apache24 » et le site Web sera situé dans le dossier « D:\www ».

Optimiser le placement des zones de fichiers

Immédiatement après l'installation, la structure des dossiers du progiciel Apache ressemble à ceci :

Poubelle - fichiers exécutables Serveurs Web.
cgi-bin— Scripts CGI du site Web.
conf— Fichiers de configuration du serveur Web.
error — Pages d'erreur du protocole HTTP.
htdocs— la zone fichiers du site Web (en d'autres termes, le site Web se trouve ici).
icônes - Icônes du serveur Web
include - fichiers d'en-tête inclus (fichiers h), requis lors de la création d'un serveur Web avec le compilateur VC.
lib - Fichiers de bibliothèque du serveur Web.
journaux— Journaux d'opération du serveur Web.
manuels - documentation au format HTML.
modules - supplémentaires modules logiciels Serveurs Web (donc fichiers).

Parmi les dossiers répertoriés ci-dessus, quatre (cgi-bin, conf, htdocs et logs) n'appartiennent pas au dossier de base du serveur Web. De doit être copié vers dossier de travail Site Web : "D:\www". Les dossiers d'origine peuvent être supprimés, mais ils peuvent être nécessaires pour restaurer la situation d'origine en cas de problème lors de la configuration du serveur Web. En revanche, s'ils sont laissés au même endroit, alors en raison d'une configuration incomplète du serveur Web, il peut arriver que ces dossiers soient utilisés, et non ceux que nous souhaitons. Par conséquent, après les avoir copiés, il est préférable de simplement les renommer respectivement cgi-bin.0, conf.0, htdocs.0 et logs.0.

Configuration d'une nouvelle structure de fichiers

Vous pouvez maintenant refléter la réalité structure du fichier Serveur Web dans les paramètres du fichier de configuration "D:\www\conf\httpd.conf" :

  1. Racine du serveur"C:/Programmes/Apache24" # chemin vers le dossier de base du serveur Web
  2. Fichier Pid"D:/www/logs/httpd.pid" # ID de processus du serveur Web
  3. Racine du document"D:/www/htdocs" # site Web est hébergé ici
  4. <Annuaire"D:/www/ htdocs"> # propriétés du dossier avec le site Web

  5. Journal des erreurs"D:/www/logs/erreur.log" # Journal des erreurs du serveur Web
  6. Journal personnalisé"D:/www/logs/access.log" commun # Journal du serveur Web
  7. ScriptAlias ​​​​/cgi-bin/"D:/www/cgi-bin/" # dossier de scripts CGI du serveur
  8. <Annuaire"D:/www/ cgi-bin"> # propriétés du dossier de scripts du serveur

  9. TypesConfig D:/www/conf/mime.types # Descriptions des types MIME
  10. Inclure"D:/www/conf/extra/ httpd-manuel.conf" # paramètre pour la documentation d'accompagnement

Veuillez noter qu'à l'étape 2, vous devez ajouter une ligne avec le paramètre PidFile au fichier de configuration, car ce paramètre n'est pas présent dans le fichier de configuration de référence. Les paramètres restants dans le fichier de configuration sont déjà présents - vous devez rechercher les lignes les contenant et remplacer les chemins d'origine vers les dossiers par de nouveaux.

Le point 10 suppose que pour permettre l'accès à la documentation HTML via le lien "http://localhost:8080/manual", vous devez décommenter la ligne correspondante avec le paramètre Include et spécifier un nouveau chemin vers le fichier de configuration inclus. Cependant, comme l'emplacement de la documentation a également changé, vous devrez également modifier le fichier « D:\www\conf\extra\httpd-manual.conf » par analogie avec les étapes 3 et 8 :

  1. Correspondance d'alias^/manuel(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "C:/Program Fichiers/Apache24/ manuel$1"
  2. <Annuaire"C:/Programmes/Apache24/ manuel">

Démarrage du serveur et vérification des paramètres

Puisque nous avons modifié la structure des fichiers du serveur Web, vous devez lancer le module exécutable du serveur avec la commande (il peut être écrit dans un fichier bat ou cmd) : "C:\Program Files\Apache24\bin\httpd.exe " -w -f "D: \www\conf\httpd.conf" -d "C:\Program Files\Apache24\."

Exécuter en mode Application personnalisée Apache (c'est-à-dire lancé en utilisant celui qui vient d'être donné ligne de commande) peut être arrêté avec la combinaison de touches +[C]. Si vous rencontrez des difficultés, vous pouvez utiliser la commande suivante : taskkill /f /IM httpd.exe

Pour installer Apache en tant que service, vous devez exécuter la commande : "C:\Program Files\Apache24\bin\httpd.exe". -k installer-f "D:\www\conf\httpd.conf" -d "C:\Program Files\Apache24\."

Le démarrage et l'arrêt du service du serveur Web Apache se font avec les commandes : "C:\Program Files\Apache24\bin\httpd.exe" -k démarrer et "C:\Program Files\Apache24\bin\httpd.exe" -k arrête respectivement.

Supprimer Apache de la liste Services Windows vous pouvez utiliser la commande : "C:\Program Files\Apache24\bin\httpd.exe" -k désinstaller

Vérification de l'installation correcte et la configuration initiale Le serveur Web s'effectue en saisissant l'URL dans le navigateur Web : "http://localhost:80/". Si tout a été fait correctement, une page devrait s'ouvrir avec le texte « Ça marche ! »

Si la documentation d'accompagnement a été installée au format HTML, elle devrait être disponible via le lien "http://localhost:80/manual/"

Apache conserve le journal d'accès au site dans le fichier "D:\www\conf\access.log". Les informations sur les problèmes de fonctionnement du serveur sont enregistrées dans le fichier "D:\www\conf\error.log". Son analyse peut être particulièrement utile lors de la configuration de l'exécution de scripts CGI.

Configuration supplémentaire

En plus des paramètres répertoriés ci-dessus, vous devez vérifier la valeur du paramètre Listen, qui spécifie les paramètres de l'interface réseau (adresse IP et numéro de port TCP) sur laquelle le serveur acceptera les connexions client. Si Apache est utilisé par un développeur Web individuel, la configuration suivante peut être recommandée :

Écouter 127.0.0.1:8080 # paramètres d'interface réseau

Le numéro de port TCP ne doit pas entrer en conflit avec un autre logiciel installé sur l'ordinateur. Donc, port standard HTTP 80 est souvent occupé par le client Skype. Pour partage serveur sur le réseau, vous devez spécifier l'adresse IP ou le nom de réseau correct de l'ordinateur sur lequel le serveur Web est installé.

Le serveur Web Apache est le plus souvent utilisé conjointement avec des interprètes pour les langages de script côté serveur tels que PHP et Perl. Pour que le Site Web puisse utiliser Scripts PHP(en supposant que PHP soit installé dans le dossier C:\PHP5), vous devez ajouter les lignes suivantes dans le fichier de configuration "D:\www\conf\httpd.conf" :

  1. ChargerModule php5_module " C:/PHP5/php5apache2_2.dll"
  2. AddType application/x-httpd-php .php
  3. PHPIniDir "C:/PHP5"

A noter que dans le dossier PHP5 il doit y avoir un fichier de configuration php.ini, créé à partir du fichier php.ini-development (si le serveur est utilisé pour développer des sites Web) ou php.ini-production (il s'agit d'un vrai serveur Web). À Modules PHP pouvait trouver tout ce dont ils avaient besoin bibliothèques dynamiques, le chemin du dossier C:\PHP5 doit être précisé dans la variable PATH de l'environnement Windows.

Les scripts CGI côté serveur Perl doivent déjà être exécutés si deux conditions sont remplies :

  1. L'interpréteur Perl est installé sur cet ordinateur.
  2. La première ligne des fichiers de script spécifie correctement le chemin d'accès à l'interpréteur Perl, par exemple : #!C:/PERL/bin/perl.exe -w

Pour vérifier, vous pouvez saisir l'URL dans votre navigateur : http://localhost:8080/cgi-bin/printenv.pl, après avoir préalablement corrigé la première ligne du script printenv.pl conformément à l'étape 2.

Les nuances restantes de la configuration du serveur Web Apache sous Windows dépassent le cadre de cet article.

Télécharger Distribution du serveur Web Apache 2.2 vous pouvez ici : httpd-2.2.20-win32-x86-openssl-0.9.8r.msi. Cet article a été écrit sur la base de l'installation de cette distribution. Toutes les versions du serveur HTTP Apache inférieures à 2.2.20 sont soumises à une vulnérabilité sérieuse, dont les informations peuvent être lues à l'aide du lien en bas de page. Aujourd'hui, la branche Apache 1.3, autrefois populaire et considérée comme la plus stable, est déjà obsolète et les développeurs du serveur HTTP Apache recommandent d'installer la dernière version. version stable Apache2.2. Les dernières versions d'Apache sont disponibles sur le site officiel : Apache HTTP Server. Des informations sur la façon de choisir une distribution Apache sont publiées dans l'article.

Installation d'Apache 2.2 sous Windows

Installation et exécution du serveur Apache 2.2 sous Windows XP utiliser une distribution binaire avec un installateur intégré n'est pas difficile (les instructions de l'article sont pour la plupart applicables pour une installation dans Windows Vista et Windows 7, les tests ont été effectués exclusivement pour l'installation d'Apache sur Windows XP).

Veuillez noter que si l'ordinateur est connecté à réseau local/ Internet - les sites exécutant Apache, par défaut, peuvent être accessibles à tous les utilisateurs du réseau local ou d'Internet.

Après avoir exécuté le fichier d'installation d'Apache 2.2 "httpd-2.2.20-win32-x86-openssl-0.9.8r.msi", cliquez sur le bouton "Suivant" et acceptez accord de licence. Dans les champs « Domaine réseau » et « Nom du serveur », saisissez « localhost » (sans les guillemets). "Adresse e-mail de l'administrateur" - e-mail de l'administrateur, par exemple : admin@localhost. Nous laissons le champ par défaut sélectionné "Pour tous les utilisateurs, sur le port 80, en tant que service - Recommandé", ce qui rend Apache disponible pour tous les utilisateurs du système sur le port 80 en tant que service démarré automatiquement au démarrage de Windows.

L'étape suivante de l'assistant (Type d'installation) consiste à sélectionner le type d'installation : typique (Typique) et personnalisée (Personnalisée). Sélectionnez « Personnalisé » et cliquez sur « Suivant ». Ensuite, vous devez modifier le chemin d'installation en « C:\apache2.2.20 » en cliquant sur le bouton « Modifier » et laisser les composants par défaut sélectionnés tels quels. Après avoir cliqué sur "Suivant" et "Installer", le serveur HTTP Apache sera installé.

Pendant le processus d'installation, 2 fenêtres noires apparaîtront et se fermeront automatiquement (vous ne pouvez pas les fermer manuellement). S'il est installé avec succès à proximité du système Horloge Windows sera affiché nouvelle icône. Si sur l'icône triangle vert- Apache est en cours d'exécution, le carré rouge indique que le service n'a pas démarré pour une raison quelconque.

En tapant l'adresse http://localhost/ dans la barre d'adresse de votre navigateur, une page devrait apparaître avec un grand symbole en surbrillance en gras avec l'inscription : "It Works", qui indiquera qu'Apache fonctionne comme prévu. Si Apache est en cours d'exécution, mais que le message « It Works » n'apparaît pas, vous devez rechercher la raison dans le pare-feu et lire la section de cet article : « Erreurs lors du démarrage d'Apache ».

Vous pouvez connaître la cause de l'échec, ou plus précisément, voir le message d'erreur lors du démarrage d'Apache en utilisant Console Windows(« Démarrer » -> « Exécuter » -> cmd -> « Ok »), démarrage manuel du service. Commandes de gestion Apache via la console :

    httpd.exe -k start (Démarrer)
    httpd.exe -k stop (Arrêter)
    httpd.exe -k restart (Redémarrer)

Pour empêcher Windows de générer une erreur :

"httpd.exe" n'est ni interne ni externe
équipe, programme exécutable ou un fichier batch.

Il est nécessaire d'enregistrer le chemin d'accès au répertoire Apache bin sous Windows en tant que variable Path, ce qui peut être utile à l'avenir pour Démarrage rapide Utilitaires de ligne de commande Apache tels que htpasswd.exe. Cela peut être fait en ouvrant le menu "Démarrer", en recherchant "Poste de travail" et en cliquant dessus clic-droit sélectionnez la souris dans la liste "Propriétés" qui apparaît. Ensuite, sélectionnez l'onglet "Avancé" et cliquez sur le bouton "Variables d'environnement". Dans la fenêtre "Variables système", sélectionnez la variable "Chemin" et cliquez sur le bouton "Modifier". Au tout début du champ "Valeurs des variables", ajoutez le chemin du répertoire Apache bin :

Ajout du chemin de la variable Windows Path au répertoire bin Apache

C:\apache2.2.20\bin;

Pour que les modifications apportées au chemin prennent effet, vous devez redémarrer un ordinateur.

Erreurs au démarrage d'Apache

Démarrer manuellement le serveur Apache sera très utile pour identifier les erreurs lorsque connexion PHP en tant que module et sa configuration ultérieure. Lors du démarrage et du redémarrage d'Apache à l'aide de la console standard, les messages d'erreur ne s'affichent malheureusement pas.

L'une des erreurs les plus courantes qui se produisent lors de l'exécution d'Apache est que le port 80 est occupé par un autre programme, tel que Skype ou ISS. De ce fait, lors du démarrage du serveur avec la commande httpd.exe -k start nous recevons le message suivant :

httpd.exe : impossible de déterminer de manière fiable le nom de domaine complet du serveur, en utilisant 192.168.1.2 pour ServerName
(OS 10048) + svўey YorchЁх°рхЄё yufeyu shoyayuy №chutreshkh rfёkher yoyukhЄr (yayoyoyuy/yohёhtyushchrfyokhyo/yayyoyo). : make_sock : impossible de se lier à l'adresse 0.0.0.0:80, aucune socket d'écoute disponible, arrêt
Impossible d'ouvrir les journaux
Notez les erreurs ou les messages ci-dessus, et appuyez sur la clé pour sortir. trente...

Le message "Impossible de se lier à l'adresse 0.0.0.0:80, aucune socket d'écoute disponible" indique que le port 80 est déjà occupé. Vous pouvez voir quel processus occupe le port 80 en l'exécutant dans la ligne de commande Ligne Windows: netstat -anb et attendez quelques minutes jusqu'à ce que la liste complète s'affiche. Vous devez maintenant configurer le logiciel interférant avec Apache sur un autre port (dans les paramètres du programme), le supprimer ou reconfigurer Apache sur un autre port.

Afin de supprimer l'erreur non critique mais ennuyeuse : "httpd.exe : Impossible de déterminer de manière fiable le nom de domaine complet du serveur, en utilisant 192.168.1.2 pour ServerName", vous devez décommenter la ligne dans httpd.conf :

Nom du serveur hôte local : 80

Vous pouvez également démarrer et arrêter un service Windows à l'aide des commandes suivantes à partir de la ligne de commande Windows :

    net start apache2.2 (Démarrer)
    arrêt net apache2.2 (Arrêter)

Mais dans ce cas, les messages d'erreur au démarrage d'Apache ne seront pas informatifs.

Vous pouvez également afficher l'état du serveur HTTP Apache à l'aide des services Windows : "Démarrer" -> "Panneau de configuration" -> "Administration" -> "Services" -> "Apache 2.2". Ici, vous pouvez également arrêter et démarrer le serveur HTTP.

Configuration d'Apache

Basique Fichier de paramètres Apache httpd.conf se trouve par défaut dans le répertoire conf, qui se trouve à la racine du répertoire d'installation d'Apache (si Apache est installé selon les instructions de l'article - le répertoire Apache : C:\apache2.2.20). Vous pouvez accéder au fichier de configuration Apache via : "Démarrer" -> "Tous les programmes" -> "Apache HTTP Server 2.2" -> "Configurer le serveur Apache" -> "Modifier le fichier de configuration Apache httpd.conf".

Tous lignes de commentaires dans le fichier httpd.conf, qui ne sont pas compris par le serveur HTTP Apache et servent uniquement d'explications textuelles à l'administrateur, commencent par le caractère "#". En supprimant tous les commentaires du fichier de configuration Apache, vous pouvez considérablement simplifier la perception et la modification des paramètres du serveur. Avant de supprimer des commentaires, il est conseillé de sauvegarder le httpd.conf d'origine dans le même dossier où il se trouvait sous un nom différent, par exemple : httpd.conf.original.

Lorsque vous supprimez des commentaires dans le fichier de configuration Apache, vous devez faire attention à ne pas supprimer des éléments inutiles. Seule la ligne commençant par le caractère "#" doit être supprimée. Par exemple, dans l'exemple ci-dessous, vous laisseriez toutes les lignes qui ne commencent pas par un caractère « # » : .

Une partie arbitraire du fichier de configuration Apache httpd.conf

#
# Cela devrait être remplacé par ce que vous définissez sur DocumentRoot.
#

# La directive Options est à la fois compliquée et importante. S'il te plait regarde
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# pour plus d'informations.
#
Index des options FollowSymLinks
#
# 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 :
# Options FileInfo AuthConfig Limite
#
AllowOverride Aucun

Avant de commencer à configurer le serveur HTTP Apache, il convient de noter que tous chemins d'accès aux fichiers dans httpd.conf devrait être séparé barre oblique "/", plutôt que le "\" inverse utilisé dans Windows. Ceci est nécessaire pour éviter certains problèmes.

Exemple d'utilisation d'une barre oblique « appropriée » « / » dans les chemins de fichiers dans httpd.conf

Racine du serveur "C:/apache2.2.20"

Aussi, il faut savoir que Pour que les paramètres modifiés dans httpd.conf prennent effet, vous devez redémarrer ou arrêter et redémarrer le serveur Apache à chaque fois que vous les modifiez..

Connecter PHP en tant que module Apache

On retrouve dans httpd.conf de nombreuses lignes commençant par LoadModule et après la dernière on insère :

LoadModule php5_module "c:/php5.2.17/php5apache2_2.dll"
PHPIniDir "c:/php5.2.17"

La première ligne charge le module php5apache2_2.dll, la deuxième ligne indique à l'interpréteur PHP où chercher le fichier de configuration PHP principal - php.ini. Dans les versions précédentes de PHP, il était nécessaire de déplacer php.ini vers le répertoire principal de Windows, ce qui provoquait une certaine confusion lors de la configuration de PHP.

Ensuite, on indique à Apache que le fichier index.php est aussi un fichier d'index qui est lancé lorsqu'une requête client (par exemple http://www.. Pour ce faire, on change les paramètres de la directive AnnuaireIndex sur le:

AnnuaireIndex index.php index.html

Après avoir enregistré le fichier de paramètres, vous devez redémarrer Apache pour que les modifications prennent effet. Il est conseillé de ne même pas redémarrer, mais d'éteindre et d'allumer Apache à l'aide de la ligne de commande, de sorte que si des erreurs se produisent, vous verrez un message d'erreur.

Vous devez maintenant vous assurer que les scripts PHP sont exécutés. Pour ce faire, dans le répertoire C:\apache2.2.20\htdocs\ vous devez créer un fichier phpinfo.php avec le contenu suivant :

phpinfo();

Après cela, en ouvrant une page dans le navigateur à l'adresse http://localhost/phpinfo.php, une page contenant des informations sur les paramètres de l'interpréteur PHP apparaîtra. Si par contre le code du script s'affiche, alors le module PHP n'est pas connecté.

Fichiers journaux Apache

À partir des fichiers journaux Apache, vous pouvez découvrir beaucoup de choses intéressantes, par exemple, pourquoi Apache n'a-t-il pas démarré ? Par défaut, les principaux fichiers journaux sont stockés ici : C:\apache2.2.20\logs. Vous pouvez modifier leur emplacement en définissant les paramètres httpd.conf appropriés :

  • Journal des erreurs- chemin d'accès au journal des erreurs.
  • Journal personnalisé- chemin d'accès au journal d'accès.

Hôte virtuel Apache

Les hôtes virtuels Apache permettent à un serveur Apache d'exécuter plusieurs sites Web différents. Informations détaillées sur la directive VirtualHost : " ". Ci-dessous, nous examinerons un exemple de la façon d'ouvrir la prise en charge de plusieurs sites dans Apache installé sur Windows.

Tout d'abord, vous devez créer un dossier principal dans lequel seront stockés les fichiers de tous les sites : C:\www. Dans ce répertoire nous allons créer deux sous-dossiers : monsite.lc et phpmyadmin.lc, qui contiendront les fichiers Apache et les configurations pour les sites : http://monsite.lc et http://phpmyadmin.lc. Ensuite, dans chacun des dossiers mysite.lc et phpmyadmin.lc, nous créons trois sous-dossiers supplémentaires : conf, log et public. En conséquence, vous devriez obtenir la structure suivante :

La zone de domaine « lc » (abréviation de l'anglais « local ») servira à définir que le site en cours d'ouverture se trouve sur l'ordinateur local. Pour que le système d'exploitation Windows redirige toutes les requêtes vers les sites locaux là où elles le devraient, vous devez modifier fichier d'hôtes(par exemple, en utilisant le bloc-notes), situé dans le répertoire : C:\WINDOWS\system32\drivers\etc\. Après "127.0.0.1 localhost" (bien que, essentiellement, l'emplacement des lignes ajoutées dans le fichier puisse être n'importe où), vous devez ajouter deux lignes et enregistrer les modifications :

127.0.0.1 monsite.lc
127.0.0.1 phpmyadmin.lc

Entrez maintenant l'adresse http://mysite.lc et http://phpmyadmin.lc dans la barre d'adresse du navigateur, après quoi une page s'ouvrira avec une grande inscription en gras : « It Works ».

Le fichier hosts est interrogé par le système chaque fois que vous essayez de vous connecter à un domaine. Les modifications qui y sont apportées ne nécessitent donc pas de redémarrage pour prendre effet. C'est une autre affaire si vous essayez d'ouvrir le domaine http://monsite.lc avant de sauvegarder les données dans les hôtes. Dans le même temps, le navigateur écrira très probablement dans le cache DNS des informations indiquant que le domaine n'existe pas, et lorsque cette page sera rouverte, avec le fichier hosts déjà modifié, le résultat ne changera pas. Dans ce cas, pour obtenir le résultat souhaité, vous devez essayer de réinitialiser le cache DNS : « Démarrer » -> « Exécuter » -> « cmd » -> ipconfig /flushdns. Si cela ne résout pas le problème, essayez d'ouvrir des sites dans d'autres navigateurs. Le dernier recours qui fonctionne à 100 % consiste à redémarrer l'ordinateur.

Il est temps d'"expliquer" à Apache que chaque site possède ses propres répertoires, c'est pourquoi les directives de conteneur sont nécessaires . Mais avant cela, vous devez créer et éditer deux fichiers nommés index.php, qui seront des sites de test, et les placer dans les sous-dossiers « publics ».

Texte du fichier index.php pour C:\www\mysite.lc\public\

echo "Monsite" ;

Texte du fichier index.php pour C:\www\phpmyadmin.lc\public\

echo "Phpmyadmin" ;

Maintenant, dans les dossiers conf, nous créons les fichiers de configuration vh.conf des hôtes virtuels :

vh.conf pour monsite.lc dans le répertoire C:\www\monsite.lc\conf\


# Nom principal du site
Nom du serveur monsite.lc

# Noms supplémentaires pour sayia
# *.mysite.lc - tous les sous-domaines de monsite.lc sont disponibles
Alias ​​​​du serveur *.monsite.lc

DocumentRoot "c:/www/mysite.lc/public"
Administrateur du serveur [email protégé]

# Chemins vers les journaux du site
Journal des erreurs "c:/www/mysite.lc/log/error.log"
CustomLog "c:/www/mysite.lc/log/access.log" combiné

# Paramètres du répertoire du site

Commande autoriser, refuser
Autoriser tous

vh.conf pour phpmyadmin.lc dans le répertoire C:\www\phpmyadmin.lc\conf\


Nom du serveur phpmyadmin.lc
Alias ​​​​du serveur *.phpmyadmin.lc
DocumentRoot "c:/www/phpmyadmin.lc/public"
Administrateur du serveur [email protégé]
Journal des erreurs "c:/www/phpmyadmin.lc/log/error.log"
CustomLog "c:/www/phpmyadmin.lc/log/access.log" combiné

Commande autoriser, refuser
Autoriser tous

Dans httpd.conf, tout en bas, on lance les hôtes virtuels et on charge le fichier de configuration vh.conf pour chaque site :

Configuration d'hôtes virtuels dans httpd.conf

# Connexion d'hôtes virtuels
NomVirtualHost *:80

Pour appliquer les nouveaux paramètres, redémarrez le serveur Apache.

Dernière mise à jour de l'article : 2011/09/08

Apache-installation et configuration.

Tout va bien. Apache s'exécute sur l'ordinateur local. Apache fonctionne sur le réseau local. Mais le serveur Apache n'est pas accessible depuis Internet.

L'ensemble du réseau local est connecté à Internet via un serveur proxy UserGate 4.
Une règle a été établie pour la publication d'un serveur web, mais Apache n'est pas accessible depuis Internet

Pour n'importe quelle valeur du port d'écoute dans httpd.conf, au début, « Une seule utilisation de chaque adresse de socket est normalement autorisée : make_sock : impossible de se lier à l'adresse... aucune socket d'écoute disponible, arrêt impossible » s'affiche dans un fenêtre noire pendant 30 secondes pour ouvrir les journaux"
Écoutez l'adresse...
80 0.0.0.0:80
8080 0.0.0.0:8080
1234 0.0.0.0:1234
127.0.0.1:80 127.0.0.1:80
En même temps, lorsque vous tapez http://localhost/ dans la barre d'adresse de votre ordinateur, « Ça marche ! » s'affiche à l'écran.
S'il vous plaît dites-moi quoi faire. (Windows7, Internet Explorer9)

"Pour n'importe quelle valeur du port d'écoute" - Il est fort probable que vous ayez une autre application suspendue sur le port 80. Trouvez-le et désactivez/supprimez/déplacez-vous vers un autre port. Comment procéder est écrit dans l'article. Vous pouvez également déplacer Apache vers un autre port.

Vous écrivez dans l'article « Si à la place le code du script s'affiche, alors le module PHP n'est pas connecté. » C'est exactement ce qui m'arrive, même si j'ai tout fait comme écrit. Pouvez-vous me dire quelle pourrait en être la raison ?

La raison est la même : PHP n'est pas connecté. Vérifiez ce qui est écrit dans les journaux Apache, examinez également attentivement le fichier de configuration Apache - la section responsable de la connexion du module PHP. Si vous faites tout comme écrit dans les articles, la combinaison Apache + PHP + MySQL démarrera du premier coup. Le matériel contenu dans les articles a été testé avec de véritables installations réussies.

Votre question n'est pas claire pour moi.

Les instructions ont omis avec tact ce qui doit être ajouté à httpd.conf

Cette ligne est facultative – PHP fonctionnera sans cette directive.

Plusieurs hôtes virtuels ne fonctionnent pas. Cela fait trois mois que je me bats, je vais essayer une chose, puis une autre. Tous les réglages sont effectués comme décrit ici. Un hôte local fonctionne. Si vous « poussez » le dossier localhost/www dans un répertoire et que vous y accédez à l'adresse localhost/directory, cela fonctionne. Et rien de plus (((((
Quelle pourrait être la raison? Système d'exploitation Windows XP SP3, mais édition ZverCD - cela pourrait-il être la raison ?
Aidez-moi svpzzz...

La raison ne vient certainement pas de la version de Windows. Après avoir tout fait comme dans les instructions, quelle erreur le navigateur donne-t-il après avoir accédé à mysite.lc et phpmyadmin.lc ?

Le premier site est localhost, le second est site.ru. Dans le fichier hosts Windows, les deux se bloquent à 127.0.0.1.
Lorsque j'essaie d'accéder à site.ru, il recherche un hôte pendant très, très longtemps, puis écrit « Impossible d'afficher la page ». A la racine du répertoire se trouvent les fichiers index.php et index.html, et de toute façon, si vous allez à l'adresse localhost/site.ru (le simple html y est dupliqué), tout s'y ouvre. Ou si vous commentez l'hôte par défaut (localhost) dans Virtualhosts, lorsque vous tapez localhost, le site Web site.ru s'ouvre.
Peut-être qu'au lieu de localhost, vous devriez utiliser un nom différent ?

Après avoir modifié le fichier hosts, essayez de redémarrer votre ordinateur. Si vous essayez d'abord d'ouvrir site.ru dans le navigateur, puis de modifier ensuite le fichier hosts, le site ne s'ouvrira pas. Ensuite, exécutez la commande ping dans cmd sur localhost et site.ru. Si site.ru ping (127.0.0.1) - le problème vient des paramètres Apache. Essayez également de désactiver tous les antivirus/pare-feu pendant la durée du test - le problème vient peut-être d'eux. Si tout le reste échoue, réinstallez Apache en suivant scrupuleusement toutes les instructions de l'article (ordre des actions, noms des sites de test, etc.) - tout devrait fonctionner. Et une fois que tout fonctionne, commencez à essayer d'ajuster les configurations vous-même.



PHPIniDir "c:/php"
le message d'erreur est "Le service APACHE2 n'a pas pu être démarré sur l'ordinateur local. Les détails sont contenus dans le journal des événements système. Si ce service n'a pas été développé par Microsoft, contactez le développeur du service et signalez le code d'erreur 1 spécifique à ce service"
en supprimant les lignes ci-dessus, tout fonctionne à nouveau

Merci beaucoup! Tout fonctionne !

Ma page php n'a commencé à être interprétée qu'après avoir ajouté
AddType application/x-httpd-php .php

"Ma page php n'a commencé à être interprétée qu'après avoir ajouté
AddType application/x-httpd-php .php"
La même chose, j'ai redémarré 10 fois jusqu'à ce que je me connecte et que je vois que je devais encore écrire cette ligne. Je l'ai ajouté et tout a immédiatement fonctionné sous Windows 7.

J'ai installé Apache (httpd-2.2.20-win32-x86-no_ssl) sous Windows 7, il démarre, mais Firefox n'ouvre pas la page de démarrage avec : Ça marche ! Ping 127.0.0.1 localhost réussit, les paramètres de NOD 32, Skype, le fichier vhosts.conf, tels qu'écrits dans les recommandations, ont été vérifiés. Quel est le problème? Aidez-moi s'il vous plaît !

Est-il vrai que la ligne « #ServerName localhost:80 » dans le fichier htpd.conf doit être commentée ? J'ai créé un fichier CreateDB.php dans lequel j'ai écrit l'essentiel : « créer une base de données de test ». il a créé la base de données, comme je l'ai découvert plus tard à partir de la console MySQL elle-même, mais dans le navigateur, il est indiqué « serveur distant ou fichier introuvable ». En même temps, des fichiers comme phpinfo.php et toutes sortes de « bonjour ! travaillé sans aucun commentaire

Bonjour.
Le problème est le suivant : j'ai installé Apache2.2.20, PHP5.2.17.
Il semble que le module PHP soit connecté, mais toute tentative
contacter http://localhost/phpinfo.php ne donne aucun résultat
au résultat. Je citerai le texte du fichier d'erreur/journal
Apache/2.2.20 (Win32) PHP/5.2.17 configuré -- reprise des opérations normales
Serveur construit : 30 août 2011 21:54:15
Parent : processus enfant créé 8012
Enfant 8012 : le processus enfant est en cours d'exécution
Enfant 8012 : acquisition du mutex de démarrage.
Enfant 7488 : Libération du mutex de démarrage
Enfant 8012 : démarrage de 64 threads de travail.
Enfant 7488 : tous les threads de travail sont terminés.
Enfant 8012 : Démarrage du thread pour écouter sur le port 80.
Je ne sais pas quoi faire. Peut-être que tu peux me le dire.

Bon article, mais vous avez oublié de mentionner que lors de la connexion de php en tant que module, vous devez également ajouter une configuration pour celui-ci :

Après les lignes "
LoadModule php5_module "c:/php5.2.17/php5apache2_2.dll"
PHPIniDir "c:/php5.2.17"
"

Vous devez écrire quelque chose comme "

AddType texte/html .php

Correction (les tags sont effilochés)

"inférieur au signe" IfModule php5_module "supérieur au signe"
"moins que le signe"Emplacement /"supérieur au signe"
AddType texte/html .php
Application AddHandler/x-httpd-php .php
"inférieur au signe"/Emplacement "supérieur au signe"
"inférieur au signe"/IfModule"supérieur au signe"

Apache (httpd-2.0.64-win32-x86-no_ssl.msi) fonctionne sur l'ordinateur. Après avoir installé PHP - php-5.2.17-Win32-VC6-x86.zip, tout fonctionne. Mais après avoir inséré dans httpd.conf :
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "c:/php"

L'erreur est "Échec du démarrage du service php5apache2_2.dll
et par conséquent Apache ne démarre pas, quelle pourrait en être la raison ????
PS : je n'ai pas trouvé la réponse ici !

À Alex
Désolé, il est tard, mais cela pourra peut-être être utile à quelqu'un. Dans le paramètre de la directive LoadModule, vous devez spécifier une DLL qui correspond à la version d'Apache. Ceux. dans votre cas, ce devrait être php5apache2.dll

Dans cet article, je vais expliquer comment créer de vos propres mains un environnement de développement local. Bien sûr, vous pouvez utiliser des solutions toutes faites, par exemple, et d'autres similaires. Mais regardez les commentaires de et. Soit Denver n'est pas installé, soit Apache ne démarre pas, soit on ne sait pas où Denver a caché les bases de données.

De plus, le serveur de l’hébergeur ne dispose pas de package de développement, mais de distributions natives d’Apache, MySQL et PHP. L'autre jour, j'ai été confronté à une situation où le site en cours de création fonctionnait normalement dans un environnement de développement installé et configuré manuellement, mais sous Denver, il ne fonctionnait pas du tout.

Un environnement de développement prêt à l'emploi manque souvent de flexibilité dans les paramètres. Les fichiers de configuration sont cachés dans des endroits bien connus à Denver.

Personnellement, j'ai une sorte de peur schizophrène que le constructeur d'un package de développement local soit entré dans le kit de distribution de ses propres mains, y ait corrigé quelque chose à sa propre discrétion, ait récupéré quelque chose et peut-être même inséré un virus (c'est pourquoi je ne Je n'utilise pas divers assemblages modifiés de Windows et j'ai moi-même configuré mon environnement de développement local).

Je vais décrire le processus en détail installation et configuration du serveur Apache sur votre ordinateur local. Cela vous permettra de vous débarrasser de la crainte magique des principes de fonctionnement du site depuis le serveur de l’hébergeur.

En plus, installer et configurer PHP. Dans le cas du téléchargement manuel de la distribution depuis le site Web du développeur, je peux être sûr que je télécharge la version complète du package, celle dont j'ai besoin. Et une situation nécessitant d'installer en plus des modules rejetés par l'auteur du kit de distribution d'un environnement de développement prêt à l'emploi ne peut pas se produire. Désormais, je suis moi-même l'auteur de l'environnement de développement.

Installation et configuration de MySQL. Exactement la même situation. L'auteur, c'est moi-même.

Quelques mots pour les débutants. Pourquoi avons-nous besoin d’un environnement de développement local ? Si vous développez un site composé de plusieurs pages HTML statiques, l'environnement de développement n'est qu'une commodité lors de la visualisation du site dans un navigateur pendant le débogage. Il est pratique d'accéder au site en cours de développement à l'aide d'un nom de domaine. Cela semble être tous les avantages.

Dans le cas du développement d'un site Web dynamique (à l'aide de scripts PHP et de bases de données MySQL), ainsi que lorsque vous travaillez avec des moteurs, un environnement de développement local est une nécessité. Car, dans ce cas, vous avez besoin d’un outil qui traite les scripts PHP et les requêtes SQL.

Eh bien, allons-y !

Installation d'Apache

J'ai promis de vous épargner la crainte magique des principes de chargement d'un site depuis le serveur d'un hébergeur dans votre navigateur. Je vais le faire maintenant.

Un serveur n’est rien de plus qu’un ordinateur puissant sur le disque dur duquel sont stockés les fichiers de votre site Web. En règle générale, un tel ordinateur exécute des systèmes de type Unix. Cet ordinateur exécute un programme appelé Apache. Lors de l'accès au port 80 du serveur, le programme Apache fournira à l'ordinateur accédant le code HTML et les fichiers graphiques stockés sur le disque dur. Le navigateur de l'ordinateur de l'utilisateur acceptera les données reçues et les formatera dans une page de site familière.

Le disque dur du serveur peut contenir plusieurs sites à la fois. Tous sont répartis dans des dossiers avec des noms uniques (dans ce cas, les sites sont appelés hôtes virtuels). Apache est configuré de telle manière que lors de l'accès au port 80 avec une URL de site spécifique, il sait exactement quelles données et à partir de quel dossier elles doivent être envoyées à l'ordinateur demandeur.

C'est toute la magie. Quand j'ai tout juste commencé à comprendre les technologies Internet, une telle réponse à ma question « comment fonctionnent réellement les sites Web », que j'ai lue dans l'un des livres, a mis tout à sa place dans ma tête, ce dont j'étais très heureux. J'espère que certains de nos lecteurs respectés n'étaient pas moins ravis aujourd'hui que moi à une époque.

Maintenant je vais te le dire comment installer et configurer Apache sur votre ordinateur local.

Après avoir installé et configuré Apache, vous pouvez saisir le nom de domaine que vous avez trouvé dans le navigateur, qui correspondra au site en cours de développement sur l'ordinateur local, et le serveur local fournira au navigateur le code HTML demandé.

Étape 1. Téléchargez Apache.

Sur l'écran suivant, assurez-vous de cocher la case Inclure le répertoire Bin dans Windows PATH:

Si vous ne le faites pas, PHP ne pourra pas trouver le fichier dont il a besoin et se plaindra.

Cliquez sur Suivant. Dans la fenêtre suivante, nous devons spécifier le mot de passe de l'administrateur de la base de données. Indiquez quelque chose de facile à retenir. Ensuite, lors de la connexion aux bases de données, vous devrez saisir ce mot de passe :

À ce stade, le processus de définition des directives de configuration est terminé et vous pouvez commencer à les appliquer :

Notre environnement de développement local peut désormais être considéré comme installé. Il ne reste plus qu'à le configurer.

Configuration d'Apache et configuration de PHP

Tout d'abord, quelque part sur votre disque dur, vous devez créer un dossier dans lequel tous les projets seront stockés.

Ceci est mon dossier wwwà la racine du disque " AVEC».

Étape 1 : Autoriser Apache à accéder à papa www sur votre disque dur.

Maintenant, dans les paramètres Apache, je dois spécifier le chemin d'accès à ce dossier et autoriser l'accès.

Pour ce faire, vous devez ouvrir le fichier de configuration principal d'Apache dans n'importe quel éditeur de texte. Ceci est un fichier .

Dans le fichier on recherche un bloc d'instructions :

AllowOverride Aucun Options Aucun Ordre autoriser, refuser Autoriser tous

Sous ce bloc, nous insérons les instructions suivantes :

AllowOverride All # Options Aucune Options Index FollowSymLinks Ordre autoriser, refuser Autoriser de tous

Ainsi, nous avons autorisé Apache à accéder au dossier wwwà la racine du disque dur.

Étape 2. Créez un emplacement pour stocker les fichiers du site.

Dans le dossier www vous devez créer un dossier avec le nom de notre site (par exemple mon site). Dans le dossier mon site créez deux autres dossiers : www- pour stocker les fichiers du site et journaux- ici, Apache enregistrera automatiquement les erreurs liées au fonctionnement du serveur et les informations sur les connexions au site.

Étant donné que le travail est généralement effectué sur plusieurs sites (c'est-à-dire dans le dossier wwwà la racine du disque dur, il peut y avoir plusieurs projets : mon site, monsite1, site de nouveauté etc.) disponibles à différentes URL locales, alors vous avez besoin configurer Apache pour fonctionner avec des hôtes virtuels.

Pour cela, dans le fichier de configuration C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf besoin de se connecter fichier de configuration d'hôte virtuel supplémentaire.

En regardant dans le dossier httpd.conf doubler #Inclure conf/extra/httpd-vhosts.conf. Le processus d'inclusion d'un fichier de configuration d'hôtes virtuels supplémentaire consiste à supprimer le caractère dièse (#) avant cette ligne.

#Inclure conf/extra/httpd-vhosts.conf

Inclure conf/extra/httpd-vhosts.conf

Le fait est que dans les paramètres Apache, le symbole dièse (#) indique une ligne commentée qui n'intervient pas dans la configuration du serveur.

Le fichier de configuration supplémentaire est désormais connecté. Voici le fichier : . Encore une fois, ouvrez ce fichier dans n'importe quel éditeur de texte et décrivez l'accès au site en cours de développement.

A la fin du fichier vous devez ajouter le bloc suivant :

ServerName moysite.loc DocumentRoot "C:/www/moysite/www" ErrorLog "C:/www/moysite/logs/error.log" CustomLog "C:/www/moysite/logs/access.log" commun

Paragraphe Nom du serveur précise l'URL qui sera utilisée pour accéder au site en cours de développement depuis le navigateur de l'ordinateur local dont les fichiers se trouvent dans le dossier C:/www/moysite/www. Déposer C:/www/moysite/logs/error.log contiendra des informations sur les erreurs dans le fonctionnement du site et le fichier C:/www/moysite/logs/access.log- des informations sur les connexions.

Étape 3 : Redirigez les requêtes vers le serveur local.

La dernière étape consiste à rediriger les requêtes vers le serveur local. Nous devons dire à Windows que lorsque le navigateur demande l'URL monsite.loc il doit être traité par notre Apache local. Pour ce faire, ouvrez le fichier C:\WINDOWS\system32\drivers\etc\host dans n'importe quel éditeur de texte et ajoutez une ligne à la fin : 127.0.0.1 moysite.loc.

C'est tout, maintenant nous redémarrons Apache en cliquant avec le bouton gauche sur l'icône à côté de l'horloge et en sélectionnant Redémarrage.

J'attire votre attention, cher lecteur, sur le fait qu'il est nécessaire de redémarrer Apache à tout changement dans sa configuration et dans la configuration PHP pour que les changements soient appliqués.

Soyons brillants

Si pendant le développement du projet vous utilisez la CNC, alors vous devez activer le module mod_rewrite.so dans le fichier de configuration principal d'Apache C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf.

L'activation du module se fait simplement en décommentant la ligne LoadModule rewrite_module modules/mod_rewrite.so

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so


Utilisation de balises raccourcies. Certains programmeurs paresseux au lieu d'un code complet ..., au début du script PHP, utilisez la forme abrégée ... Pour activer les balises raccourcies, vous devez configurer le fichier de configuration PHP C:\Programmes\PHP\php.ini:

Short_open_tag = Désactivé

Short_open_tag = Activé

J'attire votre attention, cher lecteur, sur le fait que dans les paramètres PHP le symbole ; est destiné à commenter une ligne.

C'est tout pour configurer votre environnement de développement local. Maintenant, pour créer un nouvel hôte virtuel(Par exemple noviysite.loc), il vous suffit de suivre quatre étapes simples :

1. Dans un dossier C:\www\ créer un nouveau dossier site de nouveauté, à l'intérieur duquel créer un dossier www Et journaux.

2. Dans le fichier de configuration des hôtes virtuels Apache C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf spécifier les paramètres du nouvel hôte virtuel noviysite.loc:

ServerName noviysite.loc DocumentRoot "C:/www/noviysite/www" ErrorLog "C:/www/noviysite/logs/error.log" CustomLog "C:/www/noviysite/logs/access.log" commun

3. Au dossier C:\WINDOWS\system32\drivers\etc\hosts spécifiez la redirection du nouvel hôte virtuel vers le serveur local : 127.0.0.1 noviysite.loc

4. Redémarrez Apache en cliquant avec le bouton gauche sur l'icône à côté de l'horloge et en sélectionnant Redémarrage.

P.S. : Naturellement dans un dossier C:\www\noviysite\www il devrait y avoir des fichiers du site qui seront affichés dans le navigateur lorsque vous entrez l'URL noviysite.loc/....

Si seul le nom de domaine est renseigné noviysite.locà partir du dossier C:\www\noviysite\www le fichier sera téléchargé index.html(Apache est configuré ainsi par défaut et c'est ce fichier qui se lance automatiquement lorsque vous saisissez uniquement le nom de domaine).

Les sites dynamiques écrits en PHP étant récemment devenus très répandus, le fichier de démarrage ne sera pas nommé index.html, UN index.php. Afin de, avec index.html lorsque vous avez saisi uniquement le nom de domaine, il s'est également lancé automatiquement index.php il faut apporter quelques modifications mineures au fichier C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf:

Trouver un bloc de directives DirectoryIndex index.html. Après la directive DirectoryIndex index.html vous devez ajouter un espace index.php pour que cela donne ceci : AnnuaireIndex index.html index.php.

Je voudrais noter que dans ce cas, Apache recherchera d'abord le fichier index.html et essayez de le lancer, et puis index.php.

Si le dossier du site ne contient pas de fichier index.html ou index.php(et il contient un fichier appelé kakoeto_imya.html), puis définissez l'URL noviysite.loc cela ne se terminera pas bien dans le navigateur (Apache ne trouvera pas les fichiers qu'il souhaite exécuter par défaut). Pour exécuter un fichier à partir d'un dossier de site nommé kakoeto_imya.html vous devez taper l'URL noviysite.loc/kakoeto_imya.html.

Une question légitime se pose : Comment administrer les bases de données MySQL s'il n'y a pas de phpMyAdmin ?
La réponse à cette question est le programme HeidiSQL et .

Pour le dessert

Après avoir lu cet article, j'espère que vous avez compris la question de « comment fonctionne un site Web à partir du serveur d'un fournisseur d'hébergement », ainsi que « comment installer et configurer vous-même Apache, PHP et MySQL ». Ce n’est plus un péché de boire une tasse de café et de regarder une vidéo amusante.

J'exprime ma gratitude à l'excellent programmeur Pavel Krasko

pour vous aider à rédiger cet article.

Je me suis consacré à la problématique de l'installation d'un environnement de développement local sur un ordinateur fonctionnant sous Windows. Si, après avoir lu l'article, vous ne parvenez pas à démarrer l'environnement local, je vous recommande fortement de regarder le didacticiel vidéo.

Cet article est un guide étape par étape pour créer un serveur Web local. Il décrit l'installation du serveur Web Apache 2.4 sur la plateforme du système d'exploitation Windows. L'installation a été testée sur Windows XP SP3.

Composition du serveur Web :

  • Apache 2.4 (version 2.4.10) ;
  • PHP 5.4 (version 5.4.34) ;
  • MySQL 5.5 (version 5.5.23).

Cet espace de travail conviendra :

  • des webmasters expérimentés pour tester leurs projets ;
  • pour les webmasters débutants pour créer leurs premiers sites Web.

Les distributions Apache 2.4 et PHP 5.4 sont compilées en VC9 (Visual Studio 2008).

La version Apache 2.4 VC9 fonctionne avec presque toutes les versions actuelles de Windows (7/8/Vista/XP SP3).

Pour que les applications VC9 fonctionnent, vous devez d'abord mettre à jour les bibliothèques Visual C++.

Installation du package de mise à jour de la bibliothèque Visual C++

Téléchargez la distribution de mise à jour vcredist_x86.exe à partir du site Web de Microsoft, exécutez le fichier et effectuez la mise à jour.

Installation et configuration du serveur Apache 2.4

La distribution Apache n'a pas de fichier d'installation. L’installation se fera donc manuellement.

Créez un dossier et décompressez l'archive httpd-2.4.10-win32-VC9.zip.

Dans le fichier de configuration httpd. Les routes par défaut de conf sont C:\Apache24. Par conséquent, il y aura beaucoup moins de modifications dans le fichier de configuration si vous décompressez l'archive dans ce dossier.

Nous allons décompresser la distribution dans le dossier C:\TestServer.

Nous apportons des modifications au fichier de configuration C:\TestServer\Apache24\conf\httpd. conf. Lors de l'écriture de chemins, au lieu du caractère "\" (barre oblique inverse), utilisez le caractère "/" (barre oblique). C'est ainsi que les chemins sont écrits dans les systèmes d'exploitation Linux et Unix. Mais Apache a été développé à l’origine spécifiquement pour ces systèmes d’exploitation.

Nous effectuons un remplacement groupé du texte C:/ Apache24 par C:/ TestServer / Apache24.

Définissez la valeur du paramètre ServerName.
Nom du serveur hôte local : 80

Définissez la valeur du paramètre ServerAdmin (e-mail de l'administrateur).
Administrateur du serveur [email protégé]

Définissez la valeur du paramètre DocumentRoot (emplacement des documents du site).
DocumentRoot C:/TestServer/Apache24/htdocs

Vous souhaiterez peut-être stocker les documents du site séparément du serveur. Par exemple, dans le dossier C:\MySites. Ensuite, ce paramètre peut être modifié.
DocumentRoot C:/ MesSites

Les exécutables Apache se trouvent dans le dossier C:\TestServer\Apache24\bin. Ajoutez cette valeur à la variable d'environnement Windows PATH.
CHEMIN = C:\TestServer\Apache24\bin ;

Installez Apache en tant que service.
httpd.exe -k installer

Si , alors lors de l'installation du service, un message apparaîtra indiquant que le programme est bloqué pour les connexions externes. Pour que le service fonctionne, vous devez donner l'autorisation de déverrouillage.

Démarrons le serveur Apache.
httpd.exe -k démarrer

Nous vérifions les performances du serveur. Dans la ligne de commande du navigateur, saisissez l'adresse : http://localhost. Si l'installation d'Apache a réussi, le texte It works! . Sinon, nous verrons un écran vide.

Si le serveur ne démarre pas, vous devez vérifier si le port 80, qu'Apache utilise par défaut, est occupé.

Cela se fait à l'aide de la commande
netstat –anb

Le plus souvent, ce port est utilisé par Skype ou Firefox. Dans ce cas, vous devez soit libérer le port, soit déplacer Apache vers le port 8080.

Pour ce faire, dans le fichier httpd. conf nous modifions les valeurs des paramètres ServerName et Listen. Nom du serveur hôte local : 8080
Écoute 8080

Après cela, redémarrez le service avec la commande
httpd.exe -k redémarrer

et encore une fois nous essayons d'aller sur http://localhost

Pour faciliter le travail avec le serveur Apache, vous pouvez installer un raccourci dans le menu pointant vers C:\TestServer\Apache24\bin\ApacheMonitor.exe

Installation de PHP 5.4

Nous allons sur le site du développeur http://windows.php.net/download/. Recherchez la distribution PHP 5.4 dans la section VC9 x86 Thread Safe et téléchargez l'archive php-5.4.34-Win32-VC9-x86.zip.

Créez un dossier sur l'ordinateur local, que ce soit C:\TestServer\PHP54 et décompressez l'archive.

Nous revenons sur le site avec le kit de distribution Apache. Dans la section Supplémentaire + VC9, nous trouvons l'archive php5apache2_4.dll-php-5.4-win32.zip avec les modules Apache PHP et la téléchargeons.

Dans l'archive, nous trouvons le dossier contenant la dernière version du module php5apache2_4.dll et le plaçons dans le dossier C:\TestServer\PHP54.

Dans le fichier de configuration httpd. conf ajoute les lignes :

LoadModule php 5_ module « C :/ TestServer / PHP 54/ php 5 apache 2_4. dll"
Application AddHandler /x-httpd-php. php
# configurez le chemin vers php . ini
PHPIniDir "C:/TestServer/PHP 54/php"

Dans le dossier C:\TestServer\Apache54\htdocs créez un fichier test.php.

echo "Bonjour Apache!";
?>

Redémarrez Apache.

Dans la barre d'adresse du navigateur, nous tapons http://localhost/test.php. Si le texte Bonjour Apache! , puis l'installation de PHP s'est terminée avec succès.

Configuration de php.ini

Pour travailler avec la base de données MySQL, nous devons configurer php. ini – Fichier de configuration PHP.

Dans le dossier C:\TestServer\PHP54 se trouvent deux modèles : development et php.ini-production.

Renommez le modèle php.ini-production en .

Les bibliothèques permettant de travailler avec la base de données MySQL se trouvent dans le dossier C:\TestServer\PHP 54\ext. Ce chemin doit être spécifié dans la directive extension_dir du fichier de configuration php.ini.

On retrouve ce paramètre, on supprime le caractère de commentaire en début de ligne (c'est un point-virgule) et on écrit le chemin.
extension_dir = "C:/TestServer/PHP 54/ext"

Il existe deux bibliothèques pour travailler avec la base de données MySQL en PHP : php_mysqli. dll est plus récent et il est recommandé de l'utiliser au travail ; php_mysql. dll est ancien, mais la plupart des sites l'utilisent.

Il est préférable d'inclure les deux bibliothèques dans le fichier php.ini.
extension = php_mysql. dll
extension = php_mysqli. dll

Après avoir terminé les modifications, assurez-vous de redémarrer le serveur Apache.

Installation et configuration de MySQL

Accédez à la page http://www.mysql.ru/download/. Sélectionnez la version pour Win32 ou Win64. Nous allons télécharger le package d'installation mysql-5.5.23-win32.msi.

Exécutez le fichier mysql-5.5.23-win32.msi.

Nous acceptons les termes de la licence et sélectionnons le type d'installation typique.

Passons à la configuration du serveur MySQL.

Sélectionnez Configuration détaillée – paramètres de configuration détaillés.

Nous sélectionnons le type de serveur avec des besoins de mémoire minimaux - Developer Machine.

Nous devons maintenant décider avec quelles bases de données (InnoDB, MyISAM) notre serveur fonctionnera.

Base de données multifonctionnelle – InnoDB et MyISAM sont pris en charge.
Base de données transactionnelle uniquement - InnoDB pris en charge.
Base de données non transactionnelle uniquement- myISAM est pris en charge.

Lors du choix du support InnoDB, l'étape suivante consiste à choisir où stocker les tables InnoDB.

Pour le nombre maximum de connexions simultanées, il est préférable de sélectionner Réglage manuel et d'accepter la valeur par défaut (15).

À cette étape, le paramètre Enable TCP/IP Networking active la prise en charge des connexions TCP et sélectionne le port via lequel ces connexions seront établies. Le paramètre Enable Strict Mode est également défini – le mode de stricte conformité à la norme MySQL.

Vous devez maintenant sélectionner l'encodage par défaut. La meilleure option est l’encodage UTF-8. C'est pourquoi nous choisissons Meilleur support pour le multilinguisme.

Pour que MySQL s'exécute en tant que service Windows, installez Installer en tant que service Windows. Si vous devez démarrer automatiquement ce service, installez Lancez automatiquement le serveur MySQL.

Définissez maintenant le mot de passe administrateur et désactivez l'option Modifier les paramètres de sécurité.

Après avoir cliqué sur les boutons Suivant et Exécuter, l'installation de MySQL peut être considérée comme terminée.

Pour vérifier la fonctionnalité de MySQL, cliquez sur le bouton Démarrer de Windows, recherchez l'utilitaire permettant de travailler avec MySQL (MySql Server 5.5 MySQL Server Command Line) et exécutez-le.

Après avoir entré le mot de passe administrateur, nous sommes redirigés vers la ligne de commande MySQL.

Entrez la commande
afficher les bases de données ;

Si nous voyons une liste de bases de données, cela signifie que le serveur fonctionne correctement.

Quitter le mode ligne de commande :
sortie;

Ceci termine l’installation du serveur. Bonne chance!

Sélectionnez la dernière version (au moment de la rédaction de cet article - 2.2.17) et accédez à la liste des distributions. Sur votre ordinateur personnel, il est peu probable que vous ayez besoin de SSL, alors téléchargez la version Win32 Binaire sans crypto (pas de mod_ssl) (MSI Installer).

Exécutez maintenant le programme d'installation (l'utilisateur doit disposer des droits d'administrateur). Au début, il n'y a rien d'intéressant - juste un écran de bienvenue :

La deuxième étape consiste à accepter les termes de la licence :

La troisième étape consiste en quelques mots d'introduction des développeurs. Cliquez immédiatement sur Suivant :

Quatrième étape. Ici, vous devez saisir des données dans les trois champs de texte. Vous pouvez saisir un domaine inexistant comme test.test ou example.com. Ces données sont nécessaires pour créer un fichier de configuration de base. Sous les champs de texte, l'un des paramètres les plus importants consiste à installer Apache en tant que service ou en tant que programme standard. Sélectionnez "pour tous les utilisateurs, sur le port 80, en tant que service - Recommandé" - installez en tant que service :

Type d'installation. Sélectionnez Personnalisé :

Sixième étape. Sélection des composants et de l'emplacement d'installation. J'ai laissé toutes les valeurs par défaut :

Septième étape. Tout est prêt pour l'installation. Cliquez sur Installer :

Nous terminons l'installation (Terminer):

Installation terminée. Une icône Apache apparaîtra dans la barre d'état, avec laquelle vous pourrez rapidement arrêter/démarrer le service :

Nous vérifions la fonctionnalité. Ouvrez votre navigateur et saisissez http://localhost/ dans la barre d'adresse. Si tout est correct, une page devrait s'ouvrir indiquant que ça marche !

Pour que le serveur soit accessible non seulement sur l'ordinateur local, mais également de l'extérieur, vous devez ouvrir le port TCP 80 pour entrer dans le pare-feu Windows.

Ouverture d'un port dans le pare-feu Windows

Ouvrez Démarrer -> Panneau de configuration -> Système et sécurité -> Pare-feu Windows. Dans la colonne de gauche, cliquez sur le lien « Options avancées ». Dans la fenêtre qui s'ouvre, également dans la colonne de gauche, cliquez sur « Règles pour les connexions entrantes » puis dans la colonne de droite « Créer une règle... » :

L'assistant de création de règle s'ouvrira. Sélectionnez le type de règle « Pour le port » :

Protocoles et ports. Protocole TCP. Ci-dessous, sélectionnez l'option « Ports locaux spécifiés » et saisissez le numéro de port - 80 - dans le champ de texte à droite :

Action. Sélectionnez « Autoriser la connexion » :

Profil. Laissez-le par défaut (les trois options sont cochées : domaine, privé, public) :

Enfin, saisissez le nom de la règle créée. Par exemple le serveur Web Apache :

C'est tout. Cliquez sur Terminer. Vous pouvez maintenant essayer de vous connecter depuis un autre ordinateur.

Je vous rappelle que pour vous connecter au serveur non seulement depuis le réseau local, mais aussi depuis Internet, vous devez configurer la redirection de port 80 sur le routeur (si vous en avez un) (redirection de port ou cela est souvent appelé serveur virtuel ).

Installation PHP (manuel)

Téléchargez la dernière version de PHP (5.3.5 au moment de la rédaction) depuis le site : http://windows.php.net/download/. Plusieurs versions sont disponibles ici :

  1. VC9 x86 Non Thread Safe - pour installation sur IIS en mode FastCGI.
  2. VC9 x86 Thread-Safe - ???
  3. VC6 x86 Non Thread Safe - pour installation sur Apache en mode CGI/FastCGI.
  4. VC6 x86 sans fil- pour une installation sur Apache en mode module - notre choix.

Parce que Nous avons démarré l'installation manuellement, téléchargez l'archive zip.

Nous décompressons le contenu de l'archive dans le répertoire d'installation. J'ai sélectionné C:\Program Files\PHP.

Allons dans ce répertoire. A la racine de l'installation vous trouverez deux fichiers php.ini-development et php.ini-production. Ces fichiers contiennent des paramètres de base. Le premier fichier est optimisé pour les développeurs, le second pour les systèmes de production. La principale différence est que les paramètres pour les développeurs permettent d'afficher les erreurs à l'écran, tandis que pour les systèmes de production, l'affichage des erreurs est interdit pour des raisons de sécurité.

Alors, sélectionnez le fichier dont vous avez besoin (j'ai choisi php.ini-development), ouvrez-le et enregistrez-le dans le même dossier sous le nom php.ini. Cette opération peut être effectuée dans un bloc-notes classique, mais il est toujours préférable d'utiliser un éditeur plus pratique, par exemple notepad2.

Vous devez maintenant apporter quelques modifications au php.ini :

  1. Recherchez l'option extension_dir (utilisez la recherche CTRL+F) et modifiez le chemin d'accès au dossier ext conformément au chemin d'installation de PHP. Pour moi, cela ressemble à ceci : extension_dir = "c:\program files\php\ext"
  2. Recherchez l'option upload_tmp_dir. Ici, vous devez spécifier le chemin d'accès au dossier temporaire. J'ai choisi c:\windows\temp. Tous ensemble : upload_tmp_dir = « c:\windows\temp »
  3. Recherchez l'option session.save_path. Ici, vous devez également spécifier le chemin d'accès au dossier temporaire : session.save_path = "c:\windows\temp"
  4. Accédez à la section Extensions dynamiques. Ici, vous devez décommenter les lignes (supprimer le point-virgule au début) correspondant aux modules PHP dont vous avez besoin pour travailler. Un ensemble de modules de base pourrait ressembler à ceci : ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl .dll ; extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Doit être après mbstring car cela en dépend extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Utiliser avec Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Utiliser avec Oracle 11g Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgs ql.dll ; extension =php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_phar.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_soap.dll extension=php_sockets.dll ;extension=php_sqlite .dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll extension=php_xsl.dll extension=php_zip.dll

Passons maintenant aux paramètres Apache.

Ouvrez le dossier d'installation d'Apache (par défaut C:\Program Files\Apache Software Foundation\Apache2.2\). Ouvrez le dossier conf. Ouvrez le fichier httpd.conf.

Allez à la fin du fichier et ajoutez-y les lignes suivantes :

# Charset AddDefaultCharset windows-1251 # PHP LoadModule php5_module "c:\program files\php\php5apache2_2.dll" PHPIniDir "c:\program files\php" AddType application/x-httpd-php .php

Le chemin d'accès au dossier php est celui que vous avez choisi lors du processus d'installation.

Dans le même fichier on retrouve les lignes suivantes :

DirectoryIndex index.html

Avant index.html on ajoute index.php séparé par un espace. Le résultat est:

AnnuaireIndex index.php index.html

Pour que les modifications prennent effet, redémarrez le service Apache. Si le service redémarre, c'est bon signe. Sinon, recherchez les erreurs dans les fichiers de configuration. Vérifiez tous les chemins avec une attention particulière.

Pour vous assurer que PHP fonctionne, ouvrez le répertoire d'installation d'Apache, puis ouvrez le dossier htdocs (celui-ci contient les fichiers par défaut du site Web). Créez un fichier index.php dans ce dossier avec le contenu suivant :

Ouvrez maintenant http://localhost/ dans votre navigateur. Si tout va bien, vous verrez une page semblable à celle-ci :

Si vous voyez une page indiquant « Ça marche ! », essayez de rafraîchir la page en utilisant CTRL+F5.

Installation de MySQL

Déplacé dans un article séparé.