Maison  >  Article  >  Opération et maintenance  >  Explication détaillée du didacticiel d'installation de Windows Apache2.4 VC9 (ApacheHaus)

Explication détaillée du didacticiel d'installation de Windows Apache2.4 VC9 (ApacheHaus)

巴扎黑
巴扎黑original
2018-05-26 10:48:305205parcourir

Cet article présente principalement le didacticiel détaillé d'installation et de configuration de Windows Apache2.4 VC9 (ApacheHaus). Les amis dans le besoin peuvent se référer à

1, téléchargement d'Apache

Sélectionnez une version et cliquez sur Télécharger

Cliquez sur Fichier pour Microsoft Windows

Puisque le serveur HTTP Apache est pas officiellement Une distribution binaire (exécutable) est fournie, nous choisissons donc la version compilée par certains contributeurs. Nous choisissons le premier ApacheHaus

Cliquez sur ApacheHaus pour accéder à la page de téléchargement

Choisissez l'une des versions. Si votre Windows n'a pas installé l'environnement VC correspondant, sélectionnez la version de VCRedistribute correspondante à télécharger et à installer. J'ai choisi la version Apache 2.4VC9 car l'environnement VC9 est déjà installé sur mon ordinateur.

Cliquez sur une version dans la première ligne sous JumpLinks pour télécharger le package compressé correspondant.

2. Configurez l'un des Apache - httpd.conf

Après la décompression, entrez dans le dossier Apache22 (les deux derniers chiffres peuvent être différents), utilisez un éditeur de texte (l'ultraédition est recommandée) pour ouvrir le fichier conf Dans le fichier de configuration httpd.conf

, recherchez l'option ServerRoot, définissez le répertoire Apache, vers la ligne 35, et remplacez-le par le dossier de votre programme Apache, par exemple :

Trouvez l'option Écouter, définissez le port, environ 46 lignes, ne modifiez généralement pas, utilisez la valeur par défaut 80, veuillez vous assurer que le port 80 n'est pas occupé avant de démarrer le serveur
ServerRoot "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22"

Trouvez l'option DocumentRoot, modifiez le répertoire racine du serveur, par exemple :

Veuillez vous assurer que ce répertoire existe, sinon le serveur ne peut pas démarrer normalement
DocumentRoot "F:/"

Modifiez le répertoire pour vous assurer qu'il est le même que la racine du serveur répertoire, et modifiez uniquement les guillemets dans la première ligne ci-dessous

Trouvez l'option ScriptAlias ​​​​, définissez le répertoire de script du serveur, environ 326 lignes, définissez-le généralement dans le dossier cgi-bin sous le Répertoire Apache
<Directory "F:/">
  #
  # Possible values for the Options directive are "None", "All",
  # or any combination of:
  #  Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
  #
  # Note that "MultiViews" must be named *explicitly* --- "Options All"
  # doesn&#39;t give it to you.
  #
  # The Options directive is both complicated and important. Please see
  # http://httpd.apache.org/docs/2.2/mod/core.html#options
  # for more information.
  #
  Options Indexes FollowSymLinks

  #
  # AllowOverride controls what directives may be placed in .htaccess files.
  # It can be "All", "None", or any combination of the keywords:
  #  Options FileInfo AuthConfig Limit
  #
  AllowOverride None

  #
  # Controls who can get stuff from this server.
  #
  Order allow,deny
  Allow from all

</Directory>

Recherchez l'option Répertoire suivante, définissez le répertoire de script, environ 342 lignes, il doit être défini sur le même que le répertoire ScriptAlias ​​​​précédent
ScriptAlias /cgi-bin/ "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/cgi-bin"

<Directory "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/cgi-bin">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
</Directory>
3. Configurer Apache 2 - configuration SSL

Si vous l'utilisez. Lors du démarrage du service, la boîte de dialogue de message suivante apparaîtra généralement :

Invite

Windows ne peut pas démarrer Apache2.2 sur l'ordinateur local. Pour plus d’informations, consultez les fichiers journaux du système. S'il s'agit d'un service non Microsoft, veuillez contacter le fournisseur et vous référer au code d'erreur 1 spécifique du serveur.

Déterminez la cause de ce problème :

Cliquez avec le bouton droit sur l'ordinateur, cliquez sur Gérer->Journal Windows->Applications, l'affichage est le suivant


Ceci est dû à une configuration SSL incorrecte. Parlons de la solution ci-dessous.

Ouvrez le fichier conf/extra/httpd-ahssl.conf dans le répertoire du programme Apache et configurez l'option VirtualHost. Il existe trois options nommées VirtualHost, qui doivent toutes être modifiées.

Le premier se situe vers la ligne 107.

Vers la ligne 110, remplacez le SSLCertificateFile par : le répertoire où se trouve Apache/conf/ssl/server.crt

Vers la ligne 111, remplacez le SSLCertificateKeyFile par : le répertoire où se trouve Apache se trouve/conf /ssl/server.key

Vers la ligne 112, remplacez DocumentRoot par le répertoire racine de votre serveur

Vers la ligne 126, remplacez CustomLog par : le répertoire où se trouve Apache/ logs/ssl_request.log, si cela n'est pas modifié, ce sera faux. Généralement, les erreurs suivantes apparaîtront :

Le service Apache2.2 s'est terminé en raison de l'erreur spécifique au service suivante : La fonction est incorrecte.

L'effet du changement :

Changez principalement les quatre endroits ci-dessus
<VirtualHost _default_:443>
 SSLEngine on
 ServerName localhost:443
 SSLCertificateFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/server.crt
 SSLCertificateKeyFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/server.key
 DocumentRoot F:/

# openssl req -new > server.csr
# openssl rsa -in privkey.pem -out server.key
# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 2048
<FilesMatch "\.(cgi|shtml|phtml|php)$">
  SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/Apache22/cgi-bin">
  SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0
CustomLog "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/logs/ssl_request.log" \
     "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</virtualhost>

Il y a deux autres VirtualHosts sur les lignes 130 et 152, qui doivent tous deux être modifié. Quatre options

Exemple :

Ligne 130

Ligne 152
<VirtualHost *:443>
 SSLEngine on
 ServerName serverone.tld:443
 SSLCertificateFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/serverone.crt
 SSLCertificateKeyFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/serverone.key
 DocumentRoot F:/
# openssl req -new > serverone.csr
# openssl rsa -in privkey.pem -out serverone.key
# openssl x509 -in serverone.csr -out serverone.crt -req -signkey serverone.key -days 2048
<FilesMatch "\.(cgi|shtml|phtml|php)$">
  SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/Apache22/cgi-bin">
  SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0
CustomLog "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/logs/ssl_request.log" \
     "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" env=HTTPS
</virtualhost>

Les deux hôtes virtuels ci-dessus doivent être modifiés dans quatre endroits
<VirtualHost *:443>
 SSLEngine on
 ServerName servertwo.tld:443
 SSLCertificateFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/servertwo.crt
 SSLCertificateKeyFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/servertwo.key
 DocumentRoot F:/
# openssl req -new > servertwo.csr
# openssl rsa -in privkey.pem -out servertwo.key
# openssl x509 -in servertwo.csr -out servertwo.crt -req -signkey servertwo.key -days 2048
<FilesMatch "\.(cgi|shtml|phtml|php)$">
  SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/Apache22/cgi-bin">
  SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
     nokeepalive ssl-unclean-shutdown \
     downgrade-1.0 force-response-1.0
CustomLog "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/ssl_request.log" \
     "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</virtualhost>

De cette façon, même si Apache est configuré, s'il y a encore des problèmes, vous devrez peut-être configurer ./conf/extra/httpd-ssl.conf La méthode de configuration est similaire à la configuration de VirtualHost<.>

4. Démarrez le serveur HTTP Apache

Utilisez la ligne de commande Windows

en tant qu'administrateur

pour entrer dans le dossier bin sous le dossier du programme Apache et entrez httpd -k install pour terminer le installation du service Apache.

Puis double-cliquez sur ApacheMonitor.exe dans le répertoire bin, cliquez sur démarrer à droite pour démarrer le serveur, si normal, comme indiqué ci-dessous :

Testez-le :

5, autres

Désinstallez le serveur HTTP Apache :

Entrez le répertoire bin en tant qu'administrateur et utilisez httpd -k uninstall pour supprimer le service

L'utilisation de la commande httpd -w -n "Apache2" -k start pour démarrer le serveur peut afficher les journaux pendant le processus de démarrage pour faciliter l'analyse des erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn