Dieser Artikel beschreibt, wie Sie MetaGer in einem Web-Server aufsetzen können.
Abhängigkeiten installieren
- php7
- composer
- sqlite3
- redis-server
Apache installieren und konfigurieren
- Verlinke in der Apache Konfiguration das DocumentRoot auf %ProjectDir%/public/html
- In der Directory Definition für dieses Verzeichnis "AllowOverride all" setzen
Laravel Framework initialisieren
cd %ProjectDir%
composer update
php artisan key:generate
Laravel Framework konfigurieren
- Die Datei ".env" bearbeiten:
- Zugangsdaten zum lokalen Redis-Server eintragen.
-
QUEUE_DRIVER=redis
=> Dies aktiviert die parallele Abarbeitung der Anfragen an die Suchmaschinen - Sqlite-Daten Eintragen => Wenn z.B.:
DB_DATABASE=metager.sqlite
eingetragen wird, sollte eine entsprechende Datenbank under database/metager.sqlite liegen. -
SESSION_DRIVER=array
=> Ansonsten wird vom Framework automatisch ein Session Cookie gesendet -
APP_DEBUG=false
=> Ansonsten sehen eure Benutzer Details von eventuellen Fehlern.
Laravel Worker definieren
Wir verwenden die von Laravel zur Verfügung gestellten Worker um die Abfragen an die Suchdienste parallel abarbeiten zu können.
Ihr könnt entweder einzelne Worker starten:
php artisan queue:listen
bzw php artisan queue:work --sleep=1 --tries=3 --daemon
als daemon
Oder ihr installiert euch supervisor ( wie hier beschrieben), um dafür zu sorgen, dass viele Worker-Prozesse am laufen gehalten werden.
Wie viele Prozesse ihr benötigt, hängt dabei von eurem Traffic ab.
Suchmaschinen definieren
Damit bei einer MetaGer Suche überhaupt etwas passiert, müsst ihr natürlich Zugang zu den Apis von beliebig vielen Suchmaschinen haben.
Diese Zugänge sind in einer XML-Datei abgespeichert und Gruppiert. Die Struktur dieser Datei wird im Folgenden erklärt:
<sumas>
<suma />
</sumas>
Jedes einzelne <suma />
Element benötigt dabei folgende Attribute:
header 1 | header 2 |
---|---|
cell 1 | cell 2 |
cell 3 | cell 4 |
name | value |
------- | ------- |