HAllo Michael!
meine Antwort setzt UNIX als Plattform voraus
dafür ist es auch gedacht, genauer RedHat Linux.
nach Möglichkeit jede Installation so durchführen, daß sie koexistenzfähig mit anderen Installationen desselben Produkts auf derselben Maschine ist. Das mache ich bei Apache immer so - jedenfalls unter UNIX, weil es seit Apache 1.3.17 unter Windows leider nichit mehr funktioniert.
Dann kann ich aber kein rpm mehr verwenden sondern muß das ganze manuell kompilieren, linken und konfigurieren, oder? Sowas habe ich noch nie gemacht ;-)
Außerdem wid der Rechner noch nicht produktiv eingesetzt, also muß ich nicht innerhalb von Sekunden den alten Zustanmd wieder herstellen können, aber Du hast schon Recht und ich würde es gerne probieren.
Ich installiere mir einen zweiten Apache _neben_ den ersten (/usr/local/apache/<versionsnummer>).
"/usr/local/apache" ist ein symbolic link auf diejenige Version, die ich aktuell als "die produktive" betreibe. Das ist also auch der Pfad, der beispielsweise verwendet wird, wenn der Apache beim Booten der Maschine automatisch gestartet werden soll usw.Die Apache-Konfigurationsdatei httpd.conf besteht bei mir aus genau zwei Zeilen:
port 80
include ../common/httpd.conf
Was ist denn das? Das ist doch keine Bash-Datei oder sowas, wer oder was interpretiert diese Anweisungen? Include bindet vermutlich nur dei aktuelle httpd.conf so wie sie da original vorliegt ein, aber wieso dann noch port? In meiner httpd.conf steht da nichts von port 80, da steht nur Listen *:80, wozu braucht man dann die erste Anweisung? Und überschreibt die 2. nicht die 1.?
Die Konfiguration ist _nicht_ Bestandteil einer bestimmten Version des Apache.
Installiere ich einen neuen Apache, dann bekommt der auch wieder so einen Zweizeiler, allerdings mit einer anderen Portnummer. So kann ich beide Apaches parallel nebeneinander laufen lassen.
Das hört sich schlau an.
Installiere Apache 2.0 so, daß Apache 1.3 weiterhin lauffähig bleibt - also in ein neues Verzeichnis.
Leichter gesagt als getan, hab mir jetzt einmal die Anleituzng auf Apache.org angesehen, da gibt es ja 2 Wge, einmal APACI und einmal traditional, was würdest Du verwenden? Udn wie es aussieht muß man PERL _vorher_ installiert haben, oder?
Und wie ist das mit den Modulen, sind wenn ich das so mauell mache _gar_keine_ Module dabei? Also muß ich vorher wissne welches Modul ich jemanls brauchen werde und die dann alle mit einkompilieren, oder kannman auch noch welche nachinstallieren?
Z.B. mod_php wird doch wenn immer nachträglich installiert, oder? Und was ist mit mod_perl, ist das unabhüngig von der eigentlichen PERL-Installation zu sehen?
Und wo soll das der Unterschied sein? "Installation" hat nichts mit "Registry" oder ähnlichem Unfug zu tun - jedenfalls unter UNIX.
Das habe ich halt noch nichzt so verinnerlicht, bei Windows ist das alles etwas anders geregelt. Bei Unix habe ich also im Normalfall nur 3 Orte, also einmal wo das eigentliche Programm "hinkopiert" wird, einmal wo eien bin zum starten des Programmes hinloopiert wird, also /usr/local/bin oder sowas und dann noch die conf-File unter /etc/blabla/, oder? Dazu kommen dann nur noch der Eintrag in einem Start-script und in einem Shutdown-Script(welche nehme ich da wohl unter Linux für den Apachen?), und das wars eigentlich, oder?
Deshalb automatisierst Du den Installationsvorgang der vorherigen Version über ein kleines shell-Skript. Bei mir heißt das "install_apache.sh", und es enthält etwa fünf Zeilen:
braucht man da kein #!/usr/bin/bash oder sowas in der 1. Zeile?
INSTALLDIR=<pfadname>
Wofür definierst Du das hier wenn Du es nachher nicht verwendest?
make clean
Was heißt das? Das verzeichnis leeren oder sowas?
configure (mit sehr langer Parameterliste)
Dann mit den ganzen Apache-Modulen und Einstellungen, oder?
make
Woher weiß make was genau gemact werden soll? Hier sind ja keine Parameter!
Kann ich an dieser Stelle also keine RPMs verwenden, oder?
Willst Du eine packager-proprietäre Lösung oder eine, die funktioniert? ;-)
RPM ist von Readhat und funktioniert gerade dort recht gut. Aber ich werde sowieso nicht um das eigene kompilieren drum rum kommen, da ich ja keine "Standard-Installation" wünsche sondern zum einen verschiedene Module, udn des weiteren paralle Installationen.
Machst Du das so auch mit andere Software wie mysql, postgres, php und perl, oder gelten hier andere Gesetze als für den Apachen?
Apaches installiert man laut Apache Group mit "configure" aus einer shell - eine beliebige Dialog-Verbindung a la telnet reicht aus.
dabei ist "configure" ein Script aus dem Apache source oder was?
Die Datei INSTALL ist sehr ausführlich, was die Parameter von "configure" betrifft.
Muß ich mir mal durchlesen. Irgendwann muß ich da sowieso mal durch, je eher desto besser.
Vielen Dank für die Hilfe!
Grüße
Andreas