Installation

1. Vorarbeiten

Wenn etwas von den Standardwerten abweichen soll, dann müssen die Umgebungsvariablen in der ~/.bashrc hinzugefügt/angepasst werden.

export IS_NAME=icon-server # optional
export IS_ICONS_PATH=/var/www/icons # optional
export SERVICE_INI_FILE=/etc/locr/icon-server.ini # optional
export USER_SERVER_INI_FILE=/etc/locr/user-server.ini # optional
export HTPASSWD_FILE=/etc/nginx/.htpasswd # optional

Die Datei /etc/locr/icon-server.ini hat folgendes Grundgerüst und Standardwerte:

[CLIENT]
http_auth_active = false
http_auth_username = 
http_auth_password = 

[DB]
name = icons
username = root
password = 

[DEV]
host = 0.0.0.0
port = 9876

[DIRS]
icons = /var/www/icons

[ENV]
environment = production

1.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/phpiconserver.git PhpIconServer
# Alternativ Repository Access Token verwenden
git clone https://x-token-auth:{access_token}@bitbucket.org/locr/phpiconserver.git PhpIconServer

cd PhpIconServer

Für Entwicklungsumgebung

composer install

2. Container Service installieren

Für Produktivumgebung

./scripts/install_service.sh

Für Entwicklungsumgebung

./scripts/install_service.sh --env=dev

2.1. Update Script im home-Verzeichnis erstellen

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

cd ${PWD}/scripts
./update_service.sh
EOF

chmod +x ~/update_icon_server.sh

2.2. nginx Konfiguration hinzufügen

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

nginx Konfiguration testen und neustarten

sudo nginx -t
sudo systemctl restart nginx

2.3. Datenbank und Tabellen erstellen

mysql -u root -p --execute="CREATE DATABASE IF NOT EXISTS icons"
mysql -u root -p icons < sql/mysql/create_tables.sql

3. Backup einspielen

aktuelle Dateien von Amazon S3 runterladen (Bucket: mapsserver)

icon-files-(<D>).tar.bz2.enc und icons-db-(<D>).tar.bz2.enc

Dateien entschlüsseln

openssl aes-256-cbc -d -pbkdf2 -in "icon-files-(D).tar.bz2.enc" -out "icon-files-(D).tar.bz2" -k <password>
openssl aes-256-cbc -d -pbkdf2 -in "icond-db-(D).tar.bz2.enc" -out "icons-db-(D).tar.bz2" -k <password>

Dateien entpacken

tar xjf "icon-files-(D).tar.bz2"
tar xjf "icons-db-(D).tar.bz2"

Icon Dateien kopieren

sudo cp -rv icons/* /var/www/icons

Rechte der Icon Dateien ändern

sudo chown -R www-data:www-data /var/www/icons/

Datenbank importieren

mysql -u root -p icons < icons.sql