Installation

1. Installation aus den Quellen

mkdir -p ~/projects && cd ~/projects

# Diesen Befehl verwenden, wenn der Server über SSH Key verbunden ist
git clone git@bitbucket.org:locr/poiserver.git PoiServer
# Alternativ Repository Access Token verwenden
git clone https://x-token-auth:{access_token}@bitbucket.org/locr/poiserver.git PoiServer

cd PoiServer
cp .env.example .env # .env Datei nach Bedarf anpassen!

composer install # Für Entwicklungsumgebung

2. Container Service installieren

./scripts/install_service.sh

3. Update script im home-Verzeichnis erstellen

cat <<EOF >~/update_poi_server.sh
#!/usr/bin/env bash

cd ${PWD}
git pull

cd scripts
./update_service.sh
EOF

chmod +x ~/update_poi_server.sh

4. nginx Konfiguration hinzufügen

# Für den Zugriff unter https://<domain.tld>/poi-server/
sudo cp installation_files/nginx/conf.d/poi-server /etc/nginx/conf.d

# für den Zugriff unter einer subdomain => https://pois.<domain.tld>/
sudo cp installation_files/nginx/sites-available/pois.locr.com /etc/nginx/sites-available
sudo ln -s /etc/nginx/sites-available/pois.locr.com /etc/nginx/sites-enabled/

Sicherstellen, dass die folgenden Zeilen in der Datei /etc/nginx/sites-enabled/default vorhanden sind.

server {
    ...
    include conf.d/poi-server;
    ...
}

nginx Konfiguration testen und neustarten

sudo nginx -t
sudo systemctl restart nginx

4.1. Datenbank und Tabellen erstellen

sudo mysql -p --execute="CREATE DATABASE IF NOT EXISTS pois"
sudo mysql -p pois < db/schemas/mysql/pois.sql
sudo mysql -p pois < db/schemas/mysql/constraints.sql

5. Backup einspielen

sudo apt install bzip2

Aktuelle Dateien von Hetzner Storage Box runterladen (pois-db-(<Day>).tar.bz2.enc)

Dateien entschlüsseln, entpacken und in die Datenbank importieren

openssl aes-256-cbc -d -pbkdf2 -in "pois-db-(<Day>).tar.bz2.enc" -out "pois-db-(<Day>).tar.bz2"
tar xjf "pois-db-(<Day>).tar.bz2"
sudo mysql -p pois < pois.sql