MoselschleifeVor fast genau einem Jahr hatte ich schon einmal einen Versuch gestartet einen WMS-Dienst aufzusetzen. Diesmal wollte ich aber ganz gern den GeoServer aufsetzen.
Als erstes brauchte ich dafür den Tomcat7 und auch Java. Beim Java hatte sin im letzten Jahr offensichtlich mal wieder das Verhältnis zu debian verschlechtert, wenn das überhaupt noch möglich war, jedenfalls klappt die Installation von vor einem Jahr nicht mehr. :evil: – Mal sehen ob es auch die Java-Version aus den debian-Pool macht.

root@host:~# java -version
   java version "1.6.0_27"
   OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1~deb7u1)
   OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
root@host:~# update-alternatives --config java
   Es gibt nur eine Alternative in Link-Gruppe java (die /usr/bin/java bereitstellt):
     /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
   Nichts zu konfigurieren.
root@host:~# apt-get install tomcat7.*
   Paketlisten werden gelesen... Fertig
   Abhängigkeitsbaum wird aufgebaut.       
   Statusinformationen werden eingelesen.... Fertig
   Hinweis: »libtomcat7-java« wird für regulären Ausdruck »tomcat7.*« gewählt.
   Hinweis: »tomcat7-common« wird für regulären Ausdruck »tomcat7.*« gewählt.
   Hinweis: »tomcat7« wird für regulären Ausdruck »tomcat7.*« gewählt.
   Hinweis: »tomcat7-admin« wird für regulären Ausdruck »tomcat7.*« gewählt.
   Hinweis: »tomcat7-examples« wird für regulären Ausdruck »tomcat7.*« gewählt.
   Hinweis: »tomcat7-docs« wird für regulären Ausdruck »tomcat7.*« gewählt.
   Hinweis: »tomcat7-user« wird für regulären Ausdruck »tomcat7.*« gewählt.
   Die folgenden zusätzlichen Pakete werden installiert:
     authbind libcommons-dbcp-java libcommons-pool-java libecj-java
     libgeronimo-jta-1.1-spec-java libjakarta-taglibs-standard-java
     libjstl1.1-java libservlet3.0-java
   Vorgeschlagene Pakete:
     libcommons-dbcp-java-doc ecj libecj-java-gcj libgeronimo-jta-java-doc
     libtcnative-1
   Die folgenden NEUEN Pakete werden installiert:
     authbind libcommons-dbcp-java libcommons-pool-java libecj-java
     libgeronimo-jta-1.1-spec-java libjakarta-taglibs-standard-java
     libjstl1.1-java libservlet3.0-java libtomcat7-java tomcat7 tomcat7-admin
     tomcat7-common tomcat7-docs tomcat7-examples tomcat7-user
   0 aktualisiert, 15 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
   Es müssen 6.661 kB an Archiven heruntergeladen werden.
   Nach dieser Operation werden 12,1 MB Plattenplatz zusätzlich benutzt.
   Möchten Sie fortfahren [J/n]? j
   ...
root@host:~# lsof -ni :8080
   COMMAND   PID    USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
   java    28261 tomcat7   41u  IPv6 13465323      0t0  TCP *:http-alt (LISTEN)
root@host:~#

Ein Aufruf der Seite http://usmith:8080/ brachte auch unmittelbar einen ersten Erfolg:

It works !

If you’re seeing this page via a web browser, it means you’ve setup Tomcat successfully. Congratulations!
 
This is the default Tomcat home page. It can be found on the local filesystem at: /var/lib/tomcat7/webapps/ROOT/index.html
 
Tomcat7 veterans might be pleased to learn that this system instance of Tomcat is installed with CATALINA_HOME in /usr/share/tomcat7 and CATALINA_BASE in /var/lib/tomcat7, following the rules from /usr/share/doc/tomcat7-common/RUNNING.txt.gz.
 
You might consider installing the following packages, if you haven’t already done so:
 
tomcat7-docs: This package installs a web application that allows to browse the Tomcat 7 documentation locally. Once installed, you can access it by clicking here.
 
tomcat7-examples: This package installs a web application that allows to access the Tomcat 7 Servlet and JSP examples. Once installed, you can access it by clicking here.
 
tomcat7-admin: This package installs two web applications that can help managing this Tomcat instance. Once installed, you can access the manager webapp and the host-manager webapp.
 
 
 
NOTE: For security reasons, using the manager webapp is restricted to users with role „manager-gui“. The host-manager webapp is restricted to users with role „admin-gui“. Users are defined in /etc/tomcat7/tomcat-users.xml.

Sowohl der „Tomcat Virtual Host Manager“ als auch der „Tomcat Web Application Manager“ erfordern dann aber auch gleich eine Autorisierung, die bei mir aber erst mal fehlschlägt:

401 Unauthorized

You are not authorized to view this page. If you have not changed any configuration files, please examine the file conf/tomcat-users.xml in your installation. That file must contain the credentials to let you use this webapp.
 
For example, to add the manager-gui role to a user named tomcat with a password of s3cret, add the following to the config file listed above.

<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

Note that for Tomcat 7 onwards, the roles required to use the manager application were changed from the single manager role to the following four roles. You will need to assign the role(s) required for the functionality you wish to access.
 

  • manager-gui – allows access to the HTML GUI and the status pages
  • manager-script – allows access to the text interface and the status pages
  • manager-jmx – allows access to the JMX proxy and the status pages
  • manager-status – allows access to the status pages only

The HTML interface is protected against CSRF but the text and JMX interfaces are not. To maintain the CSRF protection:

  • Users with the manager-gui role should not be granted either the manager-script or manager-jmx roles.
  • If the text or jmx interfaces are accessed through a browser (e.g. for testing since these interfaces are intended for tools not humans) then the browser must be closed afterwards to terminate the session.

For more information – please see the Manager App HOW-TO.

###################

bzw.:
###################

401 Unauthorized

You are not authorized to view this page. If you have not changed any configuration files, please examine the file conf/tomcat-users.xml in your installation. That file must contain the credentials to let you use this webapp.
 
For example, to add the admin-gui role to a user named tomcat with a password of s3cret, add the following to the config file listed above.

<role rolename="admin-gui"/>
<user username="tomcat" password="s3cret" roles="admin-gui"/>

Note that for Tomcat 7 onwards, the roles required to use the host manager application were changed from the single admin role to the following two roles. You will need to assign the role(s) required for the functionality you wish to access.

  • admin-gui – allows access to the HTML GUI
  • admin-script – allows access to the text interface

The HTML interface is protected against CSRF but the text interface is not. To maintain the CSRF protection:

  • Users with the admin-gui role should not be granted the admin-script role.
  • If the text interface is accessed through a browser (e.g. for testing since this interface is intended for tools not humans) then the browser must be closed afterwards to terminate the session.

kombinierte BrückeUm die beiden Seiten aufrufen zu können, musste ich die Datei „/etc/tomcat7/tomcat-users.xml“ editieren, dort einen zusätzlichen Benutzer anlegen und diesem Benutzer auch beide Rollen zuweisen.:

...
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="admin" password="xxx" roles="manager-gui,admin-gui,tomcat"/>
  <user username="user" password="xxx" roles="role1"/>
</tomcat-users>

Nachdem der Tomcat nun also ‚ordnungsgemäß‘ lief, konnte ich ihm die GeoServer-Anwendung ‚unter schieben‘. Dazu habe ich mir von der GeoServer-Homepage unter Web Archive die geoserver-2.4.1-war.zip-Datei geladen und ins webapps-Verzeichnis des Tomcat gesteckt.

root@host:~# cd /var/lib/tomcat7/webapps
host:/var/lib/tomcat7/webapps # unzip /platz/pub/GeoServer/geoserver-2.4.1-war.zip 
Archive:  /platz/pub/GeoServer/geoserver-2.4.1-war.zip
  inflating: geoserver.war           
  inflating: LICENSE.txt             
  inflating: GPL.txt                 
   creating: target/
  inflating: target/VERSION.txt      
host:/var/lib/tomcat7/webapps # /etc/init.d/tomcat7 restart
[ ok ] Stopping Tomcat servlet engine: tomcat7.
[ ok ] Starting Tomcat servlet engine: tomcat7.
host:/var/lib/tomcat7/webapps #

ErdmännchenDanach gab es im Tomcat Web Application Manager tatsächlich eine neues GeoServer-Webanwendung, :) mit dem man dann auch erstaunlich gut spielen konnte. Ich war ziemlich erstaunt, wie gut die vielen Demos funktionierten und man damit alles unmittelbar machen konnte.
An dem GeoServer schaffte ich es auch mich mit dem Standart-Kennwort ( admin:geoserver ) anzumelden, aber auf der ’nächsten‘ Seite wurde mir sofort dringend empfohlen, die Kennwörter zu ändern. (ach)