Apache Default Page auf check_mk Login umkonfigurierten

Hallo zusammen,
ich habe da ein “kleines” Problem und finde leider keine Lösung. Vielleicht kann mir einer von Euch helfen…
Ich möchte die Startseite des Apache auf die Startseite von check_mk ändern. Soll heißen, wenn ich den Server mit http oder https adressiere möchte ich ohne die Angabe der URL /check_mk auf die check_mk Seite gelangen. Ich habe schon einiges mit Rewrite ausprobiert, komme aber zu keinem Ergebnis …
Geht so etwas über ein Rewrite oder ändern des DocumenRoot ?
bin für jede Hilfe dankbar…

Wir haben folgendes in der VirtualHost-Sektion:

<LocationMatch ^/$>
    RewriteEngine On
    RewriteRule ^/?(.*) /$OMD_SITE/ [R,L]
</LocationMatch>

wobei $OMD_SITE der Name der Instanz ist.

4 Likes

Evtl. kannst (musst?) Du noch ein $1 an Ende hinzufügen, d.h.:

RewriteRule ^/?(.*)$   /$OMD_SITE/$1 [R=301,L]

Vielen Dank schon mal …
… wo setze ich die Variable oder ist diese schon Systemweit gesetzt?

$OMD_SITE ist eine Variable, die im site-User immer gesetzt ist.

ok… die RewriteRule funktioniert. Als Ergebnis steht nun die URL im Browser
/$OMD_SITE
… daher meine Frage, wo ich die Variable setzten muss. Der Apache muss diese ja auflösen können…

Ich vermute, du setzt das in der falschen Apache Config. Du musst das enstprechend unter ~siteuser/etc/apache... setzen, nicht im Betriebssystem-Apache (/etc/apache2/....).

Zur Erklärung:

Für jede Site wird ein Fork des Betriebssystem-Apache gestartet, der im Kontext des site-Benutzers läuft.

Danke für die Erklärung …
und natürlich habe ich die Änderung im Betriebssystem vorgenommen. … in welche conf Datei gehört die Anpassung denn? In die apache.conf, apache-own.conf ??

Ich habe es “erstmal” in die apache.conf reingeschrieben… funktioniert prima, besten Dank.
Aber gehört die Anpassung auch da rein ??

1 Like

Hallo Tosch,

huch. Ich würde da definitiv den systemweiten Apache umkonfigurieren. Die Reihenfolge ist doch folgende:

Client → http://www.example.com/site1 → http://127.0.0.1:5000/
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^
         Systemweiter Apache             Site-spezifischer Apache

Das heißt: Der Browser kontaktiert den systemweiten Apache mit der URL http://www.example.com/site1. Der ist (durch omd) so konfiguriert, dass die Anfragen an die Location /site1 weitergeleitet werden an den site-spezifischen Apache, der unter 127.0.0.1:5000 lauscht.

Wenn man eine zweite Site einrichtet, dann lauscht halt noch ein weiterer Apache auf Port 5001, d.h.:

Client → http://www.example.com/site2 → http://127.0.0.1:5001/

Wenn man nun möchte, dass man unter der Adresse http://www.example.com direkt auf site1 landet, dann muss man doch den systemweiten Apache umkonfigurieren und nicht den site-spezifischen. Oder sehe ich da was falsch?

Gruß Dirk

Nein, das keine Variable sondern nur ein Platzhalter im Beispiel.
Die RewriteRule kann an der Stelle keine Variable enthalten.

Das Stimmt soweit alles. @r.sander hatte das auch schon in der ersten Antwort mit dem Verweis auf die VirtualHost Sektion so geschrieben.
Stand nur nicht direkt dort, das dies der System Apache ist.

Stimmt, den Verweis auf den System-Apachen habe ich glatt vergessen.
Das sollte sich aber auch aus der Anfrage ergeben, denn nur der System-Apache liefert ja die URI / aus, der Site-Apache liefert ja immer /sitename/ aus.

Ja, da hast du natürlich recht, ich glaube ich hatte gestern einen spontanen Schlaganfall, als ich den Post verfasst habe.

Naja, dass es soo schlimm ist, will ich mal nicht hoffen. @ascotn hat es ja richtig gemacht.

Wobei man sich höchstens noch fragen kann, ob genau die Datei apache.conf die richtige ist, oder ob es nicht eine andere sein sollte, die von der apache.conf included wird. Ich bin z.B. meist unter Ubuntu unterwegs und da fasst man die apache.conf normalerweise nicht an, sondern legt seine eigenen Konfigurationsdateien in bestimmte Verzeichnisse, so dass sie dann von der apache.conf angezogen werden.

@ascotn, hast du unter ~siteuser/etc/apache.conf die Änderungen vorgenommen und wenn ja was hast du da rein geschrieben? kannst du das mal hier posten bitte…

Danke

Ich habe die entsprechenden Zeilen unterhalb der User Definition eingefügt:

...
# User/Group to run the webserver with
User testSite
Group testSite
...
...
<LocationMatch ^/$>
    RewriteEngine On
    RewriteRule ^/?(.*) /$OMD_SITE/ [R,L]
</LocationMatch>
...

Wenn ich die Zeilen in die site Konfiguration unter /etc/apache schreibe, muss ich $OMD_SITE durch den Sitenamen ersetzen.

Ich hoffe so alles richtig gemacht zu haben. Auf jeden Fall funktioniert es. Es funktioniert aber nur, wenn nur eine Site sich auf dem Server befindet … (glaub ich)

1 Like

vielen Dank bei mir funktioniert jetzt auch :wink:

@r.sander funktioniert das auch mit https ?


#User/Group to run the webserver with
User testSite
Group testSite


<LocationMatch ^/$>
RewriteEngine On
RewriteRule ^/?(.*) /$OMD_SITE/ [R,L]
< /LocationMatch>

Ja.

Post must be at least 20 characters

Vielen Dank @r.sander

ich habe in /omd/sites/sitename/etc/apache.conf folgendes:


#User/Group to run the webserver with
User testSite
Group testSite


<LocationMatch ^/$>
RewriteEngine On
RewriteRule ^/?(.*) /$OMD_SITE/ [R,L]
< /LocationMatch>

eingetragen.

site neugestartet und dann apache2 auch, aber ich laden nicht auf cmk login page wenn ich https://IP/sitename eingebe… hast du vielleicht einen tipp…