FOSSGIS/Server/Rules

From OpenStreetMap Wiki
Jump to: navigation, search
Help
Available languages
Deutsch English
It has been suggested that this page be translated into English as well as other pages in Category:Translate from German.


Please help to translate this page to English.

Projects, running on the FOSSGIS-Servern should consider some rules to simplify the cooperation in between the projects and makes the admins job a bit easier. Thies rules are not carved in stone. If a rule doesen't make sense somewhere , talk about it in the Mailing list.

Wichtig bei den Projekten ist, dass sie nicht nur der private Spielplatz einige User sind, sondern mittelfristig auch von der Community gemeinsam getragen werden können. Dazu ist es aber nötig, das auch mehr Leute mitmachen können und dass man sich gegenseitig helfen kann. Das soll durch ein bischen Struktur unterstützt werden.

Contents

File system

Für jedes Projekt wird unter /osm/PROJEKTNAME ein Verzeichnis angelegt. Alle Dateien, die zu diesem Projekt gehören, gehören hier rein. Das gilt auch für Logfiles, Webseiten, usw. Alle Dateien sollten der Gruppe osm zugeteilt sein. Alle Dateien und Verzeichnisse müssen für alle lesbar sein (a+r), schreibbar nur für den User und die Gruppe, nicht für die Allgemeinheit (ug+w, o-w).

Wie ein Projekt sich innerhalb seines Dateisystembereiches organisiert, bleibt dem Projekt überlassen. Auf jeden Fall muss es auf der obersten Ebene eine Datei README geben (siehe unten).

Es empfiehlt sich eine Aufteilung der Dateien zu machen nach solchen, die mehr oder weniger statisch sind und solchen, die sich häufig und automatisiert ändern. Dateien, die sich nur ändern, wenn man sie manuell editiert, sollten in ein Versionsverwaltungssystem (wie Subversion oder Git) eingecheckt werden.

Eine weitere Aufteilung könnte z.B. so aussehen:

Verzeichnis/Datei Bedeutung
/osm/PROJEKTNAME Projekt-Verzeichnis
/osm/PROJEKTNAME/README Projekt-Beschreibung
/osm/PROJEKTNAME/PROJEKTNAME Hier liegen alle Dateien, die aus der Versionsverwaltung ausgecheckt wurden.
/osm/PROJEKTNAME/bin Programme und Skripte
/osm/PROJEKTNAME/log Logdateien
/osm/PROJEKTNAME/web Webseiten
/osm/PROJEKTNAME/tmp Temporäre Dateien
/osm/PROJEKTNAME/download Verzeichnis für den Download-Server (siehe unten)

Wenn, wie empfohlen, eine Versionsverwaltung verwendet wird, dann können Dateien wie README und Verzeichnisse wie bin auch in diesen Bereich verlinkt werden.

Wenn man nur "mal eben" privat etwas testen will, was zu keinem Projekt gehört, dann gehören die passenden Dateien dazu ins eigene Home-Verzeichnis.

In der Regel werden außerhalb von /osm und /home sonst keine Dateien angelegt, z.B. auch nicht in /usr/local. Ausnahmen gibt es, wenn das System bestimmte Dateien an bestimmten Orten erwartet. Das können sein:

Ansonsten sollte das Projekt ohne "externe" Dateien auskommen, insbesondere sollte es nicht von Dateien in dem Home-Verzeichnissen einzelner User abhängen.

Databases

Auf allen FOSSGIS-Servern gibt es eine PostgreSQL-Datenbank und, wenn nötig, auch eine MySQL. Die Server werden von verschiedenen Projekten gemeinsam benutzt. Projekte sollten bevorzugt die PostgreSQL verwenden, weil sie mit der PostGIS-Erweiterung geographische Daten besser unterstützt als die MySQL. Wenn Software aber besser mit der MySQL läuft, geht das auch.

Auf Anfrage an die Admins, bekommt ihr Accounts für den gewünschte Datenbank-Server eingerichtet. Datenbanken darin könnt ihr dann selbst einrichten. Sie sollten nach dem Projektnamen heißen. Wenn ihr mehrere Datenbanken braucht, dann sollten sie mit den Projektnamen anfangen. Testdatenbanken, die nicht länger leben müssen, sollten mit test_ anfangen.

Software

Projekte sollten alle benötigte Software in genau der Version, die sie brauchen, in ihrem eigenen Verzeichnis installieren. Ausnahme ist Standard-Software, die vom Admin auf Anfrage per apt-get install installiert wird. Software, die von verschiedenen Projekten genutzt wird, wie z.B. Osmosis, sollte trotzdem von jedem Projekt selbst installiert werden, weil sonst keiner sein Projekt updaten kann, ohne auf andere Rücksicht zu nehmen.

README

Jedes Projekt muss unter /osm/PROJEKTNAME/README einige Dinge über das Projekt beschreiben:

Das README ist vorallem für Admins und andere auf dem Server gedacht, um sich schnell einen Überblick zu verschaffen, was da so läuft und wo man ggf. eingreifen kann, wenn etwas schiefgeht und niemand erreichbar ist, der sich mit dem Projekt auskennt.

Domain

Für Projekte, die eine eigene Webseite haben, wird ein Domainname/Rechnername PROJEKTNAME.openstreetmap.de von den Admins eingerichtet. Darunter ist das Projekt dann zu erreichen. Durch den eigenen Domainnamen ist es ggf. leichter, das Projekt auf einen anderen Rechner umzuziehen. (Ausnahme siehe "Download-Server" unten.)

Derzeit gibt es noch einige Projekte, die unter dev.openstreetmap.de/PROJEKTNAME erreichbar sind. Das soll mittelfristig umgestellt werden.

Download-Server

Viele Projekt generieren sehr große Dateien und bieten die zum Download an (z.B. Garmin-Karten und dergl.). Diese Dateien sollten nicht auf den "normalen" Webserver des Projektes, sondern auf dem Download-Server abgelegt werden. Damit wird es einfacher, diese Dateien zu mirrorn (also auf andere Server zu kopieren, von denen die User die Dateien dann runterladen können).

Um die Dateien über den Download-Server zugreifbar zu machen, werden sie im Verzeichnis /osm/PROJEKTNAME/download abgelegt. Dieses Verzeichnis wird dann von /osm/download/web/PROJEKTNAME verlinkt.

Der Download-Server ist unter download.openstreetmap.de zu erreichen.

Infrasctructure

Manchmal gibt es Dinge, die man für mehrere Projekte braucht und nicht doppelt machen will, z.B. die Bereitstellung von aktuellen Planet-Extrakten. Sowas wird dann als "Infrastrukturprojekt" eingestuft und quasi wie jedes andere Projekt auch behandelt. D.h. es bekommt ein Unterverzeichnis in /osm usw.

Personal tools
Namespaces
Variants
Actions
site
Toolbox