Archiv nach Monaten: November 2015

[Proxmox] V4 – Befehl in jedem LXC-Container ausführen

Ich habe einen Quick-and-Dirty Weg gefunden, einen Befehl in sämtlichen (laufenden!) LXC-Container auszuführen.

Auf dem Proxmox-Host-System:

cd /etc/pve/lxc
for host in $(ls | cut -d "." -f 1); do echo -n "$host : "; pct exec $host MEINBEFEHL; done

Beispiel: (in einer Zeile, zur lesbarkeit untereinander)
for host in $(ls | cut -d "." -f 1); do\
    echo -n "$host : "; \
    pct exec $host mv /usr/lib/check_mk_agent/plugins/apt /usr/lib/check_mk_agent/plugins/14400/;\
done

In meinem Beispiel würde das check-mk Plugin apt auf in allen Containern in das (bestehende) Unterverzeichnis 14400 verschoben werden.

Tipp: Falls ihr einen Befehl mit Parametern ausführen wollt müsst ihr das mitteilen!

for host in $(ls | cut -d "." -f 1); do echo -n "$host : "; pct exec $host -- MEINBEFEHL; done

Beachtet das „–„

[Tomcat] Applikation als Startseite

Wenn man bei Tomcat eine .war deployt (zB. mysite.war), heißt der im Verzeichnis /webapps erstellte Order – und somit auch die URL – entsprechend dem Dateinamen der .war Datei (in diesem Beispiel also /mysite/).

Es gibt nun mehrere Möglichkeiten, dieses anzupassen:

  • Apache Proxy vorschalten, in meinen Augen die schönste Variante. Wird von professionellen Webhostern bevorzugt eingesetzt.
  • die mysite.war vor dem deployen umbennen in ROOT.war (groß/kleinschreibung beachten!)
    • ACHTUNG! Einige (schlecht programmierte) Anwendungen arbeiten mit absoluten Pfaden und benötigen die URL /mysite/ …
  • eine HTML-Weiterleitung von / auf /mysite/, für mich eine durchaus aktzeptable Lösung, welche auch gerne von professionellen Anwendungen eingesetzt wird.
    • Hier eine Beispielsdatei für die Weitereitung:
<html>
  <head>
    <meta http-equiv="refresh" content="0;url=/mysite">
  </head>
  <body>
  </body>
</html>