[Mpuls-commits] r4973 - base/trunk

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Wed May 18 15:07:05 CEST 2011


Author: torsten
Date: 2011-05-18 15:07:01 +0200 (Wed, 18 May 2011)
New Revision: 4973

Modified:
   base/trunk/ChangeLog
   base/trunk/INSTALL
Log:
Updated Install notes. Notes are now in german language.


Modified: base/trunk/ChangeLog
===================================================================
--- base/trunk/ChangeLog	2011-05-18 07:49:08 UTC (rev 4972)
+++ base/trunk/ChangeLog	2011-05-18 13:07:01 UTC (rev 4973)
@@ -5,6 +5,7 @@
 	robust. Fixed handling of c.filter attribute.
 	* mpulsweb/templates/tags/tags.mako: Fixed Rendering of tag icons in
 	mpuls_s or JMD. use url_for method. 
+	* INSTALL: Updated Install notes. Notes are now in german language.
 
 2011-05-16  Torsten Irländer <torsten.irlaender at intevation.de>
 

Modified: base/trunk/INSTALL
===================================================================
--- base/trunk/INSTALL	2011-05-18 07:49:08 UTC (rev 4972)
+++ base/trunk/INSTALL	2011-05-18 13:07:01 UTC (rev 4973)
@@ -1,138 +1,186 @@
-INSTALL (Debian Lenny)
-======================
-1. Requirements
+1. Einrichten eines dedizierten Nutzers
+#######################################
 
-	pylons
-	------
-	apt-get install python-pylons 
-	(>= 0.9.7, can be found in lenny backports) 
-	apt-get install python-psycopg2
-	apt-get install python-pybabel
+Für den Betrieb einer mpuls Anwendung wird auf dem Server ein deizierter System-Nutzer 'mpuls' erstellt:
 
-	libformed
-	---------
-	wget \
-	http://wald.intevation.org/frs/download.php/710/libformed_0.1.tar.gz
-	tar xzvf libformed.tar.gz
-	cd libformed
-	python setup.py install
+        # Als root
+        adduser --system --home /home/mpuls mpuls
+        chsh -s /bin/sh mpuls
+        su - mpuls
 
-	libmpuls
-	--------
-	wget \
-	http://wald.intevation.org/frs/download.php/705/libmpuls_0.4.4.tar.gz
-	tar xzvf libmpuls_0.4.4.tar.gz
-	cd libmpuls_0.4.4
-	python setup.py install
+Verzeichnisstruktur
+==================
 
-	mpuls
-	-----
-	svn checkout \
-	https://svn.wald.intevation.org/svn/mpuls/wasko/branches/2.0 mpulsweb
+Die Installation einer mpuls-Anwendung wird folgende Verzeichnisstruktur anlegen:
 
-2. Installation
+        /home
+        `-- mpuls
+            `-- ${CONFIG}
+                |-- db -> releases/current/${CONFIG}db
+                |-- libformed -> releases/current/libformed
+                |-- libmpuls -> releases/current/libmpuls
+                |-- ${CONFIG}web -> releases/current/${CONFIG}web
+                |-- mpulsweb -> releases/current/mpulsweb
+                |-- production.ini
+                `-- releases
+                    |-- current -> ${CONFIG}_${VERSION}
+                    `-- ${CONFIG}_${VERSION}
 
-	The server can be run in 3 ways. In general the three ways differ in
-	the way the user credentinals to connect to the database are provided.
-	In general the crededtionals can be provided in a configuration file,
-	or within the SSL-Client certificate. The latter needs a apache server
-	involved which can extract these information from the SSL-Client
-	certifiacte. If a database name is configured in the "ini" file it
-	will be taken for the connection. Leave the databasename blank, to let
-	the serve look for the credentionals in the HTTP-Headers.
+Unterhalb von '/home/mpuls/' liegen die verschiedenen Ausprägungen die hier
+expemplarisch '${CONFIG}' genannt sind. Jede Ausprägung enthält alle
+notwendigen Komponenten eines Servers. Es ist daher durchaus möglich, mehrere
+unterschiedliche Ausprägungen parallel nebeneinander (auch in verschiedenen
+Versionen) zu betreiben.
 
-	2.1 Standalone paster server
-	The credetionals are provided in the "ini" file.
-	
-		cd mpulsweb
-		cp development.ini wasko.ini
-		# Configure wasko.ini for for needs. See details below
-		paster serve wasko.ini
-		-> Server is up and running. :)
+Die unterschiedlichen Versionen sind unter '/home/mpuls/${CONFIG}/releases'
+angelegt. Auf die jeweils aktuelle Version verweist der Link 'current'. Ein
+Wechsel zwischen verschiedenen Programversionen ist durch das umhängen des
+Links und Neustarten der Anwendung möglich.
 
-	2.2 Standalone paster server behind a apache reverse proxy.
-	The credentionals are taken from the SSL-certificate and are added 
-	to the HTTP-Header. Setup a stand alone server as described above.
-	Use 'contrib/apache/apache-site-proxy.conf' as base for your
-	configuration of your apache server.
+Während sich die Konfiguration und die Funktiononalität zwischen den
+verschiedenen Versionen unterscheidet, liegt die Datein 'production.ini' auf
+der Ebene von 'home/mpuls/${CONFIG}' und enhält Konfigurationen wie die
+DB-Verbindung etc., die sich nicht zwischen den verschiedenen
+Programmversionen unterscheiden.
 
-	2.3 As WSGI application in Apache (mod_wsgi)
-	The credentionals are taken from the SSL-certificate and are added 
-	to the HTTP-Header.
-	Use 'contrib/apache/apache-site-wsgi.conf' and
-	'contrib/apache/mpuls.wsgi' as base for your apache configuration.
+Installation der Anwendung
+==========================
 
+Die Installation erfolgt auf einem Debian Lenny-System.
+Vorbedingung (Benötigte Pakete)
 
-CONFIGURATION
-=============
+Bevor die Anwendung installiert werden kann, muss sichergestellt werden, das
+die benötgten Pakete bereits installiert sind. Pylons wird aus den Backports
+installiert. Es wird die Version 0.9.7 benötigt.
 
-1. In the ini file:
+        # Als root
 
-	# Choose whatever you want
-	mpuls.app.name="MY MPULS APP"
-	# Give name of the configuration file. 
-	mpuls.app.config=%(here)s/wasko.json
-	# Choose the correct foldername where your application is located 
-	mpuls.app.instance=mympuls 
-	mpuls.app.indexcontroller=mpuls
+        # Eintragen der Backports.
+        echo deb http://backports.debian.org/debian-backports \
+                 lenny-backports main \
+                 >> /etc/apt/sources.list
+        apt-get update
 
-	* Setup database connection. Only define databasename if you do not
-	  want the databasename comming from the SSL-certificate! 
+        # Installation der Anwendung
+        apt-get install -t lenny-backports \
+                           python-pylons
+        apt-get install libapache2-mod-wsgi \
+                        python-pybabel \
+                        python-excelerator \
+                        python-psycopg2 \
+                        gettext \
+                        screen
+        
+        # Sofern auch eine Datenbank auf dem Server laufen soll:
+        apt-get install postgresql-8.3 \
+                        postgresql-plpython-8.3 \
+                        pwgen
 
-2. Currently there are no more modifications needed. wasko.json already is
-ready to run.
+        # Locales konfigurieren
+        dpkg-reconfigure locales
+        # de_DE.UTF-8 ist Standar
 
+Ausrollen der Anwendung
+=======================
 
-CASEMANAGEMENT CONFIGURATION
-============================
+Die Installation erfolgt auf Basis der zuvor erstellten Installationpakete.
+Dieser werden vor der Installation auf den entsprechenden Webserver per scp
+nach '/tmp' kopiert. Mit den nun folgenden Befehlen wird die oben genannte
+Verzeichnisstruktur erstellt und die Anwendung installiert.
 
-Field Configuration
--------------------
+        su - mpuls
+        VERSION=1.0
+        TYPE=xyz
 
-The json configuration file can contain field-specific settings for each
-formed-field.  These settings define whether to show a field in the
-default case-digest or whether the user can search for it or whether it
-will be automatically be retrieved from the database in the search
-results.  See the comment for the "case, fields" setting in
-mpulsweb/lib/config.py and the doc-string of the Field class
-mpulsweb/model/case.py for details.
+        # Erstellen eines Verzeichnis für die Ausprägung
+        mkdir $TYPE 
+        cd $TYPE 
+        mkdir releases
+        cd releases
 
+        # Entpacken der Version
+        tar xzvf /tmp/${TYPE}_${VERSION}.tar.gz
+        mv tmp/releases/${TYPE}_${VERSION} .
+        rm -r tmp
 
-Columns in case overview/search results
----------------------------------------
+        # Erstellen der der Links auf die aktuelle Version
+        rm current
+        ln -s ${TYPE}_${VERSION} current
+        cd ..
+        for d in `find releases/current/ -maxdepth 1 -type d \
+                  | grep -v current/$`; 
+                do ln -s  $d; 
+        done
+        mv ${TYPE}db db
 
-Which columns are shown for whom in which way on the search results page
-(URL /case_overview) is determined on two different localtions:
+        # Sprachdateien für libformed erstellen
+        cd libformed
+        python setup.py compile_catalog
+        cd ..
 
-1. The field configuration form above. See details there and
-2. the python list called fields near the top of the template
-waskaweb/templates/casemanagement/caselist.mako.  See the comments there for
-more information.
+        # Sprachdateien für mpulsweb erstellen
+        cd mpulsweb
+        python setup.py compile_catalog
+        cd ..
 
-LOGBOOK CONFIGURATION
+        # Übersetzen aller Sprachdateien und Ersetzen des Versions- und
+        # Datumsstring
+        cd ${TYPE}web
+        # Übersetzen aller po-Dateien in die entsprechenden mo-Dateien
+        for f in $(find . -name \*.po); 
+                do msgfmt ${f} -o $(echo ${f} | sed -e "s/\.po$/.mo/g"); 
+        done
+        cd ..
+        cd mpulsweb
+        DATE=$(date +%d.%m.%Y)
+        sed -i -e s/REVISION/${VERSION}/g mpulsweb/lib/config.py
+        sed -i -e s/RELEASEDATE/${DATE}/g mpulsweb/lib/config.py
+
+Einrichten einer Datenbank
+==========================
+
+Cluster anlegen
+---------------
+
+	# Als root
+	TYPE=xyz
+	PORT=5433
+	pg_createcluster -p ${PORT} --lc-collate=de_DE.utf8 -lc-ctype=de_DE.utf8 --start 8.3 $TYPE 
+	cd /home/mpuls/${TYPE}/db
+	chown postgre: -R *
+
+Datenbank anlegen
+---------------
+
+	# Als postgres
+	TYPE=xyz
+	cd /home/mpuls/${TYPE}/db
+	cd db_setup # in das Verzeichnis in dem (bin, install und update liegen)
+	psql -p ${PORT} -f mpuls-init-cluster.sql
+	echo testdb > KA_list
+	sh bin/create_databases.sh ${PORT}
+	-> result_list enthält Password für den "adm"-Nutzer
+
+Betrieb der Anwendung
 =====================
+An dieser Stelle wird nur grundsätzlich der Betrieb der Software unter
+Verwendung des "Paste"-Servers beschrieben. Andere Betriebsarten wie der
+Betrieb im Apache über mod_wsgi ist nicht Teil dieser QUICK-Install Anleitung. 
 
-Configuration of available types of logbook entries and their categories is
-done in the json file:
+Konfiguration der Anwendung
+---------------------------
 
-Example:
+	su - mpuls
+	TYPE=xyz
+	cd ${TYPE}/${TYPE}web
+	vim production.ini
+	# Parameter für Datenbankverbindung anpassen.
 
-"logbook": {
-	"categories": [
-		{
-			"name": "unmittelbare Arbeit mit dem Jugendlichen",
-			"items": ["1", "2", "3"]
-		}
-		... more categories ...
-	],
-	"descriptions": [
-		{
+Starten der Anwendung
+---------------------
 
-			"1": "Gespräch mit dem/der Jugendlichen",
-			"2": "Kompetenzfeststellung",
-			"3": "Korrespondenz mit dem/der Jugendlichen"
-			... more descriptions ...
-		}
-	]
-}
-
+	su - mpuls
+	TYPE=xyz
+	export PYTHONPATH=/home/mpuls/$TYPE/libmpuls/:/home/mpuls/$TYPE/libformed/:/home/mpuls/$TYPE/mpulsweb/:PYTHONPATH
+	cd ${TYPE}/${TYPE}web
+	paster serve --reload production.ini



More information about the Mpuls-commits mailing list