Installation
1. Vorarbeiten
sudo apt update
sudo apt upgrade
sudo apt install mariadb-server build-essential libssl-dev pkg-config rustup libclang-dev libffi-dev libgdal-dev libicu-dev nodejs npm texlive-full unzip wget
rustup default stable
Achtung: wenn dieser Dienst auf einem anderen Server als "MapSettings" installiert wird, /etc/locr/map-setting-client.ini
und /etc/locr/poi-client.ini
anlegen und anpassen!
sudo nano /etc/locr/map-setting-client.ini
[SERVER]
http-auth-username = serverconnect
http-auth-password = <myPassword>
sudo nano /etc/locr//etc/locr/poi-client.ini
[SERVER]
http-auth-username = serverconnect
http-auth-password = <myPassword>
Die Datei /etc/locr/finder.ini
hat folgendes Grundgerüst und Standardwerte:
[DB]
name = finder
username = root
password =
[POI]
default-db = default
[VMS2]
access-key =
servers = '["vms2.locr.com"]'
1.1. Installation aus den Quellen
mkdir -p ~/projects && cd ~/projects
# Diesen Befehl verwenden, wenn der Server über SSH Key verbunden ist
git clone --recurse-submodules git@bitbucket.org:locr/finder.git Finder
# Alternativ Repository Access Token verwenden
git clone --recurse-submodules https://x-token-auth:{access_token}@bitbucket.org/locr/finder.git Finder
cd Finder
cp .env.example .env
Nun das DB_PASSWORD
für den MySQL-DB-Benutzer und den VMS2-Zugangsschlüssel VMS2_ACCESS_KEY
in der Datei .env
entsprechend eintragen. Des Weiteren auch die Einträge für LOCR_POI_CLIENT_HTTP_AUTH_USERNAME
und LOCR_POI_CLIENT_HTTP_AUTH_PASSWORD
anpassen.
nano .env
2. Container Service installieren
Für Produktivumgebung
./scripts/install_service.sh
Für Entwicklungsumgebung
composer install && ./scripts/install_service.sh --env=dev
Achtung: wenn docker
statt podman
benutzt wird, sollte composer install
im Container im Verzeichnis /var/www/finder
ausgeführt werden!
2.1. Update Script im home-Verzeichnis erstellen
cat <<EOF >~/update_finder.sh
#!/usr/bin/env bash
cd ${PWD}
git pull
cd scripts
./update_service.sh
EOF
chmod +x ~/update_finder.sh
2.2. nginx Konfiguration hinzufügen
# Für den Zugriff unter https://<domain.tld>/finder/
sudo cp installation_files/nginx/conf.d/finder /etc/nginx/conf.d
# für den Zugriff unter einer subdomain => https://finder.<domain.tld>/
sudo cp installation_files/nginx/sites-available/finder.locr.com /etc/nginx/sites-available
sudo ln -s /etc/nginx/sites-available/finder.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/finder;
...
}
Falls ein Zertifikat für finder.locr.com
ausgestellt wurde, die Konfiguration anpassen!
nginx Konfiguration testen und neustarten
sudo nginx -t
sudo systemctl restart nginx
2.3. Datenbank und Tabellen erstellen
sudo mysql -u root -p
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
sudo mysql -p --execute="CREATE DATABASE IF NOT EXISTS finder"
sudo mysql -p finder < db/schemas/mysql/finder.sql
Damit Zeitzonen in der Datenbank richtig interpretiert werden können muss noch folgendes ausgeführt werden! Siehe: https://mariadb.com/kb/en/mariadb-tzinfo-to-sql/
mariadb-tzinfo-to-sql /usr/share/zoneinfo | mariadb -u root -p mysql
/etc/locr/rds.ini
anlegen und auf den services2.locr.com
verweisen.
sudo nano /etc/locr/rds.ini
[RDS]
# port = 9080
# protocol = http
# ssl_verifyhost = 0
# ssl_verifypeer = false
hostname = services2.locr.com
auth_username = serverconnect
auth_password = <myPassword>
path = rds