Skip to content
This repository has been archived by the owner on Apr 12, 2021. It is now read-only.

Anleitung: Den Server einrichten

firesoft-de edited this page Feb 8, 2018 · 15 revisions

Was wird für den Server benötigt?

  • Eine MySQL-Datenbank
  • Eine PHP Installation
  • Ein FTP Zugang

Diese drei Anforderungen werden durch nahezu jedes Webhosting Paket abgedeckt. Preislich sind diese schon für wenige Euro pro Monat erhältlich. Es ist aber auch möglich den Server in einer bestehenden Webseite zu betreiben. In diesem Fall wird aber keine Garantie dafür gegeben, dass es nicht zu Komplikationen mit dem Webseitpaket oder dem CMS kommt!

Anmerkung: Die Reihenfolge in welcher die nachfolgenden Schritte durchgeführt werden, ist grundsätzlich egal.

Die Dateien hochladen

Zum Hochladen der Dateien wird ein FTP Programm benötigt. Empfehlenswert ist das OpenSource FileZilla, jedes andere funktioniert aber genau so gut. Nach dem Verbinden sollte am Besten ein eigenes Unterverzeichnis für die Serverdateien angelegt werden. Natürlich können auch alle Dateien in das root-Verzeichnis gelegt werden, dann ist aber eine Nutzung des Webhostingpakets für eine Webseite aber nicht mehr möglich.

In das erstelle Verzeichnis werden nun alle Dateien aus dem Serververzeichnis im Repo hochgeladen.

Anpassen der Zugangsdaten

Zuallererst muss im Unterordner /config die .htaccess und die .htpasswd Datei angepasst werden. Diese verhindern den Zugriff unbefugter auf die im selben Ordner hinterlegt Datei mit den Zugangsdaten zur Datenbank.

Für die .htaccess Datei benötigten wird den vollständigen Pfad zur .htpasswd Datei. Diesen erhalten wir in dem wir die Datei path.php aufrufen. Der angezeigte Pfad wird an Stelle des Platzhalters /erstepfadebene/zweitepfadebene/drittepfadebene eingetragen.

In der .htpasswd Datei muss nun ein Benutzer und ein Passwort vergeben werden. Diese sollten zufällig gewählt werden, da auf diese Verzeichnis sowieso niemand zugreifen soll und will. Änderungen können auch per FTP gemacht werden. Von daher: Mindestens 20 Zeichen sollten es für Nutzer und Passwort jeweils sein. Diese werden nach dem Schema Nutzer:Gehashtes Passwort eingetragen. Da wir nicht auf das Verzeichnis zugreifen wollen, reicht für das Passwort auch ein nicht gehashter String.

In der Datei access.txt werden nun die Zugangsdaten zur Datenbank eingetragen. Diese sind Server, Host, Datenbankbenutzer und Nutzerpasswort. Der Hoster des Webpakets teilt euch diese Daten mit. Die Daten werden in der genannten Reihenfolge, jeweils in einer eigenen Zeile in der access-Datei hinterlegt.

Die Datenbank einrichten

Automatische Installation

Am einfachsten lässt sich die Datenbank mit dem im git enthaltenen Installationsskript installieren. Um das Skript zu nutzen, muss dieses in den selben Ordner wie die restlichen Skripte kopiert werden. Zum Ausführen des Skriptes wird es einfach per Webbrowser aufgerufen. Nach dem die Installation abgeschlossen ist, empfiehlt es sich das Skript wieder vom Server zu löschen um ungewollte Manipulationen zu vermeiden.

ACHTUNG: Das Installationsskript legt automatisch einen Administrator Account für den Zugriff über den ServerManager an. Es ist dringend zu empfehlen den Nutzernamen und das Passwort zu ändern!

Manuelle Installation

Zur manuellen Installation können die Tabellenkonstruktionsbefehle aus dem Installationsskript entnommen werden.

Die Datenbank füllen

Um der Datenbank Leben einzuhauchen, werden Daten über die Gerätefächer, die Bilder und die Ausrüstungsgegenstände benötigt. Das Anlegen der Daten geht am Leichtesten mittels Excel (oder dem Tabellenprogramm deines Vertrauens). Auch hierfür ist eine Vorlage im Ordner /server/tools zu finden. Die Spalten sollten in Kombination mit den Beispieldaten recht selbsterklärend sein. Ansonsten gibt es hier nochmal eine ausführlichere Beschreibung.

Der einfachste Weg die Daten auf den Server zu bringen ist mittels des ServerManager. Die Zugangsdaten für den durch das Installationsskript erstellten Account lauten:

Nutzername: admin Kennwort: default

Ansonsten stehen noch zwei weitere Wege zur Verfügung, welche nachfolgend beschrieben werden.

Um die Daten von Excel in die SQL Datenbank zu bringen, wird über "Speicher unter" die Exceltabelle als "csv (Trennzeichen-getrennt)" exportiert.

Wenn innerhalb der App in einem der Felder ein " verwendet werden soll, so muss dieses in Excel mittels \ (also zusammengefasst ") escaped werden. Es wird ansonsten Appintern als Steuerzeichen interpretiert. Excel stellt sich allerdings etwas ungeschickt beim Speichern dieser Zeichen in CSV Dateien an. Daher muss die Datei nochmal per Editor geöffnet werden und mittels STRG+H die folgenden Pattern durchgespielt werden:

  • Original """ ersetzen mit "
  • Original "" ersetzen mit "
  • Original ;" ersetzen mit ;

Sobald das geschafft ist, wird die Datei wieder gespeichert. Dabei ist es sehr wichtig, dass diese im UTF-8 Format gespeichert wird. Dies kann über den "Speichern unter" Dialog im Feld "Codierung" eingestellt werden.

Neben diesem manuellen Weg besteht auch die Möglichkeit das mitgelieferte Kommandozeilentool DesktopConverter zu verwenden um die Umwandlung von Excel nach CSV etwas schneller durchzuführen.

Die so erstellt Datei (falls der DesktopConverter verwendet wurde, Dateityp 1) kann dann in der entsprechenden Tabelle der SQL Datenbank mittels des Reiters "Importieren" geladen werden. Die Datei wird mittels "Durchsuchen" Button ausgewählt. Habt ihr in eurer Exceltabelle die oberste Zeile (die Spaltenbezeichnungen) mitexportiert, so müsst ihr bei "Teilweise Import" eine 1 einstellen. Als Format wird "CSV mit LOAD DATA" eingestellt und nun müssen noch die beiden darunterliegenden Textfeldern "Spalten eingeschlossen von:" und "Spalten escaped mit:" überschrieben werden. Dieses Felder müssen leer sein. Abschließend wird mit OK bestätigt und nun sollte das Frontend die Daten importieren. Falls euch nur grüne Flächen angezeigt werden ist alles ok. Falls eine rote Fläche auftaucht ist wahrscheinlich etwas schiefgelaufen.

Falls als Dateityp im Desktopconverter die angepasste CSV (Typ 2) ausgewählt wurde, genügt als Format "CSV". Wenn die Kopfzeile in der Datei enthalten ist, muss nach wie vor bei "Teilweise Import" eine 1 eingestellt sein.

Fertig

Die Servereinrichtung ist damit abgeschlossen. Als Server-URL innerhalb der App verwendet ihr nun eure Domain gefolgt von dem Pfad des Unterordners in dem die Skriptdatei aus dem Repo liegen. Also bspw.: http://example.com/skriptordner. Zu beachten ist, dass bitte kein abschließender Slash (/) verwendet wird.

Abschließender Hinweis

Zwar werden keine sensiblen Daten zwischen Server und Client ausgetauscht, es ist aber dennoch sinnvoll eine gesicherte Verbindung mittels HTTPS einzurichten, zumal in fast allen modernen Hostingpaketen ein SSL Zertifiakt enthalten ist. Wie die Einrichtung geht, erklärt euch euer Anbieter.

Innerhalb der App müsst ihr statt http://example.com/skriptordner ein https:// voranstellen. Die App wird dann versuchen eine sichere Verbindung herzustellen und falls dies nicht möglich ist, als Rückfallebene eine normale HTTP-Verbindung aufbauen.

Anmerkung: Da teilweise Probleme beim Nachverfolgen des Zertifikatpfades durch Android aufgetreten sind, ist momentan (Stand 08.02.2018) die Nutzung von https:// in der App deaktiviert!