Läuft Apache?


13

Ich habe gerade die Webmasterfunktion für die Website meines Unternehmens übernommen und bereite für meinen Partner einen Bericht über den LAMP-Stack vor. Aber ich bin ein neuer CS-Absolvent und das einzige, was ich wirklich gut kenne, ist Java-Codierung, also brauche ich etwas Hilfe!

Ich versuche herauszufinden, a) ob Apache installiert ist und b) welche Version läuft.

Meine Linux-Version ist "Ubuntu 8.04.4 LTS \ n \ l", wie von gemeldet /etc/issue.

Antworten:


19

Läuft es?

pgrep apache

Jede Ausgabe ist gut, nichts bedeutet, dass sie nicht ausgeführt wird.

Welche Version:

aptitude show apache2

1
pgrep apacheErzeugt 11 Ausgabezeilen.
Iain Samuel McLean Elder

aptitude show apache2Erzeugt viele Ausgaben, einschließlich der Zeile Version: 2.2.8-1ubuntu0.15.
Iain Samuel McLean Elder

1
apache2 -versionin einer shell würde das auch funktionieren.
Marc B

4

Hast du versucht, damit zu reden?

telnet localhost 80
HEAD / HTTP/1.0
<extra carriage return>

telnet localhost 80produziert-bash: telnet: command not found
Iain Samuel McLean Elder

Sie sollten in Betracht ziehen, es oder etwas mit ähnlichen Funktionen wie ncat (Teil von nmap 5) zu installieren. Die direkte Kommunikation mit Ihrem Web- (oder SMTP- oder POP- oder IMAP- oder SIP- oder FTP- oder ...) Server kann für die Fehlerbehebung unerlässlich sein.
Gerald Combs

3

Informationen zur Suche nach Apache 1.X finden Sie weiter unten. Informationen zu Apache 2.X finden Sie in der Antwort von wzzrd.

Der Prozess des Apache-Webservers heißt httpd. Eine schnelle Möglichkeit, um zu bestätigen, dass Apache installiert ist und ausgeführt wird, ist:

ps -A | grep 'httpd'

ps -A listet alle laufenden Prozesse auf grep 'httpd' filtert nur Zeilen, die 'httpd' enthalten

Wenn Sie keine Ergebnisse erhalten, wird Apache nicht ausgeführt.

bezüglich der Version, versuchen Sie:

Apachectl Status

In der Ausgabe sollte eine Zeile stehen wie:
Apache / 1.3.41 Server unter www.xyz.com Port 80

Wenn apachectl nicht gefunden wird, befindet es sich möglicherweise nicht in Ihrem Ausführungspfad. Versuchen
Sie Folgendes : whereis apachectl , um festzustellen
, wo es sich befindet

Dies sind verteilungsunabhängige Methoden. Unabhängig davon, wie Apache auf dem System installiert wurde, sollten Sie es mit diesen Methoden finden.


"ps -A | grep 'httpd'" erzeugt keine Ausgabe.
Iain Samuel McLean Elder

"Apachectl Status" erzeugt "-bash: Apachectl: Befehl nicht gefunden"
Iain Samuel McLean Elder

"whereis apachectl" produziert "apachectl:"
Iain Samuel McLean Elder

Allerdings ps -A | grep apache2produziert `2691? 00:00:01 apache2` und 10 andere apache2Prozesse.
Iain Samuel McLean Elder

1
@isme, eigentlich ist das kein Distributionsproblem, sondern ein Apache-Hauptversionsproblem. Ich habe auf eine Box mit Apache 1.x verwiesen. Die Anleitung hätte auf Ubuntu mit Apache 1.x funktioniert und die andere Antwort hätte kein Ergebnis gebracht.
ManiacZX

1

Klicken Sie hier: http: // localhost Wenn Sie keinen Fehler 404 erhalten, wird er ausgeführt.


Meine Serverinstanz ist ein VPS, daher kann ich nicht einfach auf einen Link auf meinem lokalen Computer klicken, um zu überprüfen, ob er ausgeführt wird.
Iain Samuel McLean Elder

Sie könnten einige Ncurses-Webbrowser wie Links oder Lynx direkt auf dem Server ausführen.
halp

0
/sbin/service httpd status

Ich werde sagen, dass du es nicht hast Es ist in Ordnung es ist ausgeschalten


/sbin/service httpd statusproduziert-bash: /sbin/service: No such file or directory
Iain Samuel McLean Elder

0

Für Apache / 2.2.22 können Sie auch versuchen. Es werden Ihnen einige Vorgänge gezeigt.

ps -A | grep 'apache'
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.