web-dev-qa-db-fra.com

Installation réussie mais impossible de démarrer Apache 2.4 sur mon système Windows 7

J'essaie d'installer et d'exécuter Apache 2.4 sur mon système Windows 7 Je suis allé dans le répertoire bin d'Apache 2.4 et j'ai exécuté: Remarque: j'ai ouvert la fenêtre cmd en tant qu'administrateur.\bin> httpd.exe -k install

Sa sortie était la suivante: 

Installing the Apache2.4 service
The Apache2.4 service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
(OS 10013)An attempt was made to access a socket in a way forbidden by its acces
s permissions.  : AH00072: make_sock: could not bind to address [::]:80
(OS 10013)An attempt was made to access a socket in a way forbidden by its acces
s permissions.  : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open log

Il a donc installé Apache 2.4 en tant que service mais cela n’a pas pu être démarré. Il semble que le port localhost 80 soit utilisé. Est-ce ce que "[::]: 80" signifie?

J'ai ensuite arrêté le service Apache 2.0 que j'avais laissé en marche et le service mysql, en espérant que l'arrêt de l'un d'entre eux pourrait libérer le port 80 de l'hôte localhost.

Je lance aussi netstat -o pour voir si le port 80 est utilisé. Ce n'était pas.

Mais, j’ai alors découvert qu’un processus utilisait le socket ci-dessus, c’est un processus qui écoute sur le socket ci-dessus.

 TCP    [::]:80                User-PC:0              LISTENING       4

J'ai ensuite exécuté la liste des tâches et découvert que le système utilise le pid 4. 4 se trouve sous la colonne pid

System                           4 Services                   0        544 K

Enfin, après l'échec de la tentative de démarrage du service .__, j'ai eu une erreur qui a été enregistrée dans les événements du système Windows.

Log Name:      System
Source:        Service Control Manager
Date:          2/21/2013 1:58:03 PM
Event ID:      7024
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      User-PC
Description:
The Apache2.4 service terminated with service-specific error Incorrect function.

Event Xml:
<Event xmlns="http://schemas.Microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Service Control Manager" Guid="{555908d1-a6d7-4695-8e1e-26931d2012f4}" EventSourceName="Service Control Manager" />
    <EventID Qualifiers="49152">7024</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8080000000000000</Keywords>
    <TimeCreated SystemTime="2013-02-21T18:58:03.723988900Z" />
    <EventRecordID>87756</EventRecordID>
    <Correlation />
    <Execution ProcessID="560" ThreadID="7596" />
    <Channel>System</Channel>
    <Computer>User-PC</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="param1">Apache2.4</Data>
    <Data Name="param2">%%1</Data>
  </EventData>
</Event>

L’erreur de la tentative de démarrage indique que, faute d’accès, make-sock ne pouvait pas se lier à des sockets qui, pour moi, ressemblaient au port 80 de localhost. Par exemple,

  (OS 10013)An attempt was made to access a socket in a way forbidden by its acces
    s permissions.  : AH00072: make_sock: could not bind to address [::]:80

Quelqu'un peut-il dire ce que je fais mal? 

23
Joe

Désolé pour la question posée. Pour résoudre mon problème, je viens de dire à Apache 2.4 d'écouter un autre port dans httpd.conf. Étant donné que System utilisait le pid 4 qui écoutait sur le port 80, je ne voulais pas explorer cela davantage.

J'ai mis ce qui suit dans httpd.conf . Listen 127.0.0.1:122

19
Joe

Le coupable le plus probable est Microsoft Internet Information Server. Vous pouvez arrêter le service à partir de la ligne de commande sous Windows 7/Vista:

arrêt net était/y

ou XP:

arrêt net iisadmin/y

lisez ceci http://www.sitepoint.com/unblock-port-80-on-windows-run-Apache/

15
Dinum Dissanayaka

J'ai le même problème aussi, après la mise à niveau de win7 vers win10 . Je vérifie alors services.msc et trouve " Le service de publication World Wide Web " s'exécutait automatiquement par défaut . et relancez le service Apache.

6
projo
 Le port 80 peut être utilisé par Microsoft HTTPAPI 

 Essayez d'arrêter le service suivant: 
 Service d'agent de déploiement Web 
 Service de génération de rapports SQL Server 
 SQL Server VSS Writer 
5
Gary Liu

J'ai finalement résolu ce problème, c'est parce que certains systèmes comme Skype et que les processus système utilisent ce port 80, vous pouvez vérifier avec netstat -ao pour le port 80

Veuillez trouver les étapes suivantes

  1. Après avoir installé votre HTTP Apache, allez dans le dossier bin en utilisant cmd 

  2. Installez-le en tant que service à l'aide de httpd.exe -k install même si vous voyez l'erreur peu importe. 

  3. Assurez-vous maintenant que le service est installé (même s'il n'est pas démarré) selon votre système d'exploitation. 

  4. Redémarrez le système, vous constaterez que le service Apache sera le premier à utiliser le port 80, 

Félicitations, le problème est résolu.

2
emad omara

Donc, c'est pourquoi je fais un post deux (ou plus).

J'avais le même problème lors du démarrage du service (les journaux ne peuvent pas être ouverts).

Je pensais que c’était parce que j’essayais d’intégrer htdocs dans un conteneur VeraCrypt énoncé, absurde car j’avais un tel contenu monté et j’utilise une junte pour ne pas affecter les chemins.

J'ai lu la cause pourrait être faible: après quelques tests, j'arrive à la conclusion suivante.

Windows n'envoie pas de pages à la RAM virtuelle afin de libérer suffisamment de RAM si c'est un service. Pour les applications qu'il fait, j'ai plus de 200 Go de fichier d'échange prêts à être utilisés comme RAM virtuelle dans un Windows 10 10 4GiB 64 bits.

Ma solution:

  1. Exécuter un utilitaire gratuit que libre ram (512 Mo dans mon test)
  2. Immédiatement après le démarrage du service, il commence sans erreur

Vraie cause:

  • J'utilisais une machine virtuelle qui utilise 1/2 RAM libre physique (1,5 Go)

J'espère que cela aidera les autres.

1
Anonymous

si vous utilisez Windows OS et croyez que Skype n'est pas suspect, vous pouvez vérifier le gestionnaire de tâches, cochez la case "Afficher les processus de tous les utilisateurs" et assurez-vous qu'il n'y a PAS d'entrée pour httpd.exe. Sinon, mettez fin à son processus. Cela résout mon problème.

1
Aldee

tu peux le résoudre

Sudo nano /etc/Apache2/ports.conf

et changé Écouter 8080

0

Dans mon cas, cela était dû à une adresse IP qu'écoute Apache. Auparavant, je l'ai défini sur 192.168.10.6 et récemment, le service Apache n'est pas en cours d'exécution. J'ai remarqué qu'en raison de la modification récente de mon ordinateur portable, le wifi a changé et que la nouvelle adresse IP est différente. Après avoir corrigé l’adresse IP précédente du réseau wifi de l’ordinateur portable, le service Apache est à nouveau exécuté sans erreur.

De même, si vous ne souhaitez pas modifier l'adresse IP wifi, supprimez/commentez cette adresse IP en code dur dans le fichier httpd.conf pour résoudre le conflit.

0
Jamil Ahmed

Je faisais également face au même problème, puis j’essayais de redémarrer mon système après chaque modification et cela fonctionnait pour moi - 1) Désinstallez Apache2.4 dans cmd Prompt (administrateur exécuté) avec la commande: Httpd -k uninstall 2) Redémarrez le système . 3) ouvrez l'invite cmd (exécutez l'administrateur) à l'aide de la commande: Httpd -k install . 4) Puis installez httpd -k.

J'espère que vous trouverez utile.

0
Sabbha Mondal