2 Instanzen von Apache - geht das, wenn ja - wie?

Mario Lorenz ml-tlug at vdazone.org
So Dez 6 22:48:19 CET 2009


Am 06. Dec 2009, um 21:40:23 schrieb Hans-Dietrich Kirmse:

Hallo Hans-Dietrich,

> >>ich habe (erstmal) eine eher theoretische Frage: kann ich Apache 2 mal
> >>starten? ...
> >
> >Du kannst pro User einen Apache starten, kein Problem. Separate Log-Dirs,
> >separate Config-Dirs und vor allem: Jede Instanz muss eine eigene IP
> >haben (Sonst weiss Linux nicht, an welchen Prozess die Daten gehen soll...)
> >Das ist idR. so das K.O.-Kriterium.
> 
> da es um einen eigenen (Schul-)Server geht, stehen uns alle
> Konfigurationsoptionen offen, einschließlich der Verwendung/Vergabe von
> IPs.

In der Regel ist man da hardware-limitiert :)

> So war das nicht gedacht. Es geht einfach nur darum, dass der eine
> Apache die lokalen Webseiten einschließlich der Seiten der User (also
> ~/html_public) bereitstellt und die andere Instanz eben als Webserver
> für das Admin-Interface dient. Es sollen also die Scripte zur User- und
> Rechnerverwaltung auf den einen Rechner ausgeführt werden (quasi der
> "Webmin-Ersatz") und alles andere auf den "Standard-Apache". Wobei ich
> mir noch keine Überlegungung dazu angestellt habe, auf welchen der
> beiden Server das Wiki, das CMS und Moodle laufen sollte.

Mit zwei Instanzen ist das natürlich kein Problem.
Aber ich sehe den großen Sicherheitsgewinn noch nicht.

> geht nicht. Es geht um einen Schulserver (Nachfolger von Arktur4).
> Schüler sollen auch PHP-Scripte erstellen und bereitstellen/nutzen
> können. Will sagen, in den html_public-Verzeichnissen soll für die
> Schüler PHP wie bei Arktur (dort zudem auch Python) *standardmäßig* zur
> Verfügung stehen. Mit CGI schieß ich mir m.E. aus mehreren Gründen ein
> Eigentor.

Die Gründe würden mich interessieren... CGI saugt etwas Performance,
und hat keine persistenten DB-Verbindungen. In Summe bedeutet es, dass
man umfangreichere PHP-Apps (CMSe etc.) nicht vernünftig betreiben kann.
Schüler-Programmierübungen kann man lässig mit CGI und suexec abfangen.
Das ist sogar der sinnvolle weg, weil dann die Programme jeweils unter der
Userid des Schülers laufen. (Dein Konzept mit 500 Usern auf einem zweiten
Apache bedeutet zwar eine Absicherung des Admins, aber 500 User deren
Programme unter der selben UID laufen, was bei "Fortgeschrittenen"
für eher viel Spass sorgen dürfte...


>   aptitude -R install apache2-mpm-prefork
> sagt mir das System, dass er 2 Pakete aktualisieren will. Ich will aber,
> dass ein 2. Apache zur Verfügung gestellt wird. so gehts also nicht
> (wobei mir das eigentlich auch logisch ist), aber wie macht man es dann?

Du installierst Apache einmal.

Du legst einen zweiten Satz Config-Files bzw. eine zweite Serverroot an.

Die zweite Apache-Instanz startest Du einfach manuell mit httpd -d <zweites serverroot>
bzw -f <zweites configfile>

Wenn das zufriedenstellend läuft, machst Dus mit einem zweiten /etc/init.d/apache-Script
(was die Kommandozeilenargumente enthält...)

Mario
-- 
Mario Lorenz                            Internet:    <ml at vdazone.org>
                                        Ham Radio:   DL5MLO at DB0ERF.#THR.DEU.EU
* This virus needs Windows95 to run!