Maison > Article > Opération et maintenance > Explication détaillée du didacticiel d'installation de Windows Apache2.4 VC9 (ApacheHaus)
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 ApacheHausCliquez 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 serveurServerRoot "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 normalementDocumentRoot "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'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 ApacheUtilisez la ligne de commande Windowsen 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!