Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • MetaGer MetaGer
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 50
    • Issues 50
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 11
    • Merge requests 11
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • open-source
  • MetaGerMetaGer
  • Wiki
  • betrieb einer metager instanz

betrieb einer metager instanz · Changes

Page history
Updated betrieb einer metager instanz (markdown) authored Sep 21, 2016 by Dominik Hebeler's avatar Dominik Hebeler
Hide whitespace changes
Inline Side-by-side
betrieb-einer-metager-instanz.md
View page @ d68e6127
Dieser Artikel beschreibt, wie Sie MetaGer in einem Web-Server aufsetzen können.
## Abhängigkeiten installieren
* php7
* composer
* sqlite3
* redis-server
## MetaGer auf dem Server installieren
Zunächst müssen natürlich alle notwendigen Dateien auf dem Server installiert und eingerichtet werden.
Befolge bitte hierfür die Anweisungen in [diesem](aufsetzen-einer-metager-entwicklungsumgebung) Artikel.
## Apache installieren und konfigurieren
* Verlinke in der Apache Konfiguration das DocumentRoot auf %ProjectDir%/public/html
......@@ -13,19 +12,6 @@ Dieser Artikel beschreibt, wie Sie MetaGer in einem Web-Server aufsetzen können
## Achtung: /public/google5226881b42059cc5.html
Diese Datei gibt uns Zugriff auf die Webmaster-tools der entsprechenden Seite. Wenn Sie eine MetaGer-Instanz betreiben möchten, empfehlen wir, diese Datei zu entfernen.
## Laravel Framework initialisieren
`cd %ProjectDir%`
`composer install`
`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:
......@@ -34,91 +20,7 @@ Ihr könnt entweder einzelne Worker starten:
Oder ihr installiert euch supervisor ( wie [hier](https://laravel.com/docs/master/queues#supervisor-configuration) 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:
<table>
<tr>
<th>name</th>
<th>value</th>
<th>optional?</th>
</tr>
<tr>
<td>name</td>
<td>eindeutiger name der Suchmaschine</td>
<td>nein</td>
</tr>
<tr>
<td>host</td>
<td>hostname (www.example.com)</td>
<td>nein</td>
</tr>
<tr>
<td>skript</td>
<td>Pfad zum Skript ("/example.php")</td>
<td>nein</td>
</tr>
<tr>
<td>formData</td>
<td>URL-Parameter, die übergeben werden sollen. (`query=&lt;&lt;QUERY&gt;&gt;`; `&lt;&lt;QUERY&gt;&gt;` wird dabei später durch die Sucheingabe ersetzt</td>
<td>nein</td>
</tr>
<tr>
<td>package</td>
<td>Klassenname der Parser-Datei. (example)</td>
<td>nein</td>
</tr>
<tr>
<td>port</td>
<td>Port auf dem die API zuhört (80)</td>
<td>ja</td>
</tr>
<tr>
<td>inputEncoding</td>
<td>Encoding in dem die URL-Parameter übertragen werden (Latin1)</td>
<td>ja</td>
</tr>
<tr>
<td>userSelectable</td>
<td>Soll der Benutzer diese Suchmaschine unter "/settings" auswählen können? [0|1] ( Default: 1)</td>
<td>ja</td>
</tr>
<tr>
<td>displayName</td>
<td>Welcher Name soll auf der Settings-Seite angezeigt werden?</td>
<td>Nein</td>
</tr>
<tr>
<td>type</td>
<td>Gehört diese Suchmaschine zu einem Fokus? [web|bilder|nachrichten|produktsuche]</td>
<td>ja</td>
</tr>
<tr>
<td>engineBoost</td>
<td>Wie hochwertig sind die Ergebnisse dieser Suchmaschine? ( Float 0&lt;Wert )</td>
<td>ja</td>
</tr>
<tr>
<td>homepage</td>
<td>Unter welchem Link ist diese Suchmaschine für die Öffentlichkeit erreichbar. ( https://example.com; wird dem Benutzer unter "/settings" angezeigt) </td>
<td>nein</td>
</tr>
<tr>
<td>additionalHeaders</td>
<td>Zusätzliche HTTP-Header, die an die Suchmaschine übergeben werden. "$#!#$" wird in "\r\n" umgewandelt.</td>
<td>ja</td>
</tr>
<tr>
<td>disabled</td>
<td>Ist diese Suchmaschine deaktiviert? [0|1] (Default: 0)</td>
<td>ja</td>
</tr>
</table>
</sumas>
Bitte beachte auch, dass ihr noch einen Treiber für eure Queue definieren und konigurieren müsst.
Wir benutzen zum Beispiel Redis und haben in der Datei `~/MetaGer/.env` den Parameter `QUEUE_DRIVER=redis` gesetzt.
Mehr Informationen zum System der Queues findet ihr [hier](https://laravel.com/docs/master/queues)
Clone repository
  • Ideen und Vorschläge für MetaGer
  • Setup Metager
  • aufsetzen einer metager entwicklungsumgebung
  • betrieb einer metager instanz
  • einfuhrung in laravel
  • Home
  • howtoticketsystem
  • laravel elixir setup
  • suchmaschinenubersicht
  • sumas xml
  • usability
  • wie funktioniert metager