System-Administration¶
Einige Anpassungen und Kommandos benötigen die Arbeit in der Systemumgebung des Rechners. Metador bietet einige Befehle an, die für diese Arbeiten genutzt werden können.
app/console Allgemein¶
Im Metador Installationsverzeichnis liegt im Unterordner app
der
console Befehl, der einige Symfony und Doctrine Befehle aber auch
Metador spezifische Befehle ausführt. Diese sind in PHP implementiert,
so dass diese Konsolenbefehle letztenendes PHP Logik ausführen.
Der Befehl wird immer mit app/console
ausgeführt, also dem
Verzeichnisnamen app
und dem Befehl console
. Wird der Befehl
ohne Parameter ausgeführt, listet er die möglichen Befehle.
Eine gekürzte Ausgabe sieht wie folgt aus:
/srv/metador2 $ app/console
Symfony version 2.8.8 - app/dev/debug
Usage:
command [options] [arguments]
Options:
[...]
Available commands:
help Displays help for a command
list Lists commands
assets
assets:install Installs bundles web assets under a [...]
doctrine
[...]
doctrine:database:create Creates the configured database
[...]
doctrine:schema:update Executes (or dumps) the SQL needed to update the database schema to match the current mapping metadata.
[...]
metador
metador:disable:plugin Disable plugin
metador:dump:helptext Export helptext into twig file.
metador:enable:plugin Enable plugin
metador:export:helptext Export helptext.
metador:health-check Determine the health of the application
metador:import:helptext Import helptext.
metador:init:database Create system groups and user
metador:list:plugins Lists all available plugins
metador:reset:plugins Uninstall all plugins
metador:reset:superuser Create new password for root user
metador:taskmanager:run Runs the Taskmanager
[...]
Die Metador-spezifischen Kommandos sind im Unterpunkt „metador“ verfügbar und werden in den folgenden Abschnitten erläutert.
Das Passwort des Superusers zurücksetzen¶
Um das Passwort des Administrators in Metador zurückzusetzen nimmt man
den Befehl metador:reset:superuser
. Der Befehl setzt das Passwort
des Superusers zurück, falls man es vergessen haben sollte.
/srv/metador2$ app/console metador:reset:superuser
User : root
Password : 5yHYdCXxUe
Plugin-Kontrolle auf der Konsole¶
Mit den Befehlen metador:list:plugins
, metador:enable:plugin
und
metador:disable:plugin
können die Metador Plugins aufgelistet,
aktiviert und deaktiviert werden.
Der Befehl metador:list:plugins
listet die einzelnen Metador-Plugins
auf, deren Status und deren Herkunft.
/srv/metador2 $ app/console metador:list:plugins
Plugins
=======
+------------------------------+--------------------+---------+--------------------------------------------------------------+
| Key | Name | Enabled | Description |
+------------------------------+--------------------+---------+--------------------------------------------------------------+
| metador-helptext | Hilfetexte | yes | Schreiben und abrufen von Hilfetexten |
| metador-address | Adressen | yes | Legt automatisch Adressen in der Datenbank ab |
| lvermgeo-theme | LVermGeo Theme | no | LVermGeo Theme |
| metador-import | Import | yes | Ermöglicht das importieren von Metadaten |
| metador-inspire-validator | Inspire Validator | no | ... |
| metador-logging | Logging | yes | Logging Bundle für Metador |
| metador-map | Karte | no | Einfache Karte zum Anzeigen von Geometadaten für Metador 2.1 |
| metador-publish | Veröffentlichen | yes | Metadaten Veröffentlichen |
| profile-dataset | Daten | yes | Metadatenprofil für Daten |
| profile-lvermgeo-dataseries | Dataseries Profile | no | Metadatenprofil für Datenreihe |
| profile-lvermgeo-dataset | Dataset Profile | no | Metadatenprofil für Datensätze |
| profile-lvermgeo-service | Service Profile | no | Metadatenprofil für Dienste |
| profile-lvermgeo-tile | Tile Profile | no | Metadatenprofil für Tiles |
| profile-service | Dienste | yes | Metadatenprofil für Dienste |
| wheregroup-catalogue-service | Catalogue Service | yes | Catalogue Service |
+------------------------------+--------------------+---------+--------------------------------------------------------------+
Die Befehle metador:enable:plugin
und metador:disable:plugin
aktivieren bzw. deaktieren ein Plugin. Hier am Beispiel des Plugins
Hilfetexte, das zuerst deaktiviert und dann wieder aktiviert wird. Es
wird dabei immer der „Key“ als Parameter übergeben.
Deaktivieren eines Plugins:
/srv/metador2 $ app/console metador:disable:plugin metador-helptext
Plugin deaktivieren
===================
[OK] Erfolgreich abgeschlossen
Aktivieren eines Plugins:
/srv/metador/lvermgeo_mis/metador2 $ app/console metador:enable:plugin metador-helptext
Plugin aktivieren
=================
[OK] Erfolgreich abgeschlossen
Hilfetexte exportieren und importieren.¶
Mit den Befehlen metador:import:helptext
und
metador:export:helptext
werden die Hilfetexte zu den einzelnen
Formularelementen in eine Datei exportiert bzw. können aus einer Datei
importiert werden.
Dabei wird beim Exportieren mit dem Parameter -f
die Datei
angegeben, in die exportiert werden soll.
/srv/metador2 $ app/console metador:export:helptext -f helptext.json
File saved to "helptext.json".
Ebenso wird beim Import der Hilfetexte verfahren:
/srv/metador2 $ app/console metador:import:helptext -f helptext.json
Import done.
TaskManager¶
Der TaskManager wurde erstellt um Aufgaben im Hintergrund ausführen zu können. Dazu gehören unter Anderem der Export des Logbuchs oder die Prüfung der Datenkonsistenz. Plugins können sich in den TaskManager reinhängen.
Angestoßen wird der TaskManager per cronjob, der im Grunde
app/console metador:taskmanager:run
ausführt.
Der Taskmanager legt eine Datei TASKMANAGER.LOCK
im Verzeichnis var/config
an. Zeigt das Logging die Meldung: „Taskmanager kann nicht gestartet werden.“ überprüfen Sie bitte, ob diese LOCK-Datei vorhanden ist und löschen Sie diese. Dies kann in seltenen Fällen bei einem Systemfehler vorkommen. Der Administor bekommt eine Mail bei diesem Fehler.
Die initialen Import-Befehle aus dem Archiv können einige Zeit in Anspruch nehmen. Daher sollte man bei der initialen Befüllung die PHP Parameter max_execution_time
und memory_limit
hochsetzen. Die Parameter finden sich in der php.ini Datei des Apache Webservers (z.B. /etc/php/7.0/apache2/php.ini
):
max_execution_time = 300
memory_limit = 128M
Export der Logging-Informationen¶
Um die Logging-Informationen in eine Textdatei zu exportieren, dient der folgende Befehl.
bin/console metador:dump:logs --delete --older-than 1 ./
Dabei bedeuten die Parameter:
- –delete: Bewirkt, dass exportierte Logs in der Datenbank gelöscht werden.
- –older-than n: Bewirkt, dass nur Logs älter als n Monate exportiert werden.
- ./: Der Pfad, in den die Logdatei hingelegt werden soll. In diesen Beispiel der gleiche Ordner.
Health Check¶
Der Health Check ist ein kleines Tool, das ähnlich der Startseite der Metador Administration Konfigurations- oder Einrichtungsfehler im System auflistet. Das können z.B. fehlende Schreibrechte des Webserver-Benutzers auf ein bestimmtes Verzeichnis sein.
/srv/metador2 $ app/console metador:health-check
Health-Check
============
[OK] Es scheint alles in Ordnung zu sein :)
Das System in den Wartungszustand versetzen¶
Der System-Administrator kann über einen Befehl das System in den Wartungszustand versetzen. In dieser Zeit sind keine Editierungen mehr möglich und die Schnittstellen sind nicht verfügbar.
Der Befehl zur Einschaltung des Wartungsmodus lautet metador:stop
.
/srv/metador2 $ app/console metador:stop
Stop application
================
[OK] Anwendung befindet sich nun im Wartungsmodus.
In der Zeit des Wartungsmodus, wird eine andere Webseite dargestellt.
Die Wartungsseite lässt sich durch einen Parameter in der
parameters.yml
austauschen und verweist per Voreinstellung auf die
Seite web/wartung.html.
# app/config/parameters.yml
parameters:
maintenance_file: '%kernel.root_dir%/../web/wartung.html'
Der Befehl zum Beenden des Wartungsmodus lautet metador:start
.
/srv/metador2 $ app/console metador:start
Start application
=================
[OK] Anwendung ist wieder erreichbar.
Synchronisierungsbefehle in der Kommandozeile¶
Mit dem Befehl
bin/console lvermgeo:sync
kann der Synchronisierungsbefehl per Hand angestoßen werden. Es werden die Konfigurationen aus dem Einstellungen zur Schnittstelle externes System übernommen.
In dieser Beispielausgabe merkt Metador, dass im externen System die Sourcen intern, extern, etc. fehlen und legt diese an.
Anpassungen der Größe des erlaubten Dateiuploads¶
Für die Kartenkomponente ist ein Dateiupload von Shape-Dateien möglich.
Die maximale Größe des Dateiuploads ist eine PHP-spezifische
Einstellung. Diese muss in der php.ini des Webbereiches (unter Linux
gewöhnlich im Apache-Zweig der PHP-Einstellungen, also z.B.
/etc/php/7.0/apache2/php.ini
) vorgenommen werden.
upload_max_filesize = 40M
post_max_size = 40M
In diesem Beispiel wäre die maximale Größe auf 40 MB eingestellt.