Fügen Sie Apache zum Start von Ubuntu hinzu

7

Ich lerne gerade die Linux-Umgebung und habe beschlossen, den Apache-Server manuell zu installieren. Zu Bildungszwecken habe ich es zusammengestellt in:

/server/apache

Der http.confSpeicherort ist korrekt konfiguriert. Es funktioniert - Ich kann einen Browser öffnen und zur localhostMeldung "Es funktioniert" navigieren und sie sehen. Aber wie fügt man Apache in Ubuntus Startup ein, damit ich nicht tun muss:

sudo /server/apache/bin/apachectl start

die ganze Zeit? Kann jemand erklären, wie man Programme zum Ubuntu-Start hinzufügt (10.10 64 Bit)?

Stann
quelle
1
Obwohl dies eine gute Lernerfahrung ist, machen Sie so etwas bitte nicht langfristig. Der Sinn des Distributions-Paket-Managers besteht darin, die Dinge auf dem neuesten Stand zu halten. Wenn Sie anfangen, Dinge manuell zu erstellen, müssen Sie sicherstellen, dass sie auf dem neuesten Stand sind.
Developmental
@develop: Natürlich wird eine Distribution wie Ubuntu die Versionen beibehalten und nur Wartungsupdates durchführen, und es gibt nicht unbedingt die neuesten PPAs für jedes Paket, das Sie interessiert. Wenn Sie also eine neue Version wünschen, tun Sie dies manchmal muss es selbst bauen.
Cascabel

Antworten:

2

Der einfachste Weg ist die Apache - Startskript in Ubuntu Apache - Paket zu nehmen, und ersetzt /usr/sbin/apachectldurch /server/apache/bin/apachectl.

Wenn es sich um eine Lernübung handelt, haben Sie mehrere Möglichkeiten (von den flexibelsten bis zu den am wenigsten flexiblen):

  • Starten Sie Apache über Upstart . Sie müssen eine Datei schreiben /etc/init/my_apache.conf. In Anbetracht des Standes der Upstart-Dokumentation empfehle ich, vorhandene Beispiele und die Manpages parallel zu lesen.
  • Starten Sie Apache über einen SysV Skript: ein ausführbares Skript in /etc/init.ddem beginnt, stoppt, werden neu gestartet oder neu geladen und die Apache - Konfiguration je nachdem , ob sein erstes (und einzige) Argument ist start, stop, restart, oder reload(mit force-reloadals Alias für reload). Führen Sie das Skript aus, damit es beim Booten gestartet wird update-rc.d. Siehe auch das Ubuntu Bootup Howto .
  • Starten Sie Apache von /etc/rc.local.
Gilles 'SO - hör auf böse zu sein'
quelle
Vielen Dank. Ich kam zu dem Schluss, dass Ubuntus Upstart auch der richtige Weg ist. RHEL 6 verwendet es ebenfalls.
Stann
5

Hier ist eine gute Ressource, die genau dem entspricht, wonach Sie fragen. Grundsätzlich müssen Sie ausführen, damit Apache2 automatisch gestartet wird

update-rc.d apache2 defaults

Dadurch startet das Startskript den Dienst, in dem es sich /etc/init.d/apache2nach dem Start befindet . Zuvor müssen Sie ein Init-Skript erstellen und einfügen /etc/init.d/. In Ihrem Fall

ln -s /server/apache/bin/apachectl /etc/init.d/apache2

kann gut genug sein.

Phunehehe
quelle
1
Sie können auch das Skript init.d aus dem Apache-Paket holen und es ein wenig optimieren. Sie würden mit einem viel robusteren Skript enden.
Cascabel