Mercurial > dive4elements > gnv-client
view doc/admin-manual/installation-base.tex @ 922:237f3a809aee
Removed sections that were not tested
doc/trunk@1059 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Hans Plum <hans.plum@intevation.de> |
---|---|
date | Wed, 05 May 2010 10:33:25 +0000 |
parents | fb1e051713cc |
children | 9d94bf77e442 |
line wrap: on
line source
\section{Installation and Configuration} This section describes preconditions for the entire system and an installation on a Debian 5.0.x (Lenny) for the GNV-System without an running X-Environment. For installing and operating the GNV-system access with {\bf root rights} is needed. If other permissions are needed, there will be a hint in this manual. If existing configurations have to be changed, the following notation will be used: \verb|+| for adding a line replacing the marked by \verb|-|. \subsection{Preconditions} \subsubsection*{System} \begin{itemize} \item Storage for the delivered software: 100 MB \item Current processor on a 32-bit Architecture (Beginning 2010)\footnote{Running on a 64-bit system should work out of the box and improve scalibility issues.} \item RAM: 1 GB for production as minimum.\footnote{This value depends mainly on the amount of connected users.} \item Network access to Database Backend \item RW-Access to the filesystem for logging, shapefile-export, caching \end{itemize} \subsubsection*{Database: Software and Data} The software has been developed for the following system: \begin{itemize} \item ESRI ArcSDE 9.3.1 on Oracle 10.2\footnote{The development started in ESRI ArcSDE 9.2. There are known problems with this version.} \item ArcMarineBSH, model package "Time Series and Measurements" \item ArcMarineBSH, model package " MeshFeature" \item ArcMarineBSH, model package "Marine Feature" \item ArcS57 -- International Hydrographic Organization (IHO) S-57 for ENC Data Model. - ESRI Data Models. http://support.esri.com/datamodels \item CONTIS -- Federal Maritime and Hydrographic Agency (BSH). Continental Shelf Information System -- \url{http://www.bsh.de/en/Marine\_uses/Industry/CONTIS\_maps/index.jsp} \item GNV specific schema MapViewer interface -- Schema for integrating with MapViewer and their WMS services \item GNV specific schema for managing the cache -- The central dataware house is updated regulary. To keep the cache up-to-date, needs to cleaned after database updates. \end{itemize} \subsection{Operating System} {\em Hint}: Configuring of partitions, firewalls, etc. for the system is out of the scope of this documentation. \subsection{Java Environment} \subsubsection*{Installation Sun Java 6} This GNV-system is developed for Sun Java 6. Add non-free packages of the Debian distribution to the system in \verb+/etc/apt/sources.list+: \begin{lstlisting} [...] deb http://ftp.de.debian.org/debian/ lenny main non-free deb-src http://ftp.de.debian.org/debian/ lenny main deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main [...] \end{lstlisting} Install Sun Java 6 and its dependencies by executing the following: \verb+ apt-get install sun-java6-jdk+ \subsubsection*{Install Native Components for Java6 (optional)} This step is optional but recommended. For a better support of the native server technologies, the package \verb+libtcnative+ can be installed. \begin{lstlisting} apt-get install libtcnative-1 cd /usr/lib/jvm/java-6-sun/jre/lib/i386/client ln -s /usr/lib/libtcnative-1.so \end{lstlisting} \subsubsection*{Configuration} To ensure that the Apache Tomcat and the GNV Artifact-Server will use Sun Java 6 exclusively, switch to the default Java version globally\footnote{This manual assumes that there are no other packages depending to another Java version.}. Use \verb+update-alternatives+ mechanism of the Debian system, execute: \verb+ update-alternatives --list java+ Lists all installed Java-Environments. E.g.: \begin{lstlisting} Auswahl Alternative ----------------------------------------------- 1 /usr/bin/gij-4.3 + 2 /usr/lib/jvm/java-gcj/jre/bin/java 3 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java * 4 /usr/lib/jvm/java-6-sun/jre/bin/java \end{lstlisting} \verb+update-alternatives --config java+ Opens a dialog to reconfigure the java version which should be used as default. Type the Number of the the java which should be used. For the example above, type "4". \subsubsection*{Test of the Installation} Execute \verb+ java -version+ Check if a version of 1.6.0* has been set. Check: \begin{lstlisting} java version "1.6.0_12" Java(TM) SE Runtime Environment (build 1.6.0_12-b04) Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode) \end{lstlisting} \subsection{Tomcat Application Server} To run the GNV-System a Apache Tomcat Server Version 5.5 is required. This section describes the steps for installing and configuring Apache Tomcat. \subsubsection*{Installation} To install the Tomcat Application-Server and its dependencies, execute: \verb+ apt-get install tomcat5.5+ \subsubsection*{Configuration} Adapt some run-time specific properties in \verb+/etc/default/tomcat5.5+: \begin{lstlisting} - #JAVA_OPTS="-Djava.awt.headless=true -Xmx128M" + JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m -server" - #TOMCAT5_SECURITY=yes + TOMCAT5_SECURITY=no \end{lstlisting} {\bf Hint: As there is no Java security policy for the GNV WebClient, Java Security Management is switched off.} The Apache Tomcat is integrate with Apache WebServer just via the Apache JServ Protocoll (AJP). To secure the connection, just local connections are allowed for AJP on Tomcat. Modify the \verb+ /etc/tomcat5.5/server.xml+: \begin{lstlisting} # Deactivate Standard HTTP Connector: +<!-- <Connector port="8180" maxHttpHeaderSize="8192" address="127.0.0.1" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> +--> - <Connector port="8009" - enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> + <Connector port="8009" + enableLookups="false" redirectPort="8443" protocol="AJP/1.3" address="127.0.0.1"/> \end{lstlisting} To activate these changes, restart Apache Tomcat: \verb+ /etc/init.d/tomcat5.5 restart+ \subsubsection*{Test of the Installation} Check if the port 8009 is opened via: \verb+ netstat -nltp | grep 8009+ A possible listing looks like this: \begin{lstlisting} tcp 0 0 127.0.0.1:8009 0.0.0.0:* LISTEN 19252/jsvc \end{lstlisting} So fare, there is no commandline client for AJP to test the connection. If there are problems, setup \verb+ mod_jk+ module in Apache WebServer and check its according log files. \subsection{Apache Webserver} This section describes the required steps for the installation and configuration of the Apache Webserver Version 2.2. Apache WebServer controls all HTTP-Connections to the outside of the system. Apache Tomcat is integrated via mod\_jk. \subsubsection*{Installation} To install the Apache Webserver you have to execute the following command: \verb+ apt-get install apache2+ To establish the connection between the Tomcat application server and Apache Webserver an additional Module "mod\_jk" has to be installed. \verb+ apt-get install libapache2-mod-jk+ \subsubsection*{Configuring mod\_jk} Edit the settings for mod\_jk in file \verb+ /etc/libapache2-mod-jk/workers.properties+: \begin{lstlisting} - workers.java_home= /usr/lib/jvm/java-gcj/ + workers.java_home=/usr/lib/jvm/java-6-sun \end{lstlisting} In file \verb+ /etc/apache2/httpd.conf+: \begin{lstlisting} + JkWorkersFile "/etc/libapache2-mod-jk/workers.properties" + JkLogFile "/var/log/mod_jk.log" \end{lstlisting} After finishing the configuration, enable the module in Apache WebServer: \verb+ a2enmod jk+ and restart the server \verb+ /etc/init.d/apache restart+. \subsubsection*{Publish the site in Apache WebServer} Depending of the existing configuration of Apache WebServer, the following steps can differ. In this case, a vanilla configuration is assumed. Disable default configuration \verb+ a2dissite default+ Adapt eMail-address for configuration in \verb+ $ARTIFACT_SERVER_HOME/install/debian/apache2/gnv+. Enable the specific site (VirtualHost) in Apache WebServer: \begin{lstlisting} cp -i $ARTIFACT_SERVER_HOME/install/debian/apache2 to /etc/apache2/sites-available # Activate site for GNV a2ensite gnv /etc/init.d/apache reload \end{lstlisting} \subsubsection*{Test of the Installation} You can test the installation by executing the following url: \verb+ wget http://localhost/gnv/ -O test+ After a successful installation, the file {test} will contain HTML describing the startpage of the GNV WebClient. \subsection{UMN MapServer: Installation and configuration} The UMN MapServer is part of the artifact server. It is responsible for rendering shapefiles produced by the artifact-server and publish them as OGC Web Map Service. \subsubsection*{Installation} It is recommended to use a more recent version than the one in Debian Lenny. In the installation package, there is a debian package of MapServer that should be installed. In order to verify the integrity of the installation package, it is necessary to import a GPG-Key which was used to sign the packages: \begin{lstlisting} gpg --keyserver hkp://keys.gnupg.net --recv-keys EC70B1B8 gpg --export EC70B1B8 | apt-key add - \end{lstlisting} Installing the mapserver-gp and its dependencies, executing the following command: \begin{lstlisting} cd $ARTIFACT_SERVER_HOME/install/debian/umn-mapserver dpkg -i cgi-mapserver-gp_5.6.3-1~gp+1_i386.deb \end{lstlisting} Provide a possibility to integrate MapServer properly and transfer configurations to MapServer during runtime: \begin{lstlisting} cd /usr/lib/cgi-bin cp -i $ARTIFACT_SERVER_HOME/install/debian/umn-mapserver/gnv-wrapper . \end{lstlisting} For setting proper contact details in the WMS Capabilities response, edit the file \verb+ $ARTIFACT_SERVER_HOME/conf/maptemplates/mapfile.vm+ in the section WEB > METADATA. \subsubsection*{Test of installation} Check for a sucessful installation via: \begin{lstlisting} cd root wget \ "http://localhost/cgi-bin/gnv-wrapper?service=WMS&request=GetCapabilities&version=1.1.1" \ -O mapserver \end{lstlisting} For a sucessful configuration, the response document \verb+ mapserver+ contains a XML document describing the capabilities of the mapserver.