AW: Re: apache

Niels Dettenbach linux at eichsfeld.net
Di Dez 8 19:50:57 CET 2009


Hallo Hans,

freut mich, das ich soweit helfen konnte.

1.)
Um Deinen laufenden Server Wieder zu beenden, kannst Du z.B:

- mit 
	cat /pfad/zu/pidfile
die aktuelle Prozessnummer auslesen, dann mit
 	kill PID
(PID ist die ausgelesene Prozessnummer)
herunterfahren bzw. töten.

Es gibt eine Reihe Standard-Init-Scripte für Unixe / Linuxe, daneben kannst Du auch das Standard-Init-Script von Apache - Debian kopieren - z.B:
	cp -pv /etc/init.d/apache2 /etc/init.d/apache2-admin

und die Kopie Deinen Bedürfnissen anpassen. Im Prinzip musst Du "nur" die im Script auftretenden Pfade auf den zweiten Server anpassen - wo nötig (PID, Konfiguration o.ä.).

D.h. dann kannst Du auch Deinen zweiten Apache mit:
	/etc/init.d/apache2-admin start
starten bzw. mit "stop" stoppen usw.

Bekommst Du das nicht hin, lässt Du den Apache (mit dem besprochenen Kommando) beim Systemstart starten und beim Herunterfahren einfach (also ohne extra Script oder Kommando) sterben. Das System macht ihn dann schon von allein tot... ;)

2.) was meinst Du mit "Ressourcen"?
Die gängigen Tools wie:
	ps afux
	top
Sollten Dir die im laufenden Betrieb benötigten Ressourcen auf einfache Weise zeigen. Manche Anfänger bevorzugen auch "htop" (muß extra installiert werden).

Die Software selbst belegt auf der Platte keinen weiteren Speicher, da Du ja den selben Server nur verschieden konfiguriert startest.

Den Plattenbedarf der Konfiguration ermittelst Du z.B mit:
	du -sh /etc/apache-admin
(also dem ServerRoot Verzeichnis).

Wenn der zweite Apache eh nur für Konfigurationszwekce einzelner User gedacht ist, reicht es auch wenn Du die Zahl der vorgestarteten Prozesse auf einen bzw. einzelne reduzierst, um so der RAM-Bedarf zu minimieren. Wieviele Prozesse Dein Apache von sich aus im "Ruhebetrieb" startet, siehst Du per top oder ps afux.

hth
Viel Glück!
Beste Grüße,

Niels.
---
Niels Dettenbach
http://www.syndicat.com

-- Urspr. Mitt. --
Betreff: Re: apache
Von: Hans-Dietrich Kirmse <hd.kirmse at gmx.de>
Datum: 08.12.2009 19:18

Hallo Niels,

Niels Dettenbach schrieb:
> ....also,
> 
> hab das - weil's mich mal interessiert hat - soeben nochmal testweise mit 
> einem Debian Apache2 ausprobiert und habe da auf den zweiten Blick noch ein 
> paar Dinge, die Du beachten solltest - gefunden.
> 
> statt
> 	apache2 -d/etc/apache-admin 
> 
> möchte er offenbar nur mit
> 	apache2 -d/etc/apache-admin  -f /etc/apache-admin/apache2.conf
> 
> auch die eigene Konfiguration lesen.
> 
> Damit sich beide Apache nicht ins Gehege kommen, musst Du zusätzlich alle 
> Pfade wie:
> 	LockFile /tmp/accept.lock
> 	PidFile /tmp/apache2.pid
> 
> (/tmp ist hier nur ein schlechtes Beispiel und produktiv nicht geeignet - zum 
> Ausprobieren aber gut) auf abweichende Pfade bzw. Namen ändern (bitte IN der 
> Konfigurationsdatei - nicht in /etc/apache2/envvars!).
> 
> Aber auch für die Logausgaben solltest Du eigene Festlegungen treffen - z.B:
> 	ErrorLog /tmp/error.log 
>         CustomLog /tmp/access.log combined
> 
> Mit den Maßnahmen hat es zumindest auf meiner Debian-Testumgebung gut 
> funktioniert.
> 
> Nun zu Deinem gestrigen Problem:
> On Monday 07 December 2009 23:18:39 Hans-Dietrich Kirmse wrote:
>> Niels Dettenbach schrieb:
>>>> bad user name
>>> Demnach gibt es den Usernamen und / oder Gruppe noch nicht.
>>>
>>> Bitte nochmal beide angelegten User / Gruppe prüfen - ev nochmal
>>> neueinloggen. 
>> keine Änderung
> 
> Debian scheint in der Konfiguration normalerweise auf /etc/apache2/envvars
> zurückzugreifen, die mit dem Debian Init-Script /etc/init.d/apache2 gelesen 
> und ausgewertet wird.
> 
> In Deiner Konfigurationsdatei solltest Du deshalb haben:
> 	        User www-admin
>         	Group www-admin
> 		PidFile /tmp/apache2.pid

für User und Group hatte ich das schon gemacht, nicht aber für das
PidFile. Danke für diesen Hinweis.

Danach bekam ich eine andere Fehlermeldung, dass ich User und Group aus
der virtualhost-Sektion rausnehmen sollte (da hatte ich es auch
eingetragen). Und dann meckerte er nur noch das fehlende Verzeichnis für
das errorlog an - dann lief es endlich auch bei mir. Auch ein Test mit
einem Client und einer geänderten Startseite verlief auf Anhieb.

Soweit ja das eigentliche Anliegen erfüllt. - Also für deine
Unterstützung meinen herzlichen Dank, auch an alle anderen, die sich an
der Diskussion beteiligt haben. (auch wenn diese Lösung nicht übernommen
werden sollte, wird diese im delixs-Wiki dokumentiert werden, damit es
für andere auch zur Verfügung steht.)

Aber es ist so, dass jetzt schon von mir Begehrlichkeiten entstanden
sind. Wie kann ich diesen Apache wieder ausschalten, außer dass ich den
Server runter fahre und beim nächsten Booten nicht wieder starte(?).

> (nicht aber die ehem. Variablennamen wie: "User ${APACHE_RUN_USER}" oder 
> "Group ${APACHE_RUN_GROUP}" - es sei denn Du schreibst Dir das passende Init-
> Script für Deinen Apache dazu - z.B. aus dem Standard-Script 
> /etc/init.d/apache2 als "Vorlage"...).

wie schon geschrieben, ich kann kein Linux, will sagen, ich kann damit
auch kein Shell-Scripting und damit wäre das Anpassen des Init-Scripts
durch mich vergebliche Mühe. (Ich kann nur Perl)

Werde mich aber in unserer kleinen Gruppe umhören, ob das einer
übernimmt - davon gehe ich aus. Damit wäre dann auch das Problem weg,
wie man diesen 2. Apachen stoppen kann. Aber vielleicht gehts ja auch
anders.

Aber eine 2. Frage hätte ich doch noch, nämlich: wie kann ich den
Ressourcen-Bedarf für diese 2. Instanz zumindest grob erfassen? Das ist
sicher auch eine Frage, die zur Entscheidung für bzw. gegen diese Lösung
herangezogen werden sollte.


Unabhängig von diesen beiden Fragen: danke für die Unterstützung.

Mit freundlichen Grüßen
Hans-Dietrich