MetaGer kann ohne größeren Aufwand auf den meisten Betriebssystemen installiert werden. Diese Anleitung eignet sich besonders, wenn MetaGer weiter entwickelt werden soll.
Hierfür ist es praktisch, wenn man eine lokale Kopie auf dem Rechner hat, die man auch gleichzeitig testen kann.
Möchte man jedoch einen eigenen Server betreiben, so sind die grundlegenen Schritte gleich, allerdings ist in dem Fall der Einsatz eines richtigen Webservers unverzichtbar.
Schritt für Schritt Anleitung für Ubuntu 16.04.1
Die Installation wird hier im Home Verzeichnis durchgeführt. Um die MetaGer Daten woanders zu speichern müssen alle Pfade entsprechend angepasst werden.
Kommandos, die über das Terminal eingegeben werden, wurden entsprechend markiert und fangen mit einem ">" an.
Fork des MetaGer Projekts erstellen
Damit Änderungen gespeichert und hochgeladen werden können, muss an einer Kopie des aktuellen MetaGer Projektes gearbeitet werden. Diese Kopie erhält man durch einen sogenannten "Fork".
Ein Fork ist leicht erstellt. Logge dich mit deinem Account in dieses System ein, oder erstelle einen neuen. Unter https://gitlab.metager3.de/open-source/MetaGer muss nun nur noch auf "Fork" geklickt werden. Nachdem der Fork abgeschlossen ist, wirst du automatisch auf die Startseite deines persönlichen Projektes geleitet.
Direkt neben dem "Fork" Button befindet sich eine Schaltfläche mit der Aufschrift "https" und daneben ein Textfeld. Den Link aus diesem Textfeld kopieren und im Schritt "MetaGer Quelltext" kopieren beim Kommando > git clone <LINK>
einsetzen.
Abhängigkeiten installieren
- Git:
> sudo apt install git
- Composer:
> sudo apt install composer
- Wichtig! Aktuell benutzen wir die PHP-Version 7.2.4:
3.1.> sudo apt install php
3.2.> sudo apt install php-mbstring
3.3> sudo apt install php-dom
3.4> sudo apt install php-xml
3.5> sudo apt install php-zip
3.6> sudo apt install php-curl
3.7> sudo apt install php-gd
3.8> sudo apt install php-sqlite3
- SQLite3:
> sudo apt install sqlite3
- Redis:
> sudo apt install redis-server
- libpng-dev:
> sudo apt install libpng-dev
- NodeJS:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y nodejs
7.1> sudo npm install gulp -g
MetaGer Quelltext kopieren
> cd ~/
> git clone https://gitlab.metager3.de/open-source/MetaGer.git
Abhängigkeiten vom Laravel-Framework auflösen
> cd ~/MetaGer
> composer install
> npm install
Einstellungen für die Entwicklungsumgebung zur Verfügung stellen
Einstellungen für das Framework werden über die Datei ~/MetaGer/.env
zur Verfügung gestellt. Eine ausreichende Konfigurationsdatei wurde bereits mitgeliefert und braucht nur umbenannt werden.
> cp ~/MetaGer/.env.example ~/MetaGer/.env
Ein Application Key muss trotzdem generiert werden:
> php ~/MetaGer/artisan key:generate
Bereitstellen der sumas.xml
Als Meta-Suchmaschine fragen wir hauptsächlich externe Interfaces von Suchmaschinen wie z.B.: Yahoo, Fastbot, etc. ab.
Selbstverständlich dürfen wir die Zugangsdaten zu diesen APIs nicht veröffentlichen, da wir mit jeder Suchmaschine einen eigenen Kooperationsvertrag haben, der nur uns die Nutzung erlaubt.
Nichtsdestotrotz kann jeder Nutzer seine eigenen Verträge (API-Zugänge) manuell eintragen. Die sumas.xml beinhaltet alle erforderlichen Informationen darüber, wie die GET-Request formatiert sein muss, um die Ergebnisse zu erhalten.
Wir kopieren uns eine leere XML-Datei (ohne Suchmaschinen)
> cp ~/MetaGer/config/sumas.xml.example ~/MetaGer/config/sumas.xml
Inbetriebnahme (lokalen Webserver starten)
> php ~/MetaGer/artisan serve
Solange nun die Konsole geöffnet bleibt, haben Sie einen lokalen Webserver an dem Sie entwickeln können. Erreichen können Sie die Webseite über http://localhost:8000
Wichtiger Hinweis
Die lokale Version funktioniert nun zwar, kann aber niemals Ergebnisse finden (Ergebnisseite ohne Suchergebnisse).
Um Suchmaschinen abzufragen wird ein API Zugang für die Suchmaschine benötigt, die eingebaut werden soll.
Wenn eine API zur Verfügung steht und du dich fragst, wie du diese Suchmaschine nun bei dir einbauen kannst, findest du hier eine Anleitung.
Javascript und CSS Dateien bearbeiten
Unsere JavaScript und CSS Dateien werden automatisch zusammen gefasst um Ladezeiten zu minimieren. Dies übernimmt automatisch Gulp für uns.
Sollen also Styles oder JavaScripte verändert werden, so findet ihr alle relevanten Dateien unter ~/MetaGer/resources/assets
Wenn ihr diese Dateien ändert, müssen die Änderungen noch entsprechend übernommen werden.
Wenn ihr einfach eine Konsole nebenher laufen lasst in der ihr folgende Kommandos eingebt, so werden die minimierten und zusammengefassten Dateien automatisch aktualisiert, wenn sich die Dateien im Assets Ordner Ändern:
> cd ~/MetaGer
> npm run watch
Weitere Informationen hierzu findet ihr unter: https://www.laravel.com/docs/5.3/elixir