Ich habe Apache 2 von der Quelle auf meiner Linux-Box installiert. apachectl -k start
funktioniert einwandfrei, aber wie bekomme ich Apache zum Startzeitpunkt?
Dies ist eine Red Hat Linux-Distribution:
Linux <Hostname> 2.6.9-55.ELsmp # 1 SMP Fr 20 Apr 17:03:35 EDT 2007 i686 i686 i386 GNU / Linux
linux
apache-2.2
startup
trauern
quelle
quelle
Antworten:
Sie möchten das Init-Skript der entsprechenden Ausführungsebene hinzufügen. Das Init-Skript kann normalerweise
/etc/init.d/apache2
manuell ausgeführt werden/etc/init.d/apache2 start
, um es zu starten.Auf Gentoo würden Sie schreiben:
Unter Ubuntu / Debian funktioniert das:
Unter Red Hat Linux / Fedora / CentOS zeigt ein bisschen googeln Folgendes:
Es variiert ein wenig von Verteilung zu Verteilung, aber die Idee ist normalerweise dieselbe. Grundsätzlich stellen alle diese Befehle eine symbolische Verknüpfung
/etc/init.d/
zum entsprechenden Run-Level-Ordner in her/etc/
.quelle
Hier ist, was endlich für mich gearbeitet hat. Dies setzt voraus, dass Sie der Root-Benutzer sind.
Inhalt von /etc/init.d/apache2:
Sie können den Runlevel durch Ausführen von / sbin / runlevel abrufen, was in meinem Fall 3 war. Und natürlich müssen Sie Ihre Version von apachectl aufrufen, was in meinem Fall / usr / local / apache2 / bin / apachectl war
Vielen Dank an:
quelle
Überprüfen Sie, ob Sie das
httpd
Init-Skript im/etc/rc.d
Verzeichnis haben. Wenn ja, können Sie einfach den folgenden Befehl ausführen, mit dem der httpd- Dienst zum Startzeitpunkt gestartet werden kann.Wenn Sie das Init-Skript nicht haben, hängen Sie die
/etc/rc.local
Datei einfach mitapachectl -k start
(dem Befehl zum Starten von Apache) an.quelle
Da Sie nach Quelle installiert haben, wird im Verzeichnis /etc/init.d/ kein Init-Skript installiert. Die Apachectl-Binärdatei ist so konzipiert, dass sie mit Standard-Init-Skriptoptionen kompatibel ist, sodass Sie möglicherweise einfach einen Link zu ihr erstellen können, anstatt ein Wrapper-Skript zu erstellen (z. B. ln -s / usr / local / sbin / apachectl /etc/init.d/). Apache)
Sie können dann die in den anderen Beiträgen beschriebenen Verfahren zum Hinzufügen von Links ausführen, um das Init-Skript in den richtigen Runleveln aufzurufen.
Zitat: Apache-Dokumentation http://httpd.apache.org/docs/2.2/invoking.html
quelle
chkconfig --levels 345 httpd
startet httpd in runlevels 3,4,5.
chkconfig --list zeigt alle Dienste und ihre aktuellen Start-Runlevel an. 345 ist typisch für einen Netzwerkdienst.
quelle
Unter Red Hat Linux gibt es ein nützliches Hilfsprogramm namens ntsysv, mit dem Sie auswählen können, welche Dienste Sie in Ihrem aktuellen Runlevel starten möchten. Sie rufen auch auf, welche Ausführungsebene Sie bearbeiten möchten, wenn Sie das Dienstprogramm mit starten
--level
.Scrollen Sie nach unten zu httpd und drücken Sie, Spacedamit ein Stern im linken Feld angezeigt wird. Dann Tabzu OK. Drücken Sie Return, um zu speichern und zur Shell zurückzukehren.
Ich habe festgestellt, dass es so ziemlich standardmäßig installiert wird. Ich war noch nie in einer Position, in der es nicht installiert war.
Sie müssen den Dienst jedoch zuerst installieren, indem Sie das Dienstskript in /etc/init.d kopieren und dann ausführen:
quelle
Es hängt von Ihrem Linux-Geschmack ab. Angenommen, die Datei /etc/init.d/apache2 wurde erstellt, versuchen Sie Folgendes:
oder
Einer von ihnen sollte funktionieren.
quelle