apache - Fehler :(

Niels Dettenbach linux at eichsfeld.net
Do Dez 10 09:55:39 CET 2009


On Wednesday 09 December 2009 22:30:54 Hans-Dietrich Kirmse wrote:
> Aber ich habe über die Init-Scripte nachgedacht, wie ich die erstellen
> kann, dass da keine Fehler passieren und zudem möglichst noch mit
> minimalen Aufwand - und ohne das ich mich mit diesen Shell-Scripten
> abgeben muss. Meine Überlegung: wenn man beim Compilieren die Daten
> mitgeben kann, die die zweite Instanz von der ersten Instanz unter-
> scheidet, dann müßte doch beim Compilieren auch das passende Init-Script
> erstellt werden. Mehr noch, die gesamte Verzeichnisstruktur z.B. wegen
> den Logs, auch alle Konfigurationsdateien sollten entsprechend angepasst
> sein. Wenn das so gehen würde, wie ich mir das jetzt so vorstelle, dann
> wird für mich das Compilieren eines Apache sehr attraktiv. Nur dass ich
> den eigentlichen Apache dann verwerfe und eben nur die Initscripte und
> Konfigurationen nutze.
Ich nehme an, das das so nicht funktioniert. I.d.R. liegt den Sourcen von 
"Serverprogrammen" zwar ein passendes Init-Script bei, aber in vielen Fällen 
wird dies beim Kompilieren nicht mit an die (abweichend) konfigurierte 
Umgebung "angepasst".

Dazu kommt, das nahezu jede Distribution eigene Init-Scripte verwendet, die an 
die "Spezialitäten" des jeweiligen Systems angepasst sind. Um also eine 
"normale" Debian-Funktionalität zu bekommen, benötigst Du ein angepasstes 
Apache2 Init Script von / für Debian (z.B. eine Kopie von /etc/init.d/apache2 
in der alle nötigen Pfade angepasst werden). Leider sind die Debian-Apache 
Scripte für den Apache2 recht komplex, so das Du noch weitere Anpassungen am 
System vornehmen müsstest (z.B. eine zweite envvars Datei...) - ich denke 
damit bist Du "überfordert".

Am einfachsten (dafür nicht gant sauber) wäre wohl, das Kommando zum Rufen 
Deines zweiten Apaches in /etc/rc.local einfügst. Damit wird Dein zweiter 
Apache am Ende des Hochfahrens automatisch gestartet. 

Du musst allerdings auch hier den kompletten Pfad zum apache2 angeben - also 
z.B:
/usr/sbin/apache2 -d ... -f ...

(nur "-d" allein will mit dem Debian Apache offenbar nicht).

Wenn Du Dir etwas mehr zutraust, kannst Du auch aus z.B. dieser Vorlage:
http://mythwiki.de/index.php?title=HOWTO_Debian_init_script

ein einfacheres, aber auch passendes, Init-Script basteln.


> Meine Frage: sind meine Überlegungen richtig und würde das gehen? (Dann
> würde es sich für mich echt lohnen, mich mit dem Compilieren zu
> beschäftigen - wie gesagt, noch nie gemacht)
> 
Es lohnt sich eigentlich immer - vor allem um den Bau eines eigenen Kernels 
kommt man irgendwann meist nicht mehr herum. Zudem lernt man viel dabei.. ;)

Unter Debian gibt es i.d.R. zwei Wege um Software selbst zu kompilieren:
 - mit dem Paketmanager - z.B. apt-get -b und/oder dpkg)
 - der "generische" Weg für alle Linuxe / Unixe:
  ./configure && make && make install

ersteres hat den Vorteil, das die resultierende Software "ordentlich" in der 
Paketverwaltung verwendet werden kann - zweiteres, das es auch mit 
Softwarequellen funktioniert, für die es sonst kein Debian-(Source)-Paket 
gibt.

hth
Beste Grüße,


Niels.
-- 
  Niels Dettenbach
  ---
  Eichsfelder Linux/UNIX Stammtisch (EICLUSt)
  http://linux.eichsfeld.net
  ---
  business: Syndicat IT&Internet - http://www.syndicat.com
  Heilbad Heiligenstadt / Erbil / Cape Town
  ---
  Kryptoinfo: 
  PGP public key ID 651CA20D
  Fingerprint: 55E0 4DCD B04C 4A49 1586  88AE 54DC 4465 651C A20D
  https://syndicat.com/pub_key.asc
  ---