Zum Inhalt

Installation

Für jeden customer gibt es eine Kennung, customer-slug. Im folgenden wird als Beipiel "besenval" als customer-slug verwendet.

Einen neuen customer einrichten

Um einen neuen customer einzurichten benötigt man den Zugang über die Kommandozeile.

config.php in bootstrap/ anlegen

Falls die Umgebung nicht der subdomain entspricht, muss man ein config.php File anlegen, das ein Array $slugArray definiert. Dieses ordnet die URL der Anton-Installation einem den customer zu:

$slugArray = ['besenval.anton' => 'besenval'];

Der key besteht aus hier Subdomain und Domain, der value enthält den customer-slug bzw. das suffix des .env files, das in diesem Fall .env.besenval heisst.

Umgebung anpassen (.env)

Die Umgebungsvariablen werden im .env.besenval im root Verzeichnis der Anton-Installation gespeichert. Weitere Variablen sind dann in der Datenbank in den Settings gespeichert.

Allgemeine Umgebungsvariablen

Beispiel Besenval:

APP_ENV=besenval
APP_URL=http://besenval.anton.ch
APP_DEBUG=false
DEBUGBAR_ENABLED=false
APP_KEY=AppKey
APP_LOG_LEVEL=debug
EMAIL_EXCEPTION_ENABLED=true
SNEAKER_SILENT=true

Datenbank Credentials

DB_HOST=127.0.0.1
DB_DATABASE=datenbankname
DB_USERNAME=username
DB_PASSWORD=passwort

Drivers

CACHE_DRIVER=file
SESSION_DRIVER=database
QUEUE_DRIVER=database

Wichtig

Wichtig: Für die ersten Commands muss der Cache-Driver in .env.besenval auf file gestellt sein:

CACHE_DRIVER=file

Nach der Grundinstallation (bzw. der database migration) sollte dieser Wert zu 'database' geändert werden.

Email

MAIL_DRIVER
MAIL_HOST
MAIL_PORT
MAIL_USERNAME
MAIL_PASSWORD
MAIL_FROM
MAIL_NAME

Es ist einfach, den Email Versand zu testen:

php artisan anton:doctor --all --env kr --mail 'kraenzle@k-r.ch'

Customers Path

Ausserdem kann die Variable CUSTOMER_PATH gesetzt werden (sie muss einen absoluten Pfad enthalten). Ist der CUSTOMER_PATH nicht gesetzt wird im Anton Ordner ein customers Ordner angelegt und verwendet.

Geolokalisierung

Um Geolokalisierung der Orte mit Geonames und Kartendarstellungen von Google Maps zu ermöglichen, müssen folgende Variablen gesetzt sein:

GOOGLE_API_KEY
GEONAMES_USERNAME

Mysql-Datenbank erstellen

Als root anmelden:

mysql -u root -p

Eine leere mysql-db anton_"slug" erstellen.

CREATE DATABASE anton_besenval;

Einen eigenen DB-User erstellen:

CREATE USER 'anton_besenval'@'localhost' IDENTIFIED BY 'user_password';

Ersetze user_password durch das Passwort.

Alle Rechte für diese user einrichten:

GRANT ALL PRIVILEGES ON database_name.* TO 'anton_besenval'@'localhost';
GRANT RELOAD, PROCESS ON *.* to 'anton_besenval'@'localhost';

Grundinstallation

php artisan anton:install -vv --env=besenval

Es laufen nun die nötigen migrations und die Datenbank wird mit den Grunddaten versorgt.

Nun kann im .env.besenval der Cache auf 'database' gesetzt werden.

Datenverzeichnis erstellen

In custumers/slug bzw. customers/besenval werden die Kundendaten gespeichert. Das Verzeichnis inklusive der nötigen Unterverzeichnisse kann einfach mit anton:customdir erstellt werden:

php artisan anton:customdir -vv --create --env=besenval

Nun als root das Verzeichnis schreibbar machen:

chmod -R 775 customers/besenval

Logo kopieren

Falls kein Logo zur Verfügung steht, kann das Antonlogo kopiert werden:

php artisan anton:install --logo -vv --env=besenval

Matomo einbinden

Auf Matomo einloggen http://matomo.anton.ch/. Unter "Alle Websites" eine neue Website hinzufügen.

Auf Matomo einen User mit der entsprechenden Berechtigung einrichten.

In den Anton Settings analytics_id mit der Motomo ID ausfüllen und den analytics_auth_token aus Matomo kopieren.

Configure Supervisor

Als root die Konfigurationsdatei etc/supervisor/supervisor.conf öffnen und einen neuen customer einrichten.

[program:laravel-worker-besenval]
process_name=%(program_name)s_%(process_num)02d
command=%(ENV_SPRVS_PHP)s %(ENV_SPRVS_ANTON)s/artisan queue:work database --tries=3 --timeout=120 --env=besenval
autostart=true
autorestart=true
startretries=10
user=%(ENV_SPRVS_USER)s
numprocs=1
redirect_stderr=true
stdout_logfile=%(ENV_SPRVS_LOG)s/worker-besenval.log

Im selben Verzwichnis dann ein File environment anlegen und die Variablen befüllen:

SPRVS_PHP=
SPRVS_LOG=
SPRVS_USER=
SPRVS_ANTON=

Dann den supervisor als root neu starten:

supervisorctl stop
supervisorctl reread
supervisorctl update
supervisorctl restart