Installation

1. Vorarbeiten

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

[API]
endpoint = http://127.0.0.1:9876/api/ # only, if you want to use a remote user-server!
http_auth = '{"enabled": true, "type": "digest", "username": "{username}", "password": "{secret}"}'

[DB]
type = mysql # (default)
name = users # (default)
username = root # (default)
password = {secret}

[DEV] # development settings
host = 0.0.0.0 # (default)
post = 9876 # (default)

[HTTP_AUTH]
enabled = true # true or false (default)
type = digest # basic (default) or digest
realm = locr UserServer # (default)
users = '[{
    "username": "{username}",
    "password": "{password}",
    "authorization": "{authorization}"
}]' # json formatted array

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

cd PhpUserServer

# für Entwicklungsumgebung
composer install

2. Container Installation

2.1. Image bauen, Container erstellen und starten

# Für Produktivumgebung
./scripts/install_service.sh

# Für Entwicklungsumgebung
./scripts/install_service.sh --env=dev

2.2. Update Script im home-Verzeichnis erstellen

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

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

chmod +x ~/update_user_server.sh

2.3. nginx Konfiguration hinzufügen

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

# für den Zugriff unter einer subdomain => https://users.<domain.tld>/
sudo cp installation_files/nginx/sites-available/users.locr.com /etc/nginx/sites-available
sudo ln -s /etc/nginx/sites-available/users.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/users;
    ...
}

nginx Konfiguration testen und neustarten

sudo nginx -t
sudo systemctl restart nginx