Variable definieren in *.conf ?!?

Alles, was den Apache betrifft, kann hier besprochen werden.

Variable definieren in *.conf ?!?

Postby M*I*B » 23. February 2008 11:06

Hallo liebe Leser/innen,

irgendwo hab ich mal eine conf gesehen, in der mit Variablen gearbeitet wurde. Leider finde ich das nicht mehr, daher meine Frage an dieser Stelle:

Ich möchte am Anfang einer *.conf einer Variablen einen Wert zuweisen um diese Variable dann im weiteren Verlauf nutzen zu können, also mal als Beispiel innerhalb einer vhosts.conf:

# start
var1 = user
var2 = domain1
var3 = domain2
varx = xyz
...
DocumentRoot "/[var1]/[var2]"
...
# end

Gibt es eine Möglichkeit, sowas in der ARt zu machen, und wenn ja, wie?
M*I*B
 

Postby Scory » 23. February 2008 11:29

Die Variablen, die Du "irgendwo" gesehen hast, waren sicherlich die sog. "Servervariablen", die beispielsweise vom Modul mod_rewrite ausgewertet werden können. Die sehen so ungefähr aus: %{HTTP_X_FORWARDED_FOR}, %{REMOTE_ADDR} usw.

Aber allgemeine Variablen, gar zur freien Definition, kennt httpd.conf nicht. Das, was Du vorhast, geht so nicht.

Grüße
Scory
Scory
 

Postby M*I*B » 23. February 2008 11:35

... thx für die schnelle Antwort ...

Ich meine mich erinnern zu können (werd ja auch nicht jünger...), das es irgendwas mit %0, %1 oder so in der Art war. Aber wenn das sowieso nicht geht, muss ich mir mal was anderes einfallen lassen; wäre ja auch zu schön gewesen :roll:
M*I*B
 

Postby Scory » 23. February 2008 13:35

>das es irgendwas mit %0, %1 oder so in der Art war

Das sind die Systemparameter von Variablen auf der Kommandozeile in MS-DOS Batchscripts. Oder ggf. Platzhalter für irgendein Templatesystem, welches Du irgendwo gesehen hast, welches ggf. ein Admintool für Webserver ist.

Diese Dateien werden aber so nicht direkt Apache zum Fraß vorgeworfen, sondern es wird durch irgendeinen Generatorschritt daraus dann das endgültige httpd.conf generiert.
Scory
 

Postby M*I*B » 23. February 2008 13:55

... da DosBatch kenn ike zu jenügge; man nannte mich nicht umsonst mal zu Zeiten von Mailboxen und FidoNet den "BatchKing" :lol: :lol: :lol:

aBär schau mal da etwa Mitte unter "Using more than one virtual hosting system on the same server": http://httpd.apache.org/docs/2.2/vhosts/mass.html

Da frickeln die auch mit %0 u.a. rum ... Also irgendwie geht das da auch... Nur erschliesst sich mir der Kern nicht...
M*I*B
 

Postby Wiedmann » 23. February 2008 14:01

Nur erschliesst sich mir der Kern nicht...

Es wäre evtl. einfacher, wenn du hier ganz genau beschreibst was du eigentlich machen willst (und warum).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Scory » 24. February 2008 22:36

M*I*B wrote:.Da frickeln die auch mit %0 u.a. rum ... Also irgendwie geht das da auch... Nur erschliesst sich mir der Kern nicht...


Das "Gefrickel" mit %0 u.a. ist (wie schon gehabt) innerhalb von mod_rewrite und damit werden Treffer aus Regulären Ausdrücken referenziert (was Du offensichtlich auch nicht kennst).

Das andere "Gefrickel" mit %h u.a. (um das auch gleich zu erledigen) sind Formatanweisungen (ähnlich wie bei date() und print() Funktionen) für die Logfileausgabe.

Ist wirklich schlecht, wenn man Null Englisch kann und bei jedem %-Zeichen aufschreckt, weil man es für Variablen hält aber dann doch "irgendwie den Kern nicht erschließt"...
Scory
 

Postby M*I*B » 24. February 2008 22:44

%0 u.a. ist (wie schon gehabt) innerhalb von mod_rewrite

...soso... Da gehen doch tatsächlich die Docu-Schreiber davon aus, das man sich den mod_rewrite-Abschnitt dazu dennkt und erwähnen das noch nicht mal... wie gemein von denen... oder sollte es doch unglaublicher Weise garnix mit mod_rewrite zu tun haben?!

Ist wirklich schlecht, wenn man Null Englisch kann und bei jedem %-Zeichen aufschreckt, weil man es für Variablen hält aber dann doch "irgendwie den Kern nicht erschließt"...


Hu? Kennen wir uns, das Du Dir solch ein Urteil (im Übrigen vollkommen daneben) erlauben kannst?!

Aber ist hier wohl nicht anders als in anderen Foren und im RL: Auf die Kacke hauer gibt's überall, die ausser blöde Anmache nichts weiter im Kopf haben...
:roll:
Sowas ist immer gut geeignet, um Rat fragend Suchende von vornherein aus den Foren auszuschliessen ...
M*I*B
 

Postby Wiedmann » 25. February 2008 12:05

Da frickeln die auch mit %0 u.a. rum ... oder sollte es doch unglaublicher Weise garnix mit mod_rewrite zu tun haben?!

Stimmt. Genau dieses (%0), hat nichts mit mod_rewrite zu tun. Ist aber auch keine Variable die du selbst belegen kannst. In diesem Fall ist das einfach ein bestimmer Abschnitt der URI, die der Client angefordert hat.

(BTW: Vergiss meine Frage von oben nicht.)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby M*I*B » 25. February 2008 13:14

Stimmt. Genau dieses (%0), hat nichts mit mod_rewrite zu tun

:lol: Mein Kommentar war da eher in sarkastisch/ironischer Art zu verstejen :wink:

(BTW: Vergiss meine Frage von oben nicht.)

öööhhh. Jo, ich sag's ja; ich werd alt :roll:

Problem:
Da ich ständig für Test's (eigene und fremde) erweitern und reduzieren muss, bin ich ständig dabei, die conf's anzupassen. Da schleichen sich dann schon mal Tipfehler u.ä. ein.

Aufgabe:
Definition der (sub)domänen in Variablen und Verwendung einer Art template.conf für die ganzen vhost's.

Derzeit denke ich über eine PHP/(ggf. MySQL) - gestützte Web-Version dazu nach, wenn es auf diesem Weg nicht geht. Dann lasse ich eben PHP die conf's neu schreiben (oder sowas in der Art).

Derzeit sind die globalen conf's zentral abgelegt und die "Kunden" und domänen-spezifischen vhost.conf's in einem geschützten Verzeichnis oberhalb des "Kunden" - Root. Eingelesen werden die dann derzeit mit /[folder]/*.conf

... kann man mir folgen?! :roll:
M*I*B
 

Postby Wiedmann » 25. February 2008 13:27

Definition der (sub)domänen in Variablen und Verwendung einer Art template.conf für die ganzen vhost's.

Im Prinzip kann das 3rd Party Modul "mod_macro" sowas.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Scory » 25. February 2008 13:31

>Aber ist hier wohl nicht anders als in anderen Foren und im RL: Auf die Kacke hauer gibt's überall, die ausser blöde Anmache nichts weiter im Kopf haben...

Sagen wir mal: Du bist es hier, der dumm fragt - nicht ich.

Und ja, tatsächlich gibt es auch beim VirtualHost eine Variable %0 (und nicht nur bei Regulären Ausdrücken), aber auch die kannst Du nicht frei setzen.

Apache kann kein Templatesystem "simulieren" - wieso schreibst Du nicht einfach ein Template drum herum (nimm PHP oder sonstwas) und generiere die Dateien? Kleines makefile dazu gebaut mit den richtigen Dependencies und auf Knopfdruck werden an den richtigen Stellen die notwendigen Dateien generiert.

P.S.: Es gäbe auch noch die Möglichkeit, die Lösung auszulagern auf Filesystem-Ebene. Mit Symbolic Links müßte das prinzipiell recht schnell zu machen sein.

P.P.S.: ... und was spricht dagegen, es so zu machen, wie in dem Link über Massenhosting (dein Link von oben)?
Scory
 

Postby M*I*B » 25. February 2008 14:02

@Scory:
Ich habe mal gelernt, und so erziehe ich auch meine Tochter, das es keine dummen Fragen gibt, lediglich dumme Antworten.
Es gibt m.W. nur zwei Situationen, eine Frage als "dumm" zu deklarieren, die da wären:
Die Frage wird als "dumm" deklariert, weil ...
1. ... man die Frage nicht verstanden hat und nicht doof dastehen möchte
2. ... man alle Fragen als solche deklariert, wenn man selber etwas weiss, die anderen aber nicht.
Im letztgenannten Fall hat man dann wohl in der Vergangenheit jede Menge dumme Fragen gestellt....

Im Übrigen ist der Server ne Dose und kein Linux o.d.g.; das nur so nebenbei ...

Dabei sollten wir beide es für die Zukunft belassen. Wir arbeiten offensichtlich auf vollkommen anderen und daher extrem interferenz- und oberwellenbehafteten Hirnfrequenzen, um es mal physikalisch auszudrücken...

@Wiedmann:
Im Prinzip kann das 3rd Party Modul "mod_macro" sowas.

Hmm, noch nie gehört; schaue ich mir doch gleich mal an. Vieleicht sogar als Kombination mit PHP, DosBatch (oder was auch immer) zu gebrauchen ...

thx a lot ....[/quote]
M*I*B
 

Postby Scory » 25. February 2008 14:54

>Im Übrigen ist der Server ne Dose und kein Linux o.d.g.; das nur so nebenbei ...

Selbst Schuld.

Was aber nicht begründet, wieso erstens die PHP-Makefile-Lösung nicht gehen soll und ebenso nicht begründet, wieso die Lösung via vhost_alias nicht gehen soll. Lediglich Symbolic Links kommen dann also nicht in Frage.
Scory
 


Return to Apache

Who is online

Users browsing this forum: No registered users and 23 guests