FreeBSD: Apache startar ej, no listening sockets availabe

Permalänk
Medlem

FreeBSD: Apache startar ej, no listening sockets availabe

Hej!

Jag startade om min server här om dagen och har valt att apache skall startas automatiskt vid start. Jag kör kryptering med hjälp av openssl och måste mata in lösenordet när apache startas. Det är lite svårt att göra när systemet startar automatiskt, så apache startade inte. Inte så stort problem egentligen, jag kan ju gå in och starta det manuellt. Här stötte jag dock på ett problem, följande felmeddelande ges då:

Performing sanity check on apache24 configuration: Syntax OK Starting apache24. (48)Address already in use: AH00072: make_sock: could not bind to address [::]:80 (48)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 ./apache24: WARNING: failed to start apache24

Jag valde att ta bort apache från autostart och starta om datorn och starta apache manuellt, då gick det bra (kunde mata in lösenordet för SSL nyckeln etc). Min konfigurering av apache är inte klar, den används bara i labb syfte och för egen utveckling.

En fungering jag har är följande:
Hur ska jag hitta processen som använder port 80?

Mina alternativ verkar vara:
1. Starta apache manuellt varje gång jag startar servern.
2. Se till att jag inte behöver mata in detta lösenordet då apache startas.

Vad finns det för för- och nackdelar med de båda alternativen? Finns det andra alternativ?

Permalänk
Avstängd
Skrivet av trexake:

Hej!

Jag startade om min server här om dagen och har valt att apache skall startas automatiskt vid start. Jag kör kryptering med hjälp av openssl och måste mata in lösenordet när apache startas. Det är lite svårt att göra när systemet startar automatiskt, så apache startade inte. Inte så stort problem egentligen, jag kan ju gå in och starta det manuellt. Här stötte jag dock på ett problem, följande felmeddelande ges då:

Performing sanity check on apache24 configuration: Syntax OK Starting apache24. (48)Address already in use: AH00072: make_sock: could not bind to address [::]:80 (48)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 ./apache24: WARNING: failed to start apache24

Jag valde att ta bort apache från autostart och starta om datorn och starta apache manuellt, då gick det bra (kunde mata in lösenordet för SSL nyckeln etc). Min konfigurering av apache är inte klar, den används bara i labb syfte och för egen utveckling.

En fungering jag har är följande:
Hur ska jag hitta processen som använder port 80?

Mina alternativ verkar vara:
1. Starta apache manuellt varje gång jag startar servern.
2. Se till att jag inte behöver mata in detta lösenordet då apache startas.

Vad finns det för för- och nackdelar med de båda alternativen? Finns det andra alternativ?

Hej!

Du kan om du vill radera lösenordet från din ssl nyckel (.key) med:
Ex: openssl rsa -in dingamlanyckel.key -out dinnyanyckel.key

Och angående att den inte startar så kan det vara att den redan är startat, eller att du inte startar den med root behörighet, eller att du har något konfigurationsfel i din apache konfiguration.
Om du vill så klistra in denna här i så fall så vi kan kolla igenom den och se om det är något fel.

Det du kan testa före är ju att kolla i top och se vilka processer som är igång, och även stoppa apache så du säkert vet att ingen apache process ligger och spökar.

Permalänk
Medlem
Skrivet av trexake:

Hej!
Hur ska jag hitta processen som använder port 80?

netstat kan visa vad som lyssnar på vilken port.

netstat -tlpn

fungerar i linux, inte använt freeBSD på länge så minns inte om netstat är helt likt.

Permalänk
Medlem

Det som hände var att apache inte startades korrekt då nyckeln inte matades in. Därmed fastnade programmet i något konstigt läge. Jag kunde inte finna processen apache varken med netstat eller top, det var skumt tyckte jag.

Jag ska göra om så att jag inte behöver skriva in nyckeln vid start av apache.

netstat -tlpn

Det är lite annorlunda i BSD system. Detta verkade göra jobbet:

sockstat -4 -l

Dock kunde jag som sagt inte se apache när jag gjorde detta tidigare.

Permalänk
Medlem

Non-root får inte binda sockets <1024. Blev väl något mumbojumbo med startscript/rättigheter där.