HTML-Dateien mit korrektem Charset
This commit is contained in:
0
htdocs/doc/xml/index.html
Normal file
0
htdocs/doc/xml/index.html
Normal file
@@ -6,16 +6,16 @@
|
||||
<body>
|
||||
<h1>Dokumentation Opencaching XML-Interface Version 1.1</h1>
|
||||
<p>
|
||||
Das XML-Interface dient zum automatisierten abfragen aller Caches, Logeintr<74>,
|
||||
Benutzer und/oder Bilder. Dieses Interface ist nicht f<>benutzer gedacht,
|
||||
sondern prim<69>f<EFBFBD>site-Entwickler.
|
||||
Das XML-Interface dient zum automatisierten abfragen aller Caches, Logeintr<74>ge,
|
||||
Benutzer und/oder Bilder. Dieses Interface ist nicht f<>r Endbenutzer gedacht,
|
||||
sondern prim<69>r f<>r Website-Entwickler.
|
||||
</p>
|
||||
<h2>Ausgabeformat</h2>
|
||||
<p>
|
||||
Die Ausgabe ist eine oder mehrere xml,zip,gz oder bz2-Dateien. Es stehen 2
|
||||
<09>ertragungsmodi bereit: in Paketen zu je 500 Datens<6E>en oder in
|
||||
<09>bertragungsmodi bereit: in Paketen zu je 500 Datens<6E>tzen oder in
|
||||
einer Datei.
|
||||
<P>Die folgenden XML-Abschnitte stehen zur Verf<72> Sie werden immer in dieser
|
||||
<P>Die folgenden XML-Abschnitte stehen zur Verf<72>gung. Sie werden immer in dieser
|
||||
Reihenfolge ausgegeben:
|
||||
<ol>
|
||||
<li>
|
||||
@@ -25,28 +25,28 @@
|
||||
<li>
|
||||
cachedesc (Cachebeschreibungen)
|
||||
<li>
|
||||
cachelog (Logeintr<74>)
|
||||
cachelog (Logeintr<74>ge)
|
||||
<li>
|
||||
picture (Bilder)
|
||||
<li>
|
||||
removedobject (gel<65>te Objekte)</li>
|
||||
removedobject (gel<65>schte Objekte)</li>
|
||||
</ol>
|
||||
<P></P>
|
||||
<h3>Allgemeine XML-Elemente</h3>
|
||||
<h4>lastmodified</h4>
|
||||
<p>Datum an dem dieser Datensatz zuletzt ge<67>ert wurde. Es werden keine
|
||||
Abh<62>igkeiten ber<65>htigt. D.h. Wenn eine Cachebeschreibung ge<67>ert wird,
|
||||
<09>ert sich nur deren lastmodified, nicht jedoch das des Caches. Datumsangaben
|
||||
<p>Datum an dem dieser Datensatz zuletzt ge<67>ndert wurde. Es werden keine
|
||||
Abh<62>ngigkeiten ber<65>cksichtigt. D.h. Wenn eine Cachebeschreibung ge<67>ndert wird,
|
||||
<09>ndert sich nur deren lastmodified, nicht jedoch das des Caches. Datumsangaben
|
||||
sind immer in der Form "yyyy-mm-dd hh:mm:ss" oder "yyyy-mm-dd"</p>
|
||||
<h4>datecreated</h4>
|
||||
<p>Datum an dem dieser Datensatz angelegt wurde.</p>
|
||||
<h4>id</h4>
|
||||
<p>Zu unterscheiden ist die id (identifier) und die uuid (universal unique
|
||||
identifier). Die id (Zahl) ist ein nur auf der jeweiligen Webseite g<>r
|
||||
identifier, w<>end die uuid (alphanumerische Folge) auf jeder Seite die
|
||||
Opencaching-Daten verwendet g<>sein sollte. Beispiel: bei dem Datenabgleich
|
||||
identifier). Die id (Zahl) ist ein nur auf der jeweiligen Webseite g<>ltiger
|
||||
identifier, w<>hrend die uuid (alphanumerische Folge) auf jeder Seite die
|
||||
Opencaching-Daten verwendet g<>ltig sein sollte. Beispiel: bei dem Datenabgleich
|
||||
von www.opencaching.de und devel.opencaching.de wird auf devel.opencaching.de
|
||||
eine neue id f<> Datensatz erzeugt und die uuid beibhalten.</p>
|
||||
eine neue id f<>r den Datensatz erzeugt und die uuid beibhalten.</p>
|
||||
<h3>Attributliste</h3>
|
||||
<p><attrlist><br />
|
||||
<attr id="1" icon_large="http://www.opencaching.de/images/attributes/night.gif"<br />
|
||||
@@ -67,7 +67,7 @@
|
||||
<attr id="8" icon_large="http://www.opencaching.de/images/attributes/letterbox.gif"<br />
|
||||
icon_no="http://www.opencaching.de/images/attributes/letterbox-no.gif"<br />
|
||||
icon_undef="http://www.opencaching.de/images/attributes/letterbox-undef.gif"><br />
|
||||
<![CDATA[Letterbox (ben<65>t Stempel)]]><br />
|
||||
<![CDATA[Letterbox (ben<65>tigt Stempel)]]><br />
|
||||
</attr><br />
|
||||
</attrlist><br />
|
||||
</p>
|
||||
@@ -82,7 +82,7 @@
|
||||
<h4>username</h4>
|
||||
<p>Benutzername</p>
|
||||
<h4>pmr</h4>
|
||||
<p>1: Der Benutzer hat angegeben ein PMR-Funkger<65>auf Kanal 2 mit auf Tour zu
|
||||
<p>1: Der Benutzer hat angegeben ein PMR-Funkger<65>t auf Kanal 2 mit auf Tour zu
|
||||
nehmen.<br>
|
||||
0: Keine Angabe</p>
|
||||
<h3>cache (Caches)</h3>
|
||||
@@ -96,7 +96,7 @@
|
||||
<type id="2" short="Trad."><![CDATA[normaler
|
||||
Cache]]></type><br>
|
||||
<status id="2"><![CDATA[Momentan nicht
|
||||
verf<72>]></status><br>
|
||||
verf<72>gbar]]></status><br>
|
||||
<country id="DE"><![CDATA[Deutschland]]></country><br>
|
||||
<size id="2"><![CDATA[mikro]]></size><br>
|
||||
<desclanguages>DE</desclanguages><br>
|
||||
@@ -133,7 +133,7 @@
|
||||
<lastmodified>2005-12-24 14:38:13</lastmodified><br>
|
||||
</cachedesc>
|
||||
</p>
|
||||
<h3>cachelog (Logeintr<74>)</h3>
|
||||
<h3>cachelog (Logeintr<74>ge)</h3>
|
||||
<p>
|
||||
<cachelog><br>
|
||||
<id id="13037">F0DAC335-0FA6-3479-45AF-03E2F6BC28B9</id><br>
|
||||
@@ -168,7 +168,7 @@
|
||||
<lastmodified>2005-12-24 01:01:38</lastmodified><br>
|
||||
</picture>
|
||||
</p>
|
||||
<h3>removedobject (gel<65>te Objekte)</h3>
|
||||
<h3>removedobject (gel<65>schte Objekte)</h3>
|
||||
<p>
|
||||
<removedobject><br>
|
||||
<id id="748" /><br>
|
||||
@@ -179,13 +179,13 @@
|
||||
</p>
|
||||
<h2>Datenauswahl</h2>
|
||||
<p>Die Auswahl erfolgt zum einen durch den Paramter modifiedsince, mit dem
|
||||
inkrementelle Updates gesteuert werden, zum anderen <20>ine Gebietsauswahl.</p>
|
||||
<h3>Zu <20>agende Daten ausw<73>en</h3>
|
||||
<P>Folgende Parameter stehen zur Verf<72>um die zu <20>agenden Daten
|
||||
auszuw<75>en.</P>
|
||||
<P>Die Werte d<>1 oder 0 sein, Default ist 0.<BR>
|
||||
0=Datens<6E>e nicht <20>agen<BR>
|
||||
1=Datens<6E>e <20>agen</P>
|
||||
inkrementelle Updates gesteuert werden, zum anderen <20>ber eine Gebietsauswahl.</p>
|
||||
<h3>Zu <20>bertragende Daten ausw<73>hlen</h3>
|
||||
<P>Folgende Parameter stehen zur Verf<72>gung um die zu <20>bertragenden Daten
|
||||
auszuw<75>hlen.</P>
|
||||
<P>Die Werte d<>rfen 1 oder 0 sein, Default ist 0.<BR>
|
||||
0=Datens<6E>tze nicht <20>bertragen<BR>
|
||||
1=Datens<6E>tze <20>bertragen</P>
|
||||
<UL>
|
||||
<LI>
|
||||
user
|
||||
@@ -200,30 +200,30 @@
|
||||
<LI>
|
||||
removedobject</LI></UL>
|
||||
<h3>modifiedsince</h3>
|
||||
<p>Alle Datens<6E> <20>agen, die nach diesem Datum angelegt oder modifiziert
|
||||
<p>Alle Datens<6E>tz <20>bertragen, die nach diesem Datum angelegt oder modifiziert
|
||||
wurden. Das Datumsformat ist yyyymmddhhnnss</p>
|
||||
<h3>Gebietsauswahl</h3>
|
||||
<p>Es muss keine Gebietsauswahl getroffen werden. Eine Kombination von Land,
|
||||
Koordinaten oder cacheid ist nicht m<>ch.</p>
|
||||
Koordinaten oder cacheid ist nicht m<>glich.</p>
|
||||
<h4>Nach Land</h4>
|
||||
<p>Parameter country ... wird dieser Parameter angegeben, werden nur Datens<6E>
|
||||
<09>agen, die mit Caches in Zusammenhang stehen, die in diesem Land versteckt
|
||||
wurden. User-Records werden nicht <20>agen, removedobjects werden alle
|
||||
<09>gen.</p>
|
||||
<P>F<EFBFBD>der muss dabei angegeben werden, ob nur Bilder <20>agen werden die
|
||||
<p>Parameter country ... wird dieser Parameter angegeben, werden nur Datens<6E>tz
|
||||
<09>bertragen, die mit Caches in Zusammenhang stehen, die in diesem Land versteckt
|
||||
wurden. User-Records werden nicht <20>bertragen, removedobjects werden alle
|
||||
<09>betragen.</p>
|
||||
<P>F<EFBFBD>r Bilder muss dabei angegeben werden, ob nur Bilder <20>bertragen werden die
|
||||
von Caches stammen oder auch von Cachelogs:<BR>
|
||||
Paramter: picturefromcachelog = 0/1, default 0</P>
|
||||
<h4>Nach Koordinaten</h4>
|
||||
<P>Parameter lat, lon, distance ... werden diese Parameter angegeben,
|
||||
werden nur Datens<6E> <20>agen, die mit Caches in Zusammenhang stehen, die in
|
||||
diesem Gebiet versteckt wurden. User-Records werden nicht <20>agen,
|
||||
removedobjects werden alle <20>gen.</P>
|
||||
werden nur Datens<6E>tz <20>bertragen, die mit Caches in Zusammenhang stehen, die in
|
||||
diesem Gebiet versteckt wurden. User-Records werden nicht <20>bertragen,
|
||||
removedobjects werden alle <20>betragen.</P>
|
||||
<h4>Nach cacheid</h4>
|
||||
<P>Parameter cacheid ... wird dieser Parameter angegeben,
|
||||
werden nur Datens<6E> <20>agen, die mit Cache in Zusammenhang stehen.
|
||||
User-Records werden nicht <20>agen,
|
||||
removedobjects werden alle <20>gen.</P>
|
||||
<P>F<EFBFBD>der muss dabei angegeben werden, ob nur Bilder <20>agen werden die
|
||||
werden nur Datens<6E>tz <20>bertragen, die mit Cache in Zusammenhang stehen.
|
||||
User-Records werden nicht <20>bertragen,
|
||||
removedobjects werden alle <20>betragen.</P>
|
||||
<P>F<EFBFBD>r Bilder muss dabei angegeben werden, ob nur Bilder <20>bertragen werden die
|
||||
von Caches stammen oder auch von Cachelogs:<BR>
|
||||
Paramter: picturefromcachelog = 0/1, default 0</P>
|
||||
<h4>Nach Wegpunkt</h4>
|
||||
@@ -247,7 +247,7 @@
|
||||
sind<BR>
|
||||
<A>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&picture=1&country=DE</A>&picturefromcachelog=1</P>
|
||||
<P>Diese Anfragen werden mit einem kurzen XML-Stream beantwortet, der die
|
||||
XML-Session-Id zur<75>t. Mit dieser Id k<>n dann die Daten abgerufen
|
||||
XML-Session-Id zur<75>ckgibt. Mit dieser Id k<>nnen dann die Daten abgerufen
|
||||
werden.</P>
|
||||
<P><?xml version="1.0"?><BR>
|
||||
<ocxmlsession><BR>
|
||||
@@ -255,12 +255,12 @@
|
||||
<records user="193" cache="211" cachedesc="235" cachelog="439"
|
||||
picture="108" removeobject="19" /><BR>
|
||||
</ocxmlsession></P>
|
||||
<P>Die Sessionid ist 24h g<> danach muss eine neue sessionid angefordert
|
||||
werden. Die Anzahl der Datens<6E> muss nicht exakt mit den <20>agenen
|
||||
<09>nstimmen - mehr Datens<6E>e werden jedoch auf keinen Fall <20>agen. Die
|
||||
Summe der Datens<6E>e ist in diesem Beispiel 1205 - es werden also 3 Aufrufe
|
||||
ben<65>t (500, 500, 205 Datens<6E>e).</P>
|
||||
<P>Die Daten k<>n dann mit folgender Anfrage abgerufen werden:<BR>
|
||||
<P>Die Sessionid ist 24h g<>ltig, danach muss eine neue sessionid angefordert
|
||||
werden. Die Anzahl der Datens<6E>tz muss nicht exakt mit den <20>bertragenen
|
||||
<09>bereinstimmen - mehr Datens<6E>tze werden jedoch auf keinen Fall <20>bertragen. Die
|
||||
Summe der Datens<6E>tze ist in diesem Beispiel 1205 - es werden also 3 Aufrufe
|
||||
ben<65>tigt (500, 500, 205 Datens<6E>tze).</P>
|
||||
<P>Die Daten k<>nnen dann mit folgender Anfrage abgerufen werden:<BR>
|
||||
<A>http://www.opencaching.de/xml/ocxml11.php?sessionid=12345&file=1</A><BR>
|
||||
<A>http://www.opencaching.de/xml/ocxml11.php?sessionid=12345&file=2</A><BR>
|
||||
<A>http://www.opencaching.de/xml/ocxml11.php?sessionid=12345&file=3</A></P>
|
||||
@@ -270,14 +270,14 @@
|
||||
<P>Beispeil:<BR>
|
||||
<A>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&user=1&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&session=0</A></P>
|
||||
<H3>Dateikomprimierung einstellen</H3>
|
||||
<P>Dei Dateikomprimierung kann mit dem Paramter zip eingestellt weren. M<>che
|
||||
<P>Dei Dateikomprimierung kann mit dem Paramter zip eingestellt weren. M<>gliche
|
||||
Werte sind 0, zip, bzip2, gzip. Null bedeutet hier keine Kompression. Wird
|
||||
keine Kompression angegeben, wird zip verwendet.</P>
|
||||
<P>Beispeil:<BR>
|
||||
<A>http://www.opencaching.de/xml/ocxml11.php?modifiedsince=<date>&user=1&cache=1&cachedesc=1&cachelog=1&picture=1&removedobject=1&session=0&zip=bzip2</A><BR>
|
||||
<A>http://www.opencaching.de/xml/ocxml11.php?sessionid=12345&file=1&zip=gzip</A></P>
|
||||
<H3>XML-Optionen</H3>
|
||||
<P>Die folgenden XML-Optionen m<>bei jedem Aufruf <20>ben
|
||||
<P>Die folgenden XML-Optionen m<>ssen bei jedem Aufruf <20>bergeben
|
||||
werden.</P>
|
||||
<P>xmldecl ... 0 = keine Xml-Deklaration / (Default) 1=Xml-Deklaration<br>
|
||||
doctype ... 0 = keine Xml-Document-Type-Definition /
|
||||
@@ -294,12 +294,12 @@
|
||||
<H3>Sonstige Bemerkungen</H3>
|
||||
<UL>
|
||||
<LI>
|
||||
F<> ersten Aufruf des Interface muss als modifiedsince das Datum 1.8.2005
|
||||
um 00:00:00 Uhr angegeben werden. Es gibt keine Datens<6E>e die vor diesem Datum
|
||||
F<>r den ersten Aufruf des Interface muss als modifiedsince das Datum 1.8.2005
|
||||
um 00:00:00 Uhr angegeben werden. Es gibt keine Datens<6E>tze die vor diesem Datum
|
||||
angelegt wurden.
|
||||
<LI>
|
||||
Um Probleme wegen Differenzen der Uhrzeit zwischen Client und Server zu
|
||||
umgehen, muss f<> n<>sten Inkrementellen Abruf der Daten das Datum um Kopf
|
||||
umgehen, muss f<>r den n<>chsten Inkrementellen Abruf der Daten das Datum um Kopf
|
||||
der XML-Datei minus 1 Sekunde angeben werden:<BR>
|
||||
<SPAN class="m"><BR><?</SPAN><SPAN class="pi">xml version="1.0" encoding="iso-8859-1"
|
||||
standalone="no" </SPAN><SPAN class="m">?></SPAN>
|
||||
@@ -311,14 +311,15 @@
|
||||
22:02:42<SPAN class="m">"</SPAN><SPAN class="m">></SPAN>
|
||||
<LI>
|
||||
Zeitverschiebungen / unterschiedliche Zeitzonen zwischen Client und Server
|
||||
werden nicht unterst<73> <LI>
|
||||
Das XML-Dokument enth<74> folgende DTD (Document Type Definition):
|
||||
werden nicht unterst<73>tzt.
|
||||
<LI>
|
||||
Das XML-Dokument enth<74>lt folgende DTD (Document Type Definition):
|
||||
http://www.opencaching.de/xml/ocxml11.dtd
|
||||
<LI>
|
||||
<09>derungen werden des XML-Interface werden im Entwicklerforum bekanntgegeben:
|
||||
<09>nderungen werden des XML-Interface werden im Entwicklerforum bekanntgegeben:
|
||||
http://develforum.opencaching.de/viewforum.php?f=2
|
||||
<LI>
|
||||
Fragen zum Interface k<>n ebenfalls im Entwicklerforum gestellt werden: <A href="http://develforum.opencaching.de/viewforum.php?f=2">
|
||||
Fragen zum Interface k<>nnen ebenfalls im Entwicklerforum gestellt werden: <A href="http://develforum.opencaching.de/viewforum.php?f=2">
|
||||
http://develforum.opencaching.de/viewforum.php?f=2</A>
|
||||
<LI>
|
||||
Der Quellcode des Interface kann hier downgeloadet werden: <A href="http://devel.opencaching.de/viewcvs/viewcvs.cgi/html/xml/ocxml11.php?rev=1.2&content-type=text/vnd.viewcvs-markup">
|
||||
@@ -331,8 +332,9 @@
|
||||
<LI>
|
||||
der Quellcode steht unter der GNU Gerneral Public Licenses
|
||||
<LI>
|
||||
Fuer die Nutzung des XML-Interface ist eine gesonderte Nutzungserlaubnis durch den Betreiber von opencaching.de notwendig. Darin wird geregelt, auf welche Art und Weise die bezogenen Daten genutzt werden duerfen.
|
||||
</LI></UL>
|
||||
f<>r Daten die <20>ber das XML-Interface downgeloadet werden, gelten die
|
||||
Nutzungsbedingungen von Opencaching.de <A href="http://www.opencaching.de/articles.php?page=impressum#tos">
|
||||
http://www.opencaching.de/articles.php?page=impressum#tos</A></LI></UL>
|
||||
<P> </P>
|
||||
</SPAN>
|
||||
</body>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Installationsanleitung Opencaching Quellcode</title>
|
||||
<style type="text/css">
|
||||
@@ -35,7 +35,7 @@ td
|
||||
<li>PHP</li>
|
||||
</ul>
|
||||
<p>
|
||||
Die Komponenten mülauffäg sein. Auf deren Konfiguration wird nur eingegangen,
|
||||
Die Komponenten müssen lauffähig sein. Auf deren Konfiguration wird nur eingegangen,
|
||||
wenn diese von der Standardkonfiguration abweicht.</p>
|
||||
<h3>
|
||||
Empfohlene Versionen</h3>
|
||||
@@ -44,8 +44,8 @@ td
|
||||
<li>PHP 5.2.2</li>
|
||||
<li>MySQL 5.0.27</li>
|
||||
</ul>
|
||||
Möcherweise funktioniert der Quellcode auch mit äeren Releases, dann sind jedoch
|
||||
fü Produktiveinsatz stäere Tests erforderlich.<br />
|
||||
Möglicherweise funktioniert der Quellcode auch mit älteren Releases, dann sind jedoch
|
||||
für den Produktiveinsatz stärkere Tests erforderlich.<br />
|
||||
<br />
|
||||
<h3>
|
||||
PHP Module</h3>
|
||||
@@ -66,7 +66,7 @@ td
|
||||
</ul>
|
||||
<p>
|
||||
PHP muss mit CLI (Command Line Interface) installiert werden.<br />
|
||||
Zusälich wird noch eine pecl-Extension empfohlen, siehe "Konfiguration Cracklib".</p>
|
||||
Zusätzlich wird noch eine pecl-Extension empfohlen, siehe "Konfiguration Cracklib".</p>
|
||||
<h3>
|
||||
Empfohlene Software</h3>
|
||||
<ul>
|
||||
@@ -98,10 +98,10 @@ td
|
||||
RewriteEngine On # vgl. "Konfiguration Statistikbilder"<br />
|
||||
</VirtualHost>
|
||||
</p>
|
||||
Der Pfad /wwwroot kann beliebig gewät werden, ebenso User und Group.<h4>
|
||||
Der Pfad /wwwroot kann beliebig gewählt werden, ebenso User und Group.<h4>
|
||||
Konfigration safe_mode</h4>
|
||||
<p>
|
||||
PHP kann im safe_mode ausgefüerden, ist fü Entwicklung jedoch oft hinderlich.</p>
|
||||
PHP kann im safe_mode ausgeführt werden, ist für die Entwicklung jedoch oft hinderlich.</p>
|
||||
<p>
|
||||
open_basedir muss dann neben /wwwroot auch den upload_tmp_dir enthalten</p>
|
||||
<p>
|
||||
@@ -109,8 +109,8 @@ td
|
||||
<h3>
|
||||
Download der CVS Quellcodes</h3>
|
||||
<p>
|
||||
Alle Quellcodes werden mit CVS verwaltet. Füeberechtigungen ist kein Benutzeraccount
|
||||
notwendig. Sollen spär geäerte Quellcodes in das CVS gespeichert werden, richten
|
||||
Alle Quellcodes werden mit CVS verwaltet. Für Leseberechtigungen ist kein Benutzeraccount
|
||||
notwendig. Sollen später geänderte Quellcodes in das CVS gespeichert werden, richten
|
||||
wir gernen einen Benutzeraccount ein (bitte im Entwicklerforum melden).</p>
|
||||
<p>
|
||||
Auf der Linux-Kommandozeile:</p>
|
||||
@@ -119,27 +119,27 @@ td
|
||||
export CVSROOT=:pserver:anoncvs@devel.opencaching.de:2401/opencaching<br />
|
||||
cvs co html</p>
|
||||
<p>
|
||||
Der Download kann eine Weile dauern, die Repository ist mittlerweile etwas grö.
|
||||
Der Download kann eine Weile dauern, die Repository ist mittlerweile etwas größer.
|
||||
Die Opencaching Quellcodes befinden sich daraufhin im Unterverzeichnis html</p>
|
||||
<p>
|
||||
Um Äderungen zu inspizieren haben wir einen WebCVS eingerichtet:</p>
|
||||
Um Änderungen zu inspizieren haben wir einen WebCVS eingerichtet:</p>
|
||||
<p>
|
||||
http://devel.opencaching.de/viewcvs/viewcvs.cgi/html/</p>
|
||||
<h3>
|
||||
Konfiguration MySQL</h3>
|
||||
<p>
|
||||
Die Quellcodes benöen die MyISAM- und InnoDB-Engines und etwa 350 MB (Stand:
|
||||
Die Quellcodes benötigen die MyISAM- und InnoDB-Engines und etwa 350 MB (Stand:
|
||||
Sept. 2007) um alle Opencaching-Daten zu laden.</p>
|
||||
<p>
|
||||
Charset füe Datenbanken, Tabellen und Felder ist immer
|
||||
Charset für alle Datenbanken, Tabellen und Felder ist immer
|
||||
UTF8. Die Namen der
|
||||
Datenbanken und Benutzer kann frei gewät werden.</p>
|
||||
Datenbanken und Benutzer kann frei gewählt werden.</p>
|
||||
<h4>
|
||||
Datenbankem anlegen</h4>
|
||||
<p>
|
||||
Es werden
|
||||
2 Datenbanken benöt: Eine fü eigentlichen Daten und eine fü Erstellung
|
||||
von temporän Tabellen.</p>
|
||||
2 Datenbanken benötigt: Eine für die eigentlichen Daten und eine für die Erstellung
|
||||
von temporären Tabellen.</p>
|
||||
<p class="code">
|
||||
CREATE DATABASE `opencaching` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;<br />
|
||||
CREATE DATABASE `oc_tmpdb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;<br />
|
||||
@@ -149,9 +149,9 @@ td
|
||||
</span>Benutzer anlegen</span></span></h4>
|
||||
<p>
|
||||
<span class="syntax"><span class="syntax_punct syntax_punct_queryend">Es werden 2
|
||||
Benutzer benöt:</span></span></p>
|
||||
Benutzer benötigt:</span></span></p>
|
||||
<p>
|
||||
1. Mit geringen Berechtigungen fümale Ausfü</p>
|
||||
1. Mit geringen Berechtigungen für normale Ausführung</p>
|
||||
<p>
|
||||
Im einzelnen:</p>
|
||||
<p>
|
||||
@@ -181,7 +181,7 @@ td
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
2. Mit SUPER-Berechtigungen, um Trigger und Stored Procedures anlegen zu kön</p>
|
||||
2. Mit SUPER-Berechtigungen, um Trigger und Stored Procedures anlegen zu können</p>
|
||||
<p>
|
||||
<table>
|
||||
<tr>
|
||||
@@ -213,16 +213,16 @@ td
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
SUPER-Berechtigungen entsprechen root-Berechtigungen fü Datenbank. Das Passwort
|
||||
wird spär als Klartext in einer php-Datei gespeichert. Wem das zu unsicher ist,
|
||||
SUPER-Berechtigungen entsprechen root-Berechtigungen für die Datenbank. Das Passwort
|
||||
wird später als Klartext in einer php-Datei gespeichert. Wem das zu unsicher ist,
|
||||
kann auch den normalen root-Account nehmen und das Passwort in die php-Datei nur
|
||||
bei Bedarf schreiben und danach wieder löen.</p>
|
||||
bei Bedarf schreiben und danach wieder löschen.</p>
|
||||
<h3>
|
||||
Anlegen der Tabellen</h3>
|
||||
<p>
|
||||
Alle Tabellen sind als SQL-Datei im Verzeichnis doc/sql/tables abgelegt. Datensäe
|
||||
füe leere Datenbank in doc/sql/static-data.<br />
|
||||
Trigger und Stored Procedures werden spär per PHP-Script angelegt.</p>
|
||||
Alle Tabellen sind als SQL-Datei im Verzeichnis doc/sql/tables abgelegt. Datensätze
|
||||
für eine leere Datenbank in doc/sql/static-data.<br />
|
||||
Trigger und Stored Procedures werden später per PHP-Script angelegt.</p>
|
||||
<p class="code">
|
||||
cd doc/sql/tables<br />
|
||||
find . -maxdepth 1 -type f -name \*.sql -exec cat {} \; | mysql -uroot -p opencaching<br />
|
||||
@@ -230,13 +230,14 @@ td
|
||||
cd ../static-data<br />
|
||||
find . -maxdepth 1 -type f -name \*.sql -exec cat {} \; | mysql -uroot -p opencaching</p>
|
||||
<p>
|
||||
Alternativ köe auch jede Datei einzeln geöet werden und mit phpMyAdmin eingespielt
|
||||
Alternativ könnte auch jede Datei einzeln geöffnet werden und mit phpMyAdmin eingespielt
|
||||
werden.</p>
|
||||
<h3>
|
||||
Verzeichnisrechte vergeben</h3>
|
||||
<p>
|
||||
Generell sollten so wenig Rechte wie möch vergeben werden. In diesem Beispiel
|
||||
gehen wir davon aus, dass die Dateien nicht von Hand editiert werden sollen. Füdie Entwicklung muss der Entwickler natü Schreibrechte fü Dateien haben.</p>
|
||||
Generell sollten so wenig Rechte wie möglich vergeben werden. In diesem Beispiel
|
||||
gehen wir davon aus, dass die Dateien nicht von Hand editiert werden sollen. Für
|
||||
die Entwicklung muss der Entwickler natürlich Schreibrechte für die Dateien haben.</p>
|
||||
<p class="code">
|
||||
cd /wwwroot<br />
|
||||
chown -R wwwrun:www .<br />
|
||||
@@ -251,9 +252,9 @@ td
|
||||
find cache2 -type d -exec chmod 770 {} \;<br />
|
||||
</p>
|
||||
<p>
|
||||
Ein späres CVS-Update muss mit dem wwwrun-Benutzer ausgefüerden, da sonst
|
||||
Ein späteres CVS-Update muss mit dem wwwrun-Benutzer ausgeführt werden, da sonst
|
||||
der Dateibesitzer evtl. wieder wechselt!<br />
|
||||
Ausserdem müdann die Dateien und Verzeichnisse beschreibbar sein (im ersten
|
||||
Ausserdem müssen dann die Dateien und Verzeichnisse beschreibbar sein (im ersten
|
||||
Schritt 660 und 770 verwenden).</p>
|
||||
<h3>
|
||||
Konfiguration der Quellcodes</h3>
|
||||
@@ -264,18 +265,18 @@ td
|
||||
Das alte Template-System verwendet Verzeichnisse ohne 2 am Ende.<br />
|
||||
Das neue Template-System verwendet Verzeichnisse mit 2 am Ende.</p>
|
||||
<p>
|
||||
Derzeit werden alle Skripte aus dem alten Template-System fü neue System umgeschrieben.<br />
|
||||
Skripts die bereits umgestellt wurden, kön in den Quellcodes an require('./lib2/...');
|
||||
Derzeit werden alle Skripte aus dem alten Template-System für das neue System umgeschrieben.<br />
|
||||
Skripts die bereits umgestellt wurden, können in den Quellcodes an require('./lib2/...');
|
||||
erkannt werden und im Browser an den Flaggen oben links.</p>
|
||||
<h4>
|
||||
Altes Templatesystem</h4>
|
||||
<p>
|
||||
Datei lib/settings-dist.inc.php nach nach lib/settings.inc.php kopieren.<br />
|
||||
Datei-Owner und Berechtigungen beachten!<br />
|
||||
Die Kopie kann bearbeitet werden, ohne dass bei einem spären CVS-Commit falsche
|
||||
Daten zurüpielt werden.</p>
|
||||
Die Kopie kann bearbeitet werden, ohne dass bei einem späteren CVS-Commit falsche
|
||||
Daten zurückgespielt werden.</p>
|
||||
<p>
|
||||
Die Parameter sind soweit nö kommentiert. Besonderes Augenmerk sollte man folgenden
|
||||
Die Parameter sind soweit nötig kommentiert. Besonderes Augenmerk sollte man folgenden
|
||||
Paramtern widmen:</p>
|
||||
<p class="code">
|
||||
$oc_nodeid<br />
|
||||
@@ -287,23 +288,23 @@ td
|
||||
$tmpdbname</p>
|
||||
<p>
|
||||
Sowie die diversen E-Mail-Adressen.<br />
|
||||
Sollte die Website aus dem Internet erreichbar sein, MUSS das Impressum abgeäert
|
||||
Sollte die Website aus dem Internet erreichbar sein, MUSS das Impressum abgeändert
|
||||
werden (templates2/stdstyle/articles/DE/impressum.tpl).</p>
|
||||
<h4>
|
||||
Neues Templatesystem</h4>
|
||||
<p>
|
||||
Datei config2/settings-dist.inc.php nach nach config2/settings.inc.php kopieren.<br />
|
||||
Datei-Owner und Berechtigungen beachten!<br />
|
||||
Die Kopie kann bearbeitet werden, ohne dass bei einem spären CVS-Commit falsche
|
||||
Daten zurüpielt werden.</p>
|
||||
Die Kopie kann bearbeitet werden, ohne dass bei einem späteren CVS-Commit falsche
|
||||
Daten zurückgespielt werden.</p>
|
||||
<p>
|
||||
Es werden jedoch beide Dateien von den Quellcodes verwendet: Zuerst werden Vorgabewerte
|
||||
mit settings-dist.inc.php gesetzt und diese dann (wo nö) mit settings.inc.php
|
||||
ührieben. Falls also ein Vorgabewert in den Einstellungen beibehalten werden
|
||||
soll, kann die entsprechende Zeile aus settings.inc.php gelöt werden. Ädert
|
||||
sich spär der Vorgabewert im CVS ist keine manuelle Anpassung notwendig.</p>
|
||||
mit settings-dist.inc.php gesetzt und diese dann (wo nötig) mit settings.inc.php
|
||||
überschrieben. Falls also ein Vorgabewert in den Einstellungen beibehalten werden
|
||||
soll, kann die entsprechende Zeile aus settings.inc.php gelöscht werden. Ändert
|
||||
sich später der Vorgabewert im CVS ist keine manuelle Anpassung notwendig.</p>
|
||||
<p>
|
||||
Die Parameter sind soweit nö kommentiert. Besonderes Augenmerk sollte man folgenden
|
||||
Die Parameter sind soweit nötig kommentiert. Besonderes Augenmerk sollte man folgenden
|
||||
Paramtern widmen:</p>
|
||||
<p class="code">
|
||||
$opt['db']['servername']<br />
|
||||
@@ -317,23 +318,24 @@ td
|
||||
$opt['logic']['pictures']['url']</p>
|
||||
<p>
|
||||
Sowie die diversen E-Mail-Adressen.<br />
|
||||
WICHTIG: die Paramtert im lib/settings.inc.php und config2/settings.inc.php mü ünstimmen. Insbesondere die Cookie-Einstellungen und die node-id.</p>
|
||||
WICHTIG: die Paramtert im lib/settings.inc.php und config2/settings.inc.php müssen
|
||||
übereinstimmen. Insbesondere die Cookie-Einstellungen und die node-id.</p>
|
||||
<p>
|
||||
Sollte die Website aus dem Internet erreichbar sein, MUSS das Impressum abgeäert
|
||||
Sollte die Website aus dem Internet erreichbar sein, MUSS das Impressum abgeändert
|
||||
werden (templates2/stdstyle/articles/DE/impressum.tpl).</p>
|
||||
<h3>
|
||||
Anlegen der Trigger und Stored Procedures</h3>
|
||||
<p>
|
||||
Zunäst müdie Zugangsdaten fü Benutzer mit SUPER-Privilegien hinterlegt
|
||||
Zunächst müssen die Zugangsdaten für den Benutzer mit SUPER-Privilegien hinterlegt
|
||||
werden. Dazu muss im Datei util/mysql_root/settings-dist.inc.php nach util/mysql_root/settings.inc.php
|
||||
kopiert werden. Die Kopie muss angepasst werden.</p>
|
||||
<p>
|
||||
Anschließn muss doc/sql/stored-proc/maintain.php als CLI-Skript (oder aus dem Browser)
|
||||
Anschließen muss doc/sql/stored-proc/maintain.php als CLI-Skript (oder aus dem Browser)
|
||||
aufgerufen werden.</p>
|
||||
<p>
|
||||
Um zu prüb das Skript erfolgreich ausgefüurde, kann der SQL-Befehl SHOW
|
||||
TRIGGERS und SHOW PROCEDURE STATUS verwendet werden. Beide Befehle mümehere
|
||||
Zeilen zurüen.</p>
|
||||
Um zu prüfen ob das Skript erfolgreich ausgeführt wurde, kann der SQL-Befehl SHOW
|
||||
TRIGGERS und SHOW PROCEDURE STATUS verwendet werden. Beide Befehle müssen mehere
|
||||
Zeilen zurückgeben.</p>
|
||||
<h3>
|
||||
Testen der Installation</h3>
|
||||
<p>
|
||||
@@ -350,21 +352,21 @@ td
|
||||
<h5>
|
||||
Die Seiten werden nur auf Englisch angezeigt</h5>
|
||||
<p>
|
||||
Dann liegt ein Fehler bei gettext vor. Zunäst einmal das Caching abschalten. Dann
|
||||
mit locale -a prüb z.B. de_DE vorhanden ist. Fehlt das, muss es nachinstalliert
|
||||
Dann liegt ein Fehler bei gettext vor. Zunächst einmal das Caching abschalten. Dann
|
||||
mit locale -a prüfen ob z.B. de_DE vorhanden ist. Fehlt das, muss es nachinstalliert
|
||||
werden. Unter Debian z.B. apt-get install locales-all. Danach Apache neu starten!</p>
|
||||
<h5>
|
||||
Das Menü nur auf Englisch angezeigt</h5>
|
||||
Das Menü wird nur auf Englisch angezeigt</h5>
|
||||
<p>
|
||||
Wenn die Inhalte bereits richtig ützt werden, das Menü noch auf Englisch
|
||||
angezeigt wird, muss die Datei cache2/menu-DE.inc.php gelöt werden. Mit dem nästen
|
||||
Aufruf wird diese neu erstellt und dabei mit gettext das Menüsetzt.</p>
|
||||
Wenn die Inhalte bereits richtig übersetzt werden, das Menü aber noch auf Englisch
|
||||
angezeigt wird, muss die Datei cache2/menu-DE.inc.php gelöscht werden. Mit dem nächsten
|
||||
Aufruf wird diese neu erstellt und dabei mit gettext das Menü übersetzt.</p>
|
||||
<h3>
|
||||
Laden der Opencaching-Daten</h3>
|
||||
<p>
|
||||
Damit die Opencaching.de-Daten in die Datenbank gelangen, muss der XML-Client konfiguriert
|
||||
werden. Die dann geladenen Daten kön als Testdaten verwendet werden. Die Installation
|
||||
kann auch in ein anderes Verzeichnis gemacht werden, damit die geäerten Dateien
|
||||
werden. Die dann geladenen Daten können als Testdaten verwendet werden. Die Installation
|
||||
kann auch in ein anderes Verzeichnis gemacht werden, damit die geänderten Dateien
|
||||
nicht vom CVS-Client moniert werden.</p>
|
||||
<p>
|
||||
Voraussetzung ist die "Installation von phpzip"</p>
|
||||
@@ -380,8 +382,8 @@ td
|
||||
<p>
|
||||
3. Die Verzeichnisse tmp und data-files rekursiv mit Schreibrechten versehen.</p>
|
||||
<p>
|
||||
4. Nun noch den Pfad zu dem php-Binary im Header von index.php abäern und der
|
||||
Datei Ausfürechte geben.</p>
|
||||
4. Nun noch den Pfad zu dem php-Binary im Header von index.php abändern und der
|
||||
Datei Ausführungrechte geben.</p>
|
||||
<p>
|
||||
Die Synchronisation kann nun mit ./index.php gestartet werden. Der Start kann ein
|
||||
paar Sekunden dauern, da erst auf dem opencching.de-Server die entsprechenden Daten
|
||||
@@ -395,35 +397,35 @@ td
|
||||
Eigene Zugangsdaten hinterlegen</h3>
|
||||
<p>
|
||||
Damit man selbst auf der Webseite einloggen kann, muss nach dem Laden der Daten
|
||||
von Opencaching.de nur util/ocxml10client/newuser.php aufgerufen und bestägt werden.</p>
|
||||
von Opencaching.de nur util/ocxml10client/newuser.php aufgerufen und bestätigt werden.</p>
|
||||
<h4>
|
||||
Ich bin root und ich darf alles</h4>
|
||||
<p>
|
||||
Füche Funkionen sind admin-Rechte auf der Webseite notwendig. Die kön gesetzt
|
||||
werden, indem in der user-Tabelle der admin-Wert fü entsprechenden Benutzer
|
||||
auf 255 gesetzt wird. Einzelne Admin-Rechte kön aus lib2/logic/const.inc.php
|
||||
Für manche Funkionen sind admin-Rechte auf der Webseite notwendig. Die können gesetzt
|
||||
werden, indem in der user-Tabelle der admin-Wert für den entsprechenden Benutzer
|
||||
auf 255 gesetzt wird. Einzelne Admin-Rechte können aus lib2/logic/const.inc.php
|
||||
entnommen werden (Stand: September 2007: noch in Entwicklung).</p>
|
||||
<h2>
|
||||
Konfiguration von einzelnen Komponenten</h2>
|
||||
<h3>
|
||||
Konfiguration Statistikbilder</h3>
|
||||
<p>
|
||||
Fü Statistikbilder wird benöt:</p>
|
||||
Für die Statistikbilder wird benötigt:</p>
|
||||
<ul>
|
||||
<li>rewrite-Modul des Apache</li>
|
||||
<li>GD-Modul fü</li>
|
||||
<li>GD-Modul für PHP</li>
|
||||
</ul>
|
||||
<p>
|
||||
Konfiguration:</p>
|
||||
<p>
|
||||
1. Schreibrechte füages/statpics</p>
|
||||
1. Schreibrechte für /images/statpics</p>
|
||||
<p>
|
||||
2. Funnktion des PHP-Skript prüocstats.php?userid=1 aufrufen. Statt der userid
|
||||
2. Funnktion des PHP-Skript prüfen: ocstats.php?userid=1 aufrufen. Statt der userid
|
||||
kann eine beliebige andere verwendet werden. Nun muss ein Bild in /images/statpics
|
||||
erstellt werden und auf dieses Weitergeleitet.</p>
|
||||
<p>
|
||||
3. Rewrite-Rule konfigurieren, damit das Bild als statische Datei referenziert werden
|
||||
kann (füen). In der Apache-Konfiguration:</p>
|
||||
kann (für Foren). In der Apache-Konfiguration:</p>
|
||||
<p class="code">
|
||||
<VirtualHost ...><br />
|
||||
...<br />
|
||||
@@ -444,10 +446,10 @@ td
|
||||
ist notwenig, damit das Statistikbild ertellt und aktualisiert werden kann.<h3>
|
||||
Installation Cracklib</h3>
|
||||
<p>
|
||||
Das neue Templatesystem kann prüob Passwör bestimmten Sicherheitsanforderungen
|
||||
genüazu ist eine pecl-Extension fücklib erforderlich. Je nach System fät
|
||||
Das neue Templatesystem kann prüfen, ob Passwörter bestimmten Sicherheitsanforderungen
|
||||
genügt. Dazu ist eine pecl-Extension für cracklib erforderlich. Je nach System fällt
|
||||
die Installation allerdings unterschiedlich aus. Sollte die pecl-Extension nicht
|
||||
verfüsein, wird diese Prünicht durchgefüFüian kann folgendes
|
||||
verfügbar sein, wird diese Prüfung nicht durchgeführt. Für Debian kann folgendes
|
||||
verwendet werden:</p>
|
||||
<p class="code">
|
||||
apt-get install cracklib2<br />
|
||||
@@ -455,10 +457,10 @@ td
|
||||
apt-get install php5-dev<br />
|
||||
</p>
|
||||
<p>
|
||||
Falls nicht als RPM verfü kön auch von http://sourceforge.net/projects/cracklib
|
||||
Falls nicht als RPM verfügbar, können auch von http://sourceforge.net/projects/cracklib
|
||||
die Sourcen verwendet werden.<br />
|
||||
Auf jeden Fall sollte das kleine Wörbuch verwendet werden, da sonst die Passwör
|
||||
benutzerunfreundlich ausfallen mü</p>
|
||||
Auf jeden Fall sollte das kleine Wörterbuch verwendet werden, da sonst die Passwörter
|
||||
benutzerunfreundlich ausfallen müssen.</p>
|
||||
<p class="code">
|
||||
cd /usr/src<br />
|
||||
mkdir crack-0.4<br />
|
||||
@@ -470,18 +472,18 @@ td
|
||||
make<br />
|
||||
copy crack.so to your php-extension directory</p>
|
||||
<p>
|
||||
Wurde die Extension korrekt installiert, schlä eine Registrierung mit dem Passwort
|
||||
Wurde die Extension korrekt installiert, schlägt eine Registrierung mit dem Passwort
|
||||
123456 fehl.</p>
|
||||
<p>
|
||||
In den Cracklib-Sourcen befindet sich auch eine Wörbuchdatei (cracklib-small).
|
||||
Diese kann mit mkdict präriert werden und in der php.ini als Default-Wörbuch
|
||||
In den Cracklib-Sourcen befindet sich auch eine Wörterbuchdatei (cracklib-small).
|
||||
Diese kann mit mkdict präpariert werden und in der php.ini als Default-Wörterbuch
|
||||
hinterlegt werden:</p>
|
||||
<p class="code">
|
||||
[Crack]<br />
|
||||
crack.default_dictionary = "/usr/local/share/cracklib/pw_dict"
|
||||
</p>
|
||||
<p>
|
||||
Weiter Informationen zur cracklib-Konfiguration kön hier gefunden werden:<br />
|
||||
Weiter Informationen zur cracklib-Konfiguration können hier gefunden werden:<br />
|
||||
http://www.php.net/manual/de/function.crack-check.php<br />
|
||||
http://www.phpbar.de/w/PECL<br />
|
||||
http://pecl.php.net/package/crack
|
||||
@@ -490,13 +492,14 @@ td
|
||||
Installation phpzip</h3>
|
||||
<p>
|
||||
Um ZIP, BZ2 und GZIP-Dateien zu erstellen werden die entsprechenden Unix-Programme
|
||||
verwendet. Da diese jedoch nicht den Einschräungen des safe_mode unterliegen,
|
||||
köe damit leicht /etc/passwd oder schlimmeres gezipt und heruntergeladen werden,
|
||||
verwendet. Da diese jedoch nicht den Einschränkungen des safe_mode unterliegen,
|
||||
könnte damit leicht /etc/passwd oder schlimmeres gezipt und heruntergeladen werden,
|
||||
falls in den (Opencaching-)Quellcodes ein Sicherheitsloch ist. Deshalb werden die
|
||||
Programme üinen Wrapper aufgerufen, der die übenen Pfadangaben prü phpzip wird fü XML-Client, das XML-Interface und fü Download von Suchergebnissen
|
||||
benöt.</p>
|
||||
Programme über einen Wrapper aufgerufen, der die übergebenen Pfadangaben prüft.
|
||||
phpzip wird für den XML-Client, das XML-Interface und für den Download von Suchergebnissen
|
||||
benötigt.</p>
|
||||
<p>
|
||||
1. Ein Verzeichnis suchen das nicht üas HTTP erreichbar ist z.B. /srv/www/bin</p>
|
||||
1. Ein Verzeichnis suchen das nicht über das HTTP erreichbar ist z.B. /srv/www/bin</p>
|
||||
<p>
|
||||
2. Die Dateien util/safemode_zip/phpzip.php und util/safemode_zip/phpunzip.php dort
|
||||
hinein kopieren</p>
|
||||
@@ -506,13 +509,13 @@ td
|
||||
4. Dateiberechtigungen auf der Dateien auf 755 setzen, der Webserver darf keinesfalls
|
||||
Schreibberechtigungen besitzen!</p>
|
||||
<p>
|
||||
5. Im Kopf der beiden Dateien den Pfad fü php-Binary setzen (PHP muss mit --enable-cli
|
||||
5. Im Kopf der beiden Dateien den Pfad für das php-Binary setzen (PHP muss mit --enable-cli
|
||||
kompiliert sein). Den Pfad bekommt man mit "which php".<br />
|
||||
Z.B. #!/usr/bin/php -q</p>
|
||||
<p>
|
||||
6. Sicherstellen, dass gzip, bzip2 und zip auf dem System installiert sind</p>
|
||||
<p>
|
||||
7. phpzip.php und phpunzip.php öen und $basedir auf das root-Verzeichnis der
|
||||
7. phpzip.php und phpunzip.php öffnen und $basedir auf das root-Verzeichnis der
|
||||
Opencaching-Quellcodes setzen. Z.B. /var/www/html</p>
|
||||
<p>
|
||||
8. Wird nun phpzip.php aufgerufen mit ./phpzip.php muss die Ausgabe "wrong parameter"
|
||||
@@ -525,9 +528,9 @@ td
|
||||
<h3>
|
||||
Laden der gns-Datenbank</h3>
|
||||
<p>
|
||||
Die GNS-Datenbank enthä Koordinaten füe rund um die Welt und wird fü
|
||||
Suchfunktion verwendet. Auf Opencaching.de sind die Dateien fütschland (GM),
|
||||
Öterreich (AU) und die Schweiz (SZ) geladen.</p>
|
||||
Die GNS-Datenbank enthält Koordinaten für Orte rund um die Welt und wird für die
|
||||
Suchfunktion verwendet. Auf Opencaching.de sind die Dateien für Deutschland (GM),
|
||||
Österreich (AU) und die Schweiz (SZ) geladen.</p>
|
||||
<p>
|
||||
1. Download der Dateien von http://earth-info.nga.mil/gns/html/namefiles.htm nach
|
||||
util/gns</p>
|
||||
@@ -546,7 +549,7 @@ td
|
||||
Damit die Suche nach Ortsnamen zum einen schnell, zum anderen gegen Vertipper resistent
|
||||
ist, wird ein Suchindex aufgebaut (gns_search).<br />
|
||||
Nach dem Laden oder Aktualisieren der GNS-Daten muss dazu "php mksearchindex.php"
|
||||
ausgefüerden.</p>
|
||||
ausgeführt werden.</p>
|
||||
<p>
|
||||
Bleibt der Import-Prozess mit einem Integer + Ortsname stehen, muss der Matching-Algorithmus
|
||||
an die neuen Daten
|
||||
@@ -554,9 +557,9 @@ td
|
||||
<h4>
|
||||
Administrations-Texte aufbauen</h4>
|
||||
<p>
|
||||
Um bei der Ortssuche den Landkreis, Regierungsbezirk und das Land anzeigen zu kön
|
||||
muss der Befehel "php mkadmtxt.php" ausgefüerden. Hierzu muss allerdings er
|
||||
die geodb geladen werden (siehe näster Abschnitt).</p>
|
||||
Um bei der Ortssuche den Landkreis, Regierungsbezirk und das Land anzeigen zu können
|
||||
muss der Befehel "php mkadmtxt.php" ausgeführt werden. Hierzu muss allerdings er
|
||||
die geodb geladen werden (siehe nächster Abschnitt).</p>
|
||||
<h3>
|
||||
Laden der geodb-Datenbank</h3>
|
||||
<p>
|
||||
@@ -576,22 +579,23 @@ td
|
||||
Damit die Suche nach Ortsnamen zum einen schnell, zum anderen gegen Vertipper resistent
|
||||
ist, wird ein Suchindex aufgebaut (geodb_search).<br />
|
||||
Nach dem Laden oder Aktualisieren der geodb-Daten muss dazu "php index.php" im Verzeichnis
|
||||
util/geodb_searchindex ausgefüerden.</p>
|
||||
util/geodb_searchindex ausgeführt werden.</p>
|
||||
<p>
|
||||
Bleibt der Import-Prozess mit einem Integer + Ortsname stehen, muss der Matching-Algorithmus
|
||||
an die neuen Daten angepasst werden, bitte im Forum melden.</p>
|
||||
<h3>
|
||||
Volltext-Suchindex aufbauen</h3>
|
||||
<p>
|
||||
Fü Volltextsuche von Cachebeschreibungen und Logeinträn ist die Tabelle search_index
|
||||
zustäig. Diese wird mit "php util/search_index/fill_search_index.php" inkrementell
|
||||
gefüDie erste Fü dauert allerdings einige Zeit.</p>
|
||||
Für die Volltextsuche von Cachebeschreibungen und Logeinträgen ist die Tabelle search_index
|
||||
zuständig. Diese wird mit "php util/search_index/fill_search_index.php" inkrementell
|
||||
gefüllt. Die erste Füllung dauert allerdings einige Zeit.</p>
|
||||
<h3>
|
||||
cronjob fühe_location einrichten</h3>
|
||||
cronjob für cache_location einrichten</h3>
|
||||
<p>
|
||||
In cache_location wird Land > Regierungsbezirk > Landkreis fü Anzeige
|
||||
gespeichert. Gefüird die Tabelle mit "php util/cron/runcron.php". Üer dieses
|
||||
Skript kön auch weitere Skripte angesteuert werden, die regelmäg ausgefü werden (Unterverzeichnis modules).</p>
|
||||
In cache_location wird Land > Regierungsbezirk > Landkreis für die Anzeige
|
||||
gespeichert. Gefüllt wird die Tabelle mit "php util/cron/runcron.php". Über dieses
|
||||
Skript können auch weitere Skripte angesteuert werden, die regelmäßig ausgeführt
|
||||
werden (Unterverzeichnis modules).</p>
|
||||
<h3>
|
||||
Konfiguration XML-Interface</h3>
|
||||
<p>
|
||||
@@ -600,36 +604,53 @@ td
|
||||
<br />
|
||||
TODO: phpzip-Konfiguration stimmt hier nicht ... falscher basedir!<br />
|
||||
<br />
|
||||
Schreibrechte fünload/zip/ocxml11 fü Webserver-Prozess erteilen.</p>
|
||||
<h2>
|
||||
Üersetzen von neuen Templates</h2>
|
||||
Schreibrechte für download/zip/ocxml11 für den Webserver-Prozess erteilen.</p>
|
||||
<h3>
|
||||
Konfiguration von PROJ.4</h3>
|
||||
<p>
|
||||
Templates werden immer in Englisch geschrieben. Die Üersetzung erfolgt durch translate.php
|
||||
(Adminrechte fü Benutzer erforderlich).<br />
|
||||
PROJ.4 ist eine Bibliothek mit Geografiefunktionen und beinhaltet unter anderem
|
||||
das Programm cs2cs, das wir für die Umrechnung von und in verschiedene Koordinatensysteme
|
||||
verwenden.<br />
|
||||
<br />
|
||||
1. Download der Version 4.5.0 (nicht alle Versionen beinhalten cs2cs) von
|
||||
http://download.osgeo.org/proj/ nach /usr/src und nach /usr/src/PROJ.4 entpacken<br />
|
||||
<br />
|
||||
2. ./configure aufrufen<br />
|
||||
<br />
|
||||
3. make<br />
|
||||
<br />
|
||||
3. make install<br />
|
||||
</p>
|
||||
<h2>
|
||||
Übersetzen von neuen Templates</h2>
|
||||
<p>
|
||||
Templates werden immer in Englisch geschrieben. Die Übersetzung erfolgt durch translate.php
|
||||
(Adminrechte für den Benutzer erforderlich).<br />
|
||||
<br />
|
||||
TODO</p>
|
||||
<h2>
|
||||
Update der Quellcodes</h2>
|
||||
<p>
|
||||
Werden Quellcodes per CVS aktualisiert, sollte immer die CVS-Clientausgabe inspiziert
|
||||
werden. Gibt es Äderungen im Verzeichnis /doc/sql oder /util/ocxml11client mü diese entsprechend nachgepflegt werden.</p>
|
||||
werden. Gibt es Änderungen im Verzeichnis /doc/sql oder /util/ocxml11client müssen
|
||||
diese entsprechend nachgepflegt werden.</p>
|
||||
<h2>
|
||||
Anhang</h2>
|
||||
<h3>
|
||||
PHP-CLI</h3>
|
||||
<p>
|
||||
CLI (Command Line Interface) ist eine Erweiterung von PHP, damit PHP-Skripte wie
|
||||
Bash-Skripte von der Kommandozeile aus aufgerufen werden kön. Entweder muss im
|
||||
Bash-Skripte von der Kommandozeile aus aufgerufen werden können. Entweder muss im
|
||||
Header der Skripte dazu das php-Binary angegeben werden z.B. #!/usr/bin/php -q oder
|
||||
man ruft die PHP mit dem Skript als Argument auf "php skript.php".</p>
|
||||
<p>
|
||||
Vorteil: CLI-Skripte haben kein Timeout. Apache und PHP haben verschiedene (einstellbare)
|
||||
Timeouts, die Skripte mit läeren Laufzeiten (>30 Sek.) behindern.</p>
|
||||
Timeouts, die Skripte mit längeren Laufzeiten (>30 Sek.) behindern.</p>
|
||||
<p>
|
||||
Nachteil: werden CLI-Skripte als cronjob aufgerufen, mürelative Pfade durch
|
||||
Nachteil: werden CLI-Skripte als cronjob aufgerufen, müssen relative Pfade durch
|
||||
absolute Pfade ersetzt werden.</p>
|
||||
<h3>
|
||||
Konfiguration füwicklung</h3>
|
||||
Konfiguration für Entwicklung</h3>
|
||||
<ul>
|
||||
<li>
|
||||
(php.ini) display_errors = true</li>
|
||||
@@ -643,18 +664,18 @@ td
|
||||
<h3>
|
||||
Bearbeiten der Quellcodes</h3>
|
||||
<p>
|
||||
Um die Quellcodes zu bearbeiten ist ein UTF-8 fäger Texteditor zu benutzen. Dies
|
||||
Um die Quellcodes zu bearbeiten ist ein UTF-8 fähiger Texteditor zu benutzen. Dies
|
||||
kann man erkennen, indem in den PHP-Dateien in den ersten Zeilen hinter dem Unicode
|
||||
Reminder japanische Textzeichen zu sehen sind. Sind diese nicht zu erkennen, sollte
|
||||
der Texteditor nicht zur Bearbeitung verwendet werden.</p>
|
||||
<p>
|
||||
Um die Quellcodes korrekt zu speichern, kann in vielen Editoren unter "Speichern
|
||||
unter ..." der Zeichensatz ausgewät werden.<br />
|
||||
Hier ist wichtig, dass Unicode (UTF-8 ohne Signatur) - Codepage 65001 o.äverwendet
|
||||
unter ..." der Zeichensatz ausgewählt werden.<br />
|
||||
Hier ist wichtig, dass Unicode (UTF-8 ohne Signatur) - Codepage 65001 o.ä. verwendet
|
||||
wird.</p>
|
||||
<p>
|
||||
Signatur bedeutet, dass der Editor 3 Bytes zu Beginn der Textdatei schreibt, die
|
||||
die Datei als Unicode-Datei identifizieren. Mit PHP füdiese Bytes jedoch zu
|
||||
die Datei als Unicode-Datei identifizieren. Mit PHP führen diese Bytes jedoch zu
|
||||
falschen Browserausgaben.</p>
|
||||
<p>
|
||||
Wer kein Texteditor hat, kann unter Windows Visual Studio 2005 Express Edition verwenden
|
||||
@@ -664,16 +685,16 @@ td
|
||||
<h3>
|
||||
Neues Skript anlegen</h3>
|
||||
<p>
|
||||
Zuerst muss in der Tabelle sys_menu ein neuer Menüag definiert werden und der
|
||||
(Menühe gelöt werden.</p>
|
||||
Zuerst muss in der Tabelle sys_menu ein neuer Menüeintrag definiert werden und der
|
||||
(Menü-)Cache gelöscht werden.</p>
|
||||
<p>
|
||||
Folgender Header kann dann verwendet werden füe PHP-Dateien verwendet werden:</p>
|
||||
Folgender Header kann dann verwendet werden für neue PHP-Dateien verwendet werden:</p>
|
||||
<p class="code"><?php<br />
|
||||
/***************************************************************************<br />
|
||||
* You can find the license in the docs directory
|
||||
|
||||
*<br />
|
||||
* Unicode Reminder ..
|
||||
* Unicode Reminder メモ
|
||||
|
||||
|
||||
*<br />
|
||||
@@ -699,7 +720,7 @@ td
|
||||
<p>
|
||||
$tpl ist eine Klasse vom Typ OcSmarty, die von Smarty vererbt ist.</p>
|
||||
<p>
|
||||
Üer die Funktionen von Smarty hinaus gibt es folgende (wichtigen) Funktionen:</p>
|
||||
Über die Funktionen von Smarty hinaus gibt es folgende (wichtigen) Funktionen:</p>
|
||||
<p>
|
||||
<table>
|
||||
<tr>
|
||||
@@ -713,23 +734,23 @@ td
|
||||
error($id)</td>
|
||||
<td style="width: 768px; height: 21px">
|
||||
Zeigt ein Template mit der Fehlermeldung an. $id ist eine Konstant die in lib2/error.inc.php
|
||||
definiert ist. In /template2/design/error.tpl muss der Text fü Fehlermeldung
|
||||
definiert ist. In /template2/design/error.tpl muss der Text für die Fehlermeldung
|
||||
definiert sein.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 198px">
|
||||
redirect($page)</td>
|
||||
<td style="width: 768px">
|
||||
Leitet den Browser an das angegebene Skript weiter und beendet die Skriptausfü.<br />
|
||||
Leitet den Browser an das angegebene Skript weiter und beendet die Skriptausführung.<br />
|
||||
Kann ein absoluter oder relativer Pfad (zum Quellcode-Basisverzeichnis) sein.<br />
|
||||
Paramter müurlencode() codiert sein.<br />
|
||||
Paramter müssen urlencode() codiert sein.<br />
|
||||
Beispiel: $tpl->redirect('viewcache.php?wp=' . urlencode($wp));</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 198px; height: 21px">
|
||||
assign_rs($name, $rs)</td>
|
||||
<td style="width: 768px; height: 21px">
|
||||
Erstellt ein 2-Dimensionales Array in das alle Datensäe des Recordset $rs gespeichert
|
||||
Erstellt ein 2-Dimensionales Array in das alle Datensätze des Recordset $rs gespeichert
|
||||
werden und weist der Smarty-Variable $name dieses Array zu.</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -772,24 +793,24 @@ td
|
||||
<td style="width: 197px">
|
||||
$popup</td>
|
||||
<td style="width: 769px">
|
||||
Ist popup=false, wird die Menütur usw. nicht angezeigt.<br />
|
||||
Ist popup=false, wird die Menüstruktur usw. nicht angezeigt.<br />
|
||||
Beispiel siehe "weitere Koodinatensysteme" auf viewcache.php</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 197px">
|
||||
$target</td>
|
||||
<td style="width: 769px">
|
||||
Ziel fü Login. Wird üerweise automatisch gesetzt.</td>
|
||||
Ziel für den Login. Wird üblicherweise automatisch gesetzt.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</p>
|
||||
<h3>
|
||||
SQL-Abfragen</h3>
|
||||
<p>
|
||||
Alle SQL-Abfragen müdurch die Framework-Funktionen abgesetzt werden. Die Datenbankverbindung
|
||||
Alle SQL-Abfragen müssen durch die Framework-Funktionen abgesetzt werden. Die Datenbankverbindung
|
||||
wird automatisch mit dem ersten SQL-Befehl aufgebaut.</p>
|
||||
<p>
|
||||
Wichtige Funktionen (vollstäige Liste siehe lib2/db.inc.php):</p>
|
||||
Wichtige Funktionen (vollständige Liste siehe lib2/db.inc.php):</p>
|
||||
<p>
|
||||
<table>
|
||||
<tr>
|
||||
@@ -802,12 +823,12 @@ td
|
||||
<td style="width: 246px">
|
||||
sql($sql, [parameters])</td>
|
||||
<td style="width: 720px">
|
||||
Wrapper füql_query()<br />
|
||||
Wrapper für mysql_query()<br />
|
||||
Parameter werden mit sql_escape() bearbeitet, dadurch sind bei konsquenter Verwendung
|
||||
keine SQL-Injections möch. Parameter kön entweder als Array angegeben werden,
|
||||
keine SQL-Injections möglich. Parameter können entweder als Array angegeben werden,
|
||||
oder als normale Parameter beim Funktionsaufruf.<br />
|
||||
<br />
|
||||
Gibt ein Recordset zurür />
|
||||
Gibt ein Recordset zurück.<br />
|
||||
<br />
|
||||
Aufrufbeispiel:<br />
|
||||
sql("SELECT id FROM table WHERE a='&1' AND b='&2'", 12345, 'abc');</td>
|
||||
@@ -816,9 +837,9 @@ td
|
||||
<td style="width: 246px">
|
||||
sql_value($sql, default, [parameters])</td>
|
||||
<td style="width: 720px">
|
||||
Gleich wie sql(), es wird jedoch nur die erste Zelle der ersten Zeile zurüeben.<br />
|
||||
Gleich wie sql(), es wird jedoch nur die erste Zelle der ersten Zeile zurückgegeben.<br />
|
||||
Default gibt den Wert an, der verwendet wird wenn die erste Zelle NULL ist oder
|
||||
das Ergebnis der Abfrage keine Zeile zurüt.</td>
|
||||
das Ergebnis der Abfrage keine Zeile zurückgibt.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 246px">
|
||||
@@ -830,7 +851,7 @@ td
|
||||
<td style="width: 246px">
|
||||
sql_escape_backtick($value)</td>
|
||||
<td style="width: 720px">
|
||||
Escape fükticks. Kann verwendet werden um Feldname dynamisch zu setzen.<br />
|
||||
Escape für Backticks. Kann verwendet werden um Feldname dynamisch zu setzen.<br />
|
||||
<br />
|
||||
Beispiel:<br />
|
||||
sql("SELECT id FROM table WHERE `" . sql_escape_backtick('a') . "`='&1' AND
|
||||
@@ -840,16 +861,16 @@ td
|
||||
<td style="width: 246px">
|
||||
sql_fetch_assoc($rs)</td>
|
||||
<td style="width: 720px">
|
||||
Wrapper füql_fetch_assoc($rs)</td>
|
||||
Wrapper für mysql_fetch_assoc($rs)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 246px">
|
||||
sql_temp_table($table)</td>
|
||||
<td style="width: 720px">
|
||||
Reserviert einen Namen füe Temporä Tabelle. Wird mysql_pconnect() verwendet
|
||||
Reserviert einen Namen für eine Temporäre Tabelle. Wird mysql_pconnect() verwendet
|
||||
um die Datenbankverbindung aufzubauen (siehe config2/settings.inc.php), werden diese
|
||||
Tabellen korrekt gelöt. Ansonsten besteht die Möchkeit, dass temporä Tabellen
|
||||
üehere Skriptaufrufe existent bleiben.<br />
|
||||
Tabellen korrekt gelöscht. Ansonsten besteht die Möglichkeit, dass temporäre Tabellen
|
||||
über mehere Skriptaufrufe existent bleiben.<br />
|
||||
<br />
|
||||
Beispiel siehe /tops.php</td>
|
||||
</tr>
|
||||
@@ -857,31 +878,31 @@ td
|
||||
<td style="width: 246px">
|
||||
sql_drop_temp_table($table)</td>
|
||||
<td style="width: 720px">
|
||||
Löt die temporä Tabelle</td>
|
||||
Löscht die temporäre Tabelle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 246px">
|
||||
sql_free_result($rs)</td>
|
||||
<td style="width: 720px">
|
||||
Wrapper füql_free_result()</td>
|
||||
Wrapper für mysql_free_result()</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 246px">
|
||||
sql_affected_rows()</td>
|
||||
<td style="width: 720px">
|
||||
Wrapper füql_affected_rows()</td>
|
||||
Wrapper für mysql_affected_rows()</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 246px">
|
||||
sql_insert_id()</td>
|
||||
<td style="width: 720px">
|
||||
Wrapper füql_insert_id()</td>
|
||||
Wrapper für mysql_insert_id()</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 246px">
|
||||
sql_num_rows($rs)</td>
|
||||
<td style="width: 720px">
|
||||
Wrapper füql_num_rows()</td>
|
||||
Wrapper für mysql_num_rows()</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 246px">
|
||||
@@ -931,13 +952,13 @@ td
|
||||
<td style="width: 166px; height: 21px">
|
||||
$cookie</td>
|
||||
<td style="width: 808px; height: 21px">
|
||||
Speichert einen Wert im Cookie. Generell sollten die Cookies so klein wie möch
|
||||
Speichert einen Wert im Cookie. Generell sollten die Cookies so klein wie möglich
|
||||
gehalten werden.<br />
|
||||
<br />
|
||||
Lesen mit get($name, $default='')<br />
|
||||
Setzen mit set($name, $value, $default=null)<br />
|
||||
Löen mit un_set($name)<br />
|
||||
Prüit is_set($name)</td>
|
||||
Löschen mit un_set($name)<br />
|
||||
Prüfen mit is_set($name)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 166px">
|
||||
@@ -945,7 +966,7 @@ td
|
||||
<td style="width: 808px">
|
||||
Aktueller Benutzer<br />
|
||||
<br />
|
||||
$userid gibt die Userid zurüalls nicht eingeloggt ist $userid=0<br />
|
||||
$userid gibt die Userid zurück, falls nicht eingeloggt ist $userid=0<br />
|
||||
$username ist der Benutzername<br />
|
||||
$admin gibt an, welche Admin-Rechte der Benutzer hat.</td>
|
||||
</tr>
|
||||
@@ -953,8 +974,8 @@ td
|
||||
<td style="width: 166px">
|
||||
$translate</td>
|
||||
<td style="width: 808px">
|
||||
Funktion t($value) ützt Strings<br />
|
||||
Wann immer möch direkt in den Templates ützen!<br />
|
||||
Funktion t($value) übersetzt Strings<br />
|
||||
Wann immer möglich direkt in den Templates übersetzen!<br />
|
||||
Nicht im Quellcode!</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -967,16 +988,16 @@ td
|
||||
<h3>
|
||||
Einsatz auf Produktivsystemen</h3>
|
||||
<p>
|
||||
Sollten die Quellcodes auf Produktivsystem eingesetzt werden, sollten einige Sicherheitsmaßahmen
|
||||
Sollten die Quellcodes auf Produktivsystem eingesetzt werden, sollten einige Sicherheitsmaßnahmen
|
||||
beachtet werden. Unter anderen:</p>
|
||||
<ul>
|
||||
<li>safe_mode von PHP aktivieren</li>
|
||||
<li>Lesezugriff füzeichnisse sperren. Unter anderem: doc (insb. doc/sql), doc2,
|
||||
<li>Lesezugriff für Verzeichnisse sperren. Unter anderem: doc (insb. doc/sql), doc2,
|
||||
util (mit Ausnahmen z.B. util/google_earth), util2, cache, cache2 (ohne cache2/captcha),
|
||||
config2, lang, lib (ohne lib/tinymce), lib2, templates2 (wenn das neue Templatesystem
|
||||
config2, lang, lib, lib2, templates2 (wenn das neue Templatesystem
|
||||
fertig ist, wird das Verfahren vereinfacht).</li>
|
||||
<li>$opt['debug'] auf DEBUG_NO setzen</li>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
Reference in New Issue
Block a user