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

Niels Dettenbach linux at eichsfeld.net
Mo Dez 7 20:31:06 CET 2009


...hmmm,

hab zwar derzeit nur mit wenigen Debian Systemen eingehender zu tun, versuche aber mal Dir ein möglichst "einfaches" Setup vorzuschlagen / zu erklären:

Erstmal brauchst Du zwei verschiedene "ServerRoot" Verzeichnisse. Per Standard gibt Debian wohl /etc/apache vor.

Nehmen wir mal an, Du verwendest für Server1 die Standard-Konfiguration mit:
	ServerRoot /etc/apache
	DocumentRoot /var/www

Der Server läuft unter
	User www-data
	group www-data

Der Einfachheit halber verwenden wir den selben httpd wie die selben Module - du kannst ja per httpd.conf für jeden der Apaches festlegen, welcher er laden soll etc.

Für den zweiten server gehst Du in etwa wie folgt vor:

User und Gruppe für den 2. Server anlegen - z.B:
	User www-admin
	Group www-admin

dann kopierst Du z.B. die Standard-Konfig für den neuen Server:
	cp -Rpv /etc/apache /etc/apache-admin
	
(d.h. deinen zweiten Webserver konfigurierst Du in /etc/apache-admin)
Dann legst Du das DocumentRoot für Deinen zweiten Server an - z.B:
	mkdir /var/www-admin
	chgrp www-admin /var/www-admin
	chmod g+rx /var/www-admin

Dorthinein packst Du dann z.B. Deine index.html oder anderen Web-Stoff, den Du per dem Apache anbieten willst.

Dann wechselst Du in das neue Konfig-Verzeichnis /etc/apache-admin
und passt die httpd.conf Deinen Vorstellungen für den zweiten Apache an - wichtig dabei sind auf jeden Fall:
	ServerRoot /etc/apache-admin
	DocumentRoot /var/www-admin
	User www-admin
	Group www-admin
mit
	Listen 8888
lässt Du den Apache (statt an Standard 80- der ist ja schon vom 1. Apache belegt) Port 8888 lauschen (an allen IPs / Interfaces). Alternativ kannst Du auch mehrere IP-Adressen am ethernet-Port Deiner Maschine festlegen (aliase) und jeden der Server nur auf eine der IPs flanschen:
	Listen 10.10.11.2:80

Die Pfade für ev. Logfiles solltest Du auch ändern - z.B. nach /var/log/apache-admin (der Ordner sollte zuvor ggf. mit 
	mkdir /var/log/apache-admin 
angelegt und ggf. mit 
	chmod g+rwx /var/log/apache-admin
	chgrp www-admin /var/log/apache-admin
dem neuen Apache zugänglich gemacht werden).

Dann brauchst Du nur noch für den Start des zweiten Servers sorgen - das sollte mit
	apache2 -d /etc/apache-admin
bzw. 
	httpd -d /etc/apache-admin

erledigt sein.

Der Apache liest damit Deine Konfig aus /etc/apache-admin/httpd.conf . Alles weitere konfigurierst Du halt dort.

Sollte sich nochwas ungewollt überschneiden / blockieren, sollte es Fehlermeldungen geben (macht deshalb wohl Sinn, den ersten Apache schon mal laufen zu haben).

Die Debian-Startscripte hab ich nicht zur Hand, möglicherweise kannst Du das Standard-Init-Script /etc/init.d/apache2 nach z.B. /etc/init.d/apache2-admin kopieren  und auf die betr. Pfade Deines zweiten Servers umschreiben.

Vielleicht helfen Dir ja diese paar Zeilen etwas weiter - auf jeden Fall viel Glück!
Cheers,

Btw:
Aus meiner persönlichen Erfahrung kann ich Gentoo Linux als das wohl "ultimative Lern- und Anwendersystem" für Ein- oder Umsteiger, die langsam aber sukzessive Linux lernen - dabei aber von Beginn an damit arbeiten / es anwenden wollen - empfehlen. 

Es ist ebenso flexibel wie gut (vom kleinen Taschen Livesystem über Desktops, Server(-Farmen) bis hin zu komplexesten Netzwerken) - in verschiedensten Projekten und Wikis - dokumentiert (auch auf deutsch ;). Natürlich ist alles irgendwie Geschmacksache - aber als echtes "Lernsystem" taugt es sicher allemal mehr, als die meisten heutigen Distris. Was man lernt, kann man so auch ähnlich unter anderen Unixoiden (*BSDs, MAC OSX) / Linuxen (z.B. pkgsrc, pkgsrc-wip) anwenden bzw. wiederfinden. 

Schon das Standard-Installationshandbuch ist wie ein Linux-Grundkurs aufgebaut (dennoch beim ersten mal binnen 0,5-3h zu durchlaufen) - Und: ganz OHNE Lernen geht es sicher nie - egal welches System man warum und wie weit zu administrieren hat. Fraglich ist halt Zeit und Aufwand, die man investieren kann oder möchte - und dafür dauerhaft behalten möchte. Was man aber einmal weiß, kann man nicht mehr wegnehmen... ;)

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