baginski
I'm new here

Deployment & WEB-INF

Hi,

ich habe mal folgende Frage:

Wenn ich mit FirstSpirit in ein Verzeichnis deploye und ein Komplettabgleich mit Löschen durchführe, werden alle enthaltenden Dateien gelöscht; bei einem Java-Applicationserver wie Tomcat hieße das, daß bei einem Deployment in das Basisverzeichnis der Applikation auch ein WEB-INF mitgelöscht wird.

Nun habe ich bislang immer ein weiteres Verzeichnis angelegt und deploye hierhinein, also etwa

site

  de/unternehmen

   ..

WEB-INF

   lib..

Dann ist das Deployment-Problem natürlich gelöst.

Wenn ich aber nicht möchte, daß die URLs mit "/site/de.." anfange, sondern nur mit "/de" - (Stichwort SEO) - gäbe es eine sinnvolle Lösung, außer auf den Abgleich mit Löschen zu verzichten.. ?

Viele Grüße,

Michael Baginski

6 Replies
deletedUser01
I'm new here

Hallo Michael,

das einfachste ist, aus der Java-Webapp, die Du zusätzlich in das WEB-INF-Verzeichnis deployen willst, ein FirstSpirit-Modul zu bauen.

Etwa in so:

  1. Anlegen eines Verzeichnisses mit dem Namen des Moduls
  2. darin: Anlegen eines Verzeichnisses Meta-Inf
  3. darin: Anlegen einer Datei module.xml:

    <!DOCTYPE module SYSTEM "../../server/module.dtd"><module>     <name>Eigene 404 Fehlerseite</name>     <version>1.0</version>     <description>Eigene 404 Fehlerseite</description>     <vendor>Namics Deutschland GmbH</vendor>     <components>          <web-app>               <name>Eigene 404 Fehlerseite</name> <!-- name used in FirstIntegrationApplication -->               <description>Eigene 404 Fehlerseite</description>               <web-xml>web.xml</web-xml>     </web-app>     </components></module>
  4. Dann in das Modul-Verzeichnis die Web.xml und den Rest legen
  5. Das Verzeichnis in eine [Name des Moduls].fsm Datei packen
  6. in der Admin-Console installieren und dem Projekt zuweisen.

hmm..

das löst aber m.E. nicht das Deployment-Problem  - die Webapplikation kann zwar als War exportiert in auf dem Tomcat importiert werden, das WEB-INF wird aber doch nicht bei einem normalen Deployment erzeugt und mitdeployed, oder ?

Gruß,

Michael

0 Kudos
hoebbel
Crownpeak employee

Der übliche Weg ist es, dass Deployment mitels rsync durchzuführen und dabei die Konfiguration so zu definieren, dass das WEB-INF Verzeichnis nicht aktualisiert wird.

Zwar kann man auch das WEB-INF mit veröffentlichen (einfach ein entsprechendes Verzeichnis in der Medien-Verwaltung oder Sturktur-Verwaltung anlegen und nach der Generieurng per Skript ein Verzeichnis nach oben verschieben), aber dann muss der Tomcat nach der Veröffentlichung neu gestartet werden, da die Konfigurationsdateien geändert wurden.

0 Kudos
boesebeck
Crownpeak employee

Hallo,

es gibt hier mehrere Lösungen.

  • Wenn du rsync für das Deployment benutzt, kannst mittles -exclude das Verzeichnis ausschliessen

  • Das WEB-INF Verzeichnis mit in den Mediastore von FS legen, dann aber per Script nach dem Generieren an die richtige Stelle kopieren. Das Beispiel Rsync-Skript im Adminhandbuch kann dieses.
  • Die von FS generierten Dateien parallel neben dem Webapp Verzeichnis deployen und dann mittels Filesystem Link in die Webapp linken.
  • Weiterhin in ein Unterverzeichnis deployen, und die Urls auf /de/ belassen, aber mittels Apache RewriteRule das Unterverzeichnis verstecken /www/de/ => /de/

LG

Gerrit

Hi,

die Ansätze gefallen mir - ich nehme die Variante mit dem rsync-Exclude Smiley Wink

Viele Grüße & ein schönes WE,

Michael

0 Kudos

es gibt hier mehrere Lösungen.

Hallo,

bei uns übernimmt ein Servlet die Aufgabe den URL für den Besucher zu verkürzen. Für die einzelnen Sprachen und für Medien existiert dem zur Folge ein entsprechendes Servlet-Mapping. Da wir auf unserem System mementan mehrere Projekte/Auftritte (ca. 20) verwalten und die Systemseitige Verzeichnisverlinkung nicht funktionierte ist diese Lösung entstanden.

Grüße

markus

0 Kudos