AH00015: Impossibile aprire i registri Azione 'avvio' non riuscita. in Ubuntu 14.04


10

Sto provando a installare apache2, ho riscontrato questo problema. Dammi alcune soluzioni

Il riavvio del server Web apache2 genera l'errore:

    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
 * The apache2 instance did not start within 20 seconds. Please read the log files to discover problems

Potresti pubblicare il tuo file di configurazione di apache?
Lety,

scusa, come ottenere il file di configurazione di apache?
narru033,

Dovrebbe essere /etc/apache2/apache2.conf, /etc/apache2/sites-enabled/000-default.confe se hai definito il tuo/etc/apache2/sites-available/yourFile.conf
Lety

Risposte:


8

Correre

sudo netstat -tulpn | grep :80

e otterrai un risultato simile

tcp        0      0 0.0.0.0:80         0.0.0.0:*      LISTEN     1066/lighttpd

nota il pid del processo che ascolta la porta, nel mio caso era il 1066. Quindi corri

sudo kill -9 1066

Ricorda di cambiare il pid con quello che sta ascoltando la porta, potrebbe non essere lo stesso di 1066


1

Come molte applicazioni server, non è possibile associare una porta già associata a un'altra applicazione (in questo caso, porta 80, per http). La causa del tuo errore è che Apache non può collegarsi alla porta 80 perché qualcos'altro sta già ascoltando lì.

Esegui sudo netstat -tulpn | grep :80e cerca il nome del processo in ascolto sulla porta 80. Quindi, riconfigura o rimuovi quel programma.


1

Su quale tipo di server stai eseguendo questo?

Per risolvere il primo errore

AH00558: apache2: Impossibile determinare in modo affidabile il nome di dominio completo del server, utilizzando 127.0.1.1. Impostare la direttiva "ServerName" a livello globale per sopprimere questo messaggio

Sarà necessario modificare il httpd.conffile, aggiungere questa riga:

ServerName localhost

Per risolvere gli altri errori, assicurati di provare ad eseguire Apache con i privilegi di root.

sudo /usr/sbin/apachectl start

1
Questo non è stato il loro vero errore.
Thomas Ward

Non ho un httpd.conffile. Posso mettere quella linea in apache2.conf?
JohnK

Impostazione ServerNamein httpd.confnon ha alcun effetto.
Cerin,

1

Ho questo stesso problema.

Ho provato a installare LAMP su WSL seguendo questo blog: LAMP su WSL ma quando ho emesso questo comando:

/etc/init.d/apache2 start  

Ho avuto lo stesso errore:

 * Starting Apache httpd web server apache2                                                                             
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
*

In precedenza avevo tentato di installare Nginx su Windows in modo corretto e non avevo funzionato, ma ricordavo di aver associato Nginx alla porta 80. Il problema è che non sono un esperto di Linux e non ho potuto vedere nel file conf di apache2 l'area da associare a una porta.

Ho provato a correre:

sudo netstat -tulpn | grep :80

e non ho ottenuto nulla. Avevo anche inoltrato la porta nel mio router, quindi non riuscivo a capire come risolvere l'errore.

So che Nginx non era in esecuzione, quindi la porta 80 avrebbe dovuto andare bene tranne Chrome, che presumo fosse in esecuzione anche sulla porta 80 Quindi, frustrato, non sapendo cosa accadrà ho proceduto al comando in sudoquesto modo:

sudo  /etc/init.d/apache2 start  

e ho ottenuto:

 * Starting Apache httpd web server apache2                                                                              
 *

Procedendo con il comando start sudo, Apache2 ha l'autorità per l'esecuzione. Questa è una soluzione a breve termine perché non è consigliabile eseguire Apache2 con i privilegi di root (quindi siamo informati), quindi la soluzione è ancora disponibile ma per ora posso almeno procedere con i miei test.

Se qualcuno conosce la soluzione, fatecelo sapere.


@Yufenyuy grazie. Ho provato a catturare tutti i codici ma ...
seanbw,

... @ seanbw sei il benvenuto. Ecco perché siamo in una comunità ...
ThunderBird,

@Yufenyuy Le modifiche che ottengo. Maggior parte. puoi darmi un link che mi insegni come taggare parole come sudo come parte di una frase perché vedo che sudo ha il suo formato ma non è su una riga separata. Grazie
seanbw,

... @ seanbw puoi racchiudere la parola tra `ed` esempio sudo, affinché abbia quel formato ... spero che tu lo chiarisca.
ThunderBird,

0

È possibile installare un nuovo server Web o qualsiasi cosa riservare la porta 80 controllare i propri servizi e ciò che è stato appena installato


0

Nel mio caso questo non era un problema con i registri, ma in realtà con la Listendirettiva - era impostato su Ascolta su un IP che non esisteva (mentre spostavo il mio laptop su un'altra rete).

Questo è emerso solo dopo che ho disinstallato il servizio, reinstallato e ha detto:

(OS 10049) The requested address is not valid in its context. : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00015: Unable to open logs

Così ho appena commentato la direttiva di ascolto offensiva (e ho tenuto gli altri) un voilà.

So che la Q riguarda Ubuntu, ma alcune altre persone potrebbero atterrare qui incontrando il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.