P2P-Tutorial – #YaCy und HTTPS: Die sichere Suchmaschine!

Last Updated on 7 Jahren by TmoWizard

Werte Leserinnen und Leser,

YaCy Logoes gibt mal wieder ein Tutorial von mir! Ich muß euch jedoch vorwarnen, denn jetzt geht es richtig an’s Eingemachte. Wie es der Titel schon sagt geht es wieder einmal um die P2P-Suchmaschine YaCy, aber diesmal um das Einrichten inklusive einer per SSH verschlüsselten HTTPS-Verbindung! Die Schwierigkeiten dabei beginnen gleich am Anfang, denn man muß dazu eine weitreichende Entscheidung treffen. Außerdem möchte ich darauf hinweisen, daß ich das Tutorial später noch bebildern werde. Derzeit habe ich jedoch hier auf dem Blog technische Probleme, welche ich erst noch beheben muß! :motzrot:

Ich habe mich zu diesem Tutorial entschieden, da die bisher im Internet vorhandenen Anleitungen dazu meiner Ansicht nach nichts taugen und zum großen Teil auch einfach zu kompliziert sind. Die haben da bei YaCy zwar auch eine eigene Wiki, diese läßt jedoch stark zu wünschen übrig! Wie üblich denken viele solcher Autoren nicht an den einfachen Anwender bzw. Nutzer, so das man hiermit einfach nichts anfangen kann.

 

Der SSH-Server!

Hier bestehen zwei Möglichkeiten:

  1. Ihr verwendet euren normalen Arbeits-PC oder
  2. ihr besorgt euch einen guten Gebrauchten.

Wenn ihr Windows verwendet und euch für Punkt 1 entschieden habt, dann ist das Tutorial für euch auch schon zu Ende! Mit der Installation eines SSH-Servers unter Windows kenne ich mich nicht aus und kann das auch gar nicht testen, das hat sich soweit also schon erledigt. Es geht irgendwie, aber dazu gleich mehr!

Wenn ihr Linux verwendet und euch für Punkt 1 entschieden habt, dann ist das eure Sache. Es gilt aber für Windows und Linux folgendes für Punkt 1:

Eine Suchmaschine benötigt eine Menge Platz und Power, damit sie vernünftig arbeiten kann! Dieser Platz und die hohe CPU-Last würdet ihr nach kürzester Zeit verfluchen, das kann ich euch aus eigener Erfahrung versichern. Aus dem Grund steht klar fest, daß nur Punkt 2 übrig bleibt. Bisherige Erfahrungen ergeben hierbei folgendes Minimal-System, damit die Suche mit YaCy auch Spaß macht:

  • AMD Athlon 64 3800+ oder vergleichbarer Prozessor mit 2,4 GHz
  • 4 GB RAM
  • 500 GB Festplatte (zur Not genügen wie bei mir auch 320 GB)

Wie geschrieben ist das zum vernünftigen Arbeiten mit YaCy das absolute Minimum, dabei darf aber auf diesem Rechner nichts anderes mehr laufen außer eben der SSH-Server und für YaCy noch Java! Um YaCy auf dem normalen Arbeits-PC zu verwenden muß das schon ein ziemliches High-End-Gerät der Oberklasse sein, sonst hat das keinen Zweck. Es gilt hier tatsächlich die Regel „je mehr desto besser“!

..

.

Gut, ihr lest hier weiter! Das bedeutet also, daß ihr euch für Punkt 2 entschieden habt. :mrgreen: Dann gleich nochmal der Hinweis, daß ich hier von Linux/Debian/Ubuntu ausgehe! Ich bevorzuge Ubuntu, aber bei anderen Debian-Derivaten ist die Vorgehensweise ja ungefähr gleich. Mit einem Windows-Server kenne ich mich nicht aus, den darf euch dann jemand anderer installieren!

Als Erstes müßt ihr natürlich den eigentlichen Server installieren, ich habe hier Ubuntu-Server 16.04.2 LTS entschieden, da hier der Support bis April 2021 geht! Ich erkläre aber auch für 14.04 LTS, da dieses bis April 2019 ebenfalls noch supportet wird. Es gibt da nur einen kleinen Unterschied, aber dazu später mehr. Die Installation von Ubuntu-Server erkläre ich hier übrigens nicht, denn die läuft ungefähr so ab wie jede andere Installation von Ubuntu auch, nur eben ohne graphische Oberfläche!

Ich gehe hier also von einem bereits funktionsfähigen Ubuntu-Server aus, auf dem nur das absolute Minimum installiert ist! Somit können wir jetzt den SSH-Server installieren, was mit diesem Befehl getan ist:

  • sudo apt-get install openssh-server

Das sollte ja mit jedem Debian-Derivat funktionieren. Nun kann man diesen SSH-Server mit folgendem Befehl noch konfigurieren:

  • sudo nano /etc/ssh/sshd_config

und dann mit

  • sudo reload ssh

neu starten, aber in unserem Fall ist die Konfiguration nicht notwendig. Als nächstes benötigen wir nun Java, besser gesagt einen kleinen Teil davon!

 

Eine Insel namens Java!

Als Anhänger von Open-Source bevorzuge ich hier die freie Variante OpenJDK, natürlich in der aktuellen Version 8. Es gibt zwar bereits Version 9, jedoch befindet sich diese noch in der Entwicklung und hat somit nichts auf einem produktiven System verloren!

Nun kommt es hier auf euer System an, welchen Weg ihr gehen müßt. Für mein System (Ubuntu 16.04) muß die Paketquelle universe freigegeben sein, dann ist das Ding mit folgendem Befehl erledigt:

sudo apt-get install openjdk-8-jre-headless

Solltet ihr euch jedoch aus welchen Gründen auch immer für Ubuntu 14.04 entschieden haben, dann benötigt ihr nun leider ein PPA! Da ist die Tipparbeit etwas mehr, aber es hält sich in Grenzen:

sudo add-apt-repository ppa:openjdk-r/ppa && sudo apt-get update && sudo apt-get install openjdk-8-jre-headless

 :oops: Ein technisches Problem hier auf dem Blog: Hier sollte kein Smilie zu sehen sein, sondern ein : gefolgt von einem o! Also ppa: direkt gefolgt von openjdk-r/ppa! Ich muß da mal nachsehen, was da an meinen Einstellungen falsch ist! :oops:

Somit hätten wir das auch erledigt, also kommt als nächstes natürlich YaCy selbst an die Reihe!

 

Die P2P-Suchmaschine YaCy!

Hier gibt es mehrere Möglichkeiten, ich zeige euch hier die sichere Variante über die entsprechende Paketquelle. Die Befehle dazu fasse ich nun nicht zusammen, sonst wird das zu unübersichtlich! Los geht’s:

  • echo ‚deb http://debian.yacy.net ./‘ | sudo tee /etc/apt/sources.list.d/yacy.list
  • sudo apt-key advanced –keyserver pgp.net.nz –recv-keys 03D886E7
  • sudo apt-get update
  • sudo apt-get install yacy

Bei der Installation von YaCy werden euch zur Grundkonfiguration eventuell ein paar Fragen gestellt, aber das könnt ihr alles so stehen lassen. Das werden wird dann auf dem entsprechenden Arbeitsplatz-PC im Browser erledigen, das geht einfacher und somit haben wird den YaCy-Server fertig installiert! Jetzt brauche wir noch die IP-Adresse des Servers, dazu nehmen wir das folgende kurze Wörtchen:

  • ifconfig

Bei mir wäre das die „192.168.178.41“, welche man sich merken sollte. Ich habe es da einfach, denn der Server steht ja gleich neben mir! :mrgreen:

 

Die Konfiguration!

Nun geht es auf dem „normalen“ PC weiter, der Router muß konfiguriert werden! Problem: Ich habe hier natürlich nur den einen, nämlich eine FRITZ!Box Fon WLAN 7570 vDSL. Es muß nämlich eine Freigabe eingerichtet werden, sonst geht da wenig bis gar nichts mit YaCy! Ihr müßt euch also jetzt in euren Router einloggen und schauen, wo und wie man dort Ports freigeben kann.

Bei einer FRITZ!Box gebt ihr dazu in die Adreßzeile eures Browsers einfach http://fritz.box (sollte auch mit https:// gehen!) ein, dort werdet ihr dann nach dem entsprechenden Paßwort gefragt. Wenn ihr blöde wart, dann müßt ihr dazu nur auf der Rückseite eurer FRITZ!Box nachsehen oder ihr sucht euer Modell im Internet, dort findet ihr das Ding eventuell ebenfalls! Das gilt übrigens für fast alle Router, nicht nur einige Geräte von AVM!

Ansonsten gebt ihr das von euch gewählte Paßwort ein, dann geht ihr auf „Internet“ und wählt den Punkt „Freigaben“. Hier klickt ihr auf den Button „Neue Portfreigabe“, es erscheint dann ein Menü.

Hier wählt ihr nun „Andere Anwendungen“, sonst wird das nichts. Es folgt ein aussagekräftiger Name, den ihr natürlich selbst wählen solltet. Das Protokoll muß TCP sein, das ist wichtig! Dann schreibt ihr überall bei „Port“ den Wert 8443 rein, aber wirklich überall! Bei „an Computer“ wählt ihr nun eben den YaCy-Server aus, also die von oben bekannte IP-Adresse. Das Ganze müßt ihr noch übernehmen und dürft das Theater dann für den Port 8090 wiederholen. Nebenbei schaltet ihr auch noch „UPnP“ aus, denn der Rotz kann gefährlich werden und man benötigt den Scheiß auch gar nicht! Jetzt könnt ihr euch aus der FRITZ!Box wieder ausloggen, da wir hier nun fertig sind.

 

Jetzt geht es direkt in YaCy weiter, wobei hier nicht viel zu tun ist. Ihr gebt jetzt in der Adreßzeile eures Browsers http://[DIE-IP-ADRESSE]:8090 ein, damit solltet ihr auf euer YaCy-Suchfeld kommen! Hier angekommen seht ihr rechts oben den Button „Administration“, auf diesen müßt ihr jetzt klicken …

HUCH, alles englisch!

Ihr müßt nun auf der linken Seite den obersten Punkt anwählen, dann werdet ihr erst mal nach dem Benutzernamen und dem Paßwort gefragt. Da wir ja bei der Installation nichts geändert haben ist dieser Nutzername ganz einfach admin und das Paßwort bleibt leer! Auf dem nun erscheinenden Bildschirm wählt ihr nun falls vorhanden bei Punkt 1 die von euch gewünschte Sprache aus, dann ganz unten den blauen Button zum Speichern anklicken und die Einstellung wird sofort übernommen, man tut sich dadurch viel leichter! 8-)

Bei Punkt 2 wählt ihr die erste Option, bei Punkt 3 gebt ihr eurer Suchmaschine einen netten Namen, bei Punkt 4 setzt ihr den Haken bei „mit SSL“ und bei „UPnP“ nehmt ihr ihn raus! Nochmal den blauen Button unten zum Speichern klicken, dann kommt der Rest.

Oben wählt ihr nun den Punkt „Benutzerverwaltung“, dort angekommen bei „Admin Konto“  die zweite Option, dann gebt ihr euch einen Nutzernamen und setzt ein entsprechendes Paßwort. Jetzt auf „Admin festlegen“ klicken, dann sind wir hier auch durch.

Linker Hand geht es nun bei „RAM+Disk Belegung & Updates“ weiter, hier kommt es nun auf euren Rechner an! Beim ganz oben genannten Minimalsystem haben sich folgende Werte bewährt:

  • Für JVM reservierter Speicher: 3072 MByte (gleich auf „setzen“ klicken!)
  • Nun der Reihenfolgen nach 4096, 2048, 50

Abspeichern und fertig. Ganz oben klickt ihr nun auf den orangen Button „Re-Start“ und man glaubt es kaum, aber YaCy startet nun mit den eingegebenen Werten neu! :mrgreen: Das kann eventuell etwas dauern, bei mir waren das knapp 2 Minuten.

Der Senior-Peer

Gesichert!

Jetzt kommt der große Test, ob alles richtig war. In der Adreßzeile eures Browsers gebt ihr nun https://[DIE-IP-ADRESSE]:8443 ein, dann sollte jetzt eigentlich die gesicherte Verbindung aufgebaut werden!

Achtung: Chromium, Chrome und alle darauf aufbauenden Browser erkennen diese gesicherte Verbindung nicht als sicher an, Firefox und SeaMonkey meckern wegen dem Zertifikat! Zu anderen Browsern kann ich nichts sagen, da ich ja nur Linux hier habe und nicht alles Mögliche hier installieren möchte.

Die entsprechenden Meldungen könnt ihr getrost vergessen, sondern ihr übernehmt das entsprechende Zertifikat trotzdem. Das geht aber leider bei jedem Browser anders, so daß ich euch hier nicht wirklich weiterhelfen kann.

Gratulation, ihr habt nun eure eigene YaCy-Suchmaschine! Die ersten Suchergebnisse dürften jedoch etwas mager aussehen, da euer Index natürlich erst aufgebaut werden muß. Da YaCy aber eine P2P-Suchmaschine wird der Index automatisch erweitert, entsprechende angeklickte Links in den Suchergebnissen bei anderen Peers werden dabei in den eigenen Index aufgenommen.

Wenn ihr also etwas bei eurem YaCy sucht und ihr nur wenige Ergebnisse bekommt, dann klickt einfach auf den Button „Erneut suchen“. Das könnt ihr auch öfter wiederholen, YaCy versucht nämlich immer zuerst im eigenen Index und dann bei anderen Peers im Netzwerk, die Suchbegriffe werden dabei an andere Peers als Hashwert weitergegeben und dort wird dann weiter nach einem Ergebnis gesucht.

Einen Fehler von YaCy möchte ich dabei natürlich nicht verschweigen, nämlich daß die Suche langsamer ist wie bei anderen Suchmaschinen. Die verschiedenen Peers sind schließlich über die ganze Welt verbreitet, da spielt dann auch die entsprechende Internetverbindung eine Rolle.

Zusätzlich kommt es natürlich auch darauf an, wie viele Peers gerade online sind. Je mehr online sind, desto besser und schneller geht die Suche! Aus dem Grund ist es also immer besser, wenn man einen eigenen Server für YaCy verwendet, welcher immer online ist.

Wenn bei euch nun alles wie gewünscht funktioniert und euch YaCy und die Idee der eigenen Suchmaschine gefällt, dann macht doch bitte auch andere Leute darauf aufmerksam, auch auf mein Tutorial hier. Verwandte, Freunde, Bekannte, was und wen auch immer! Je mehr Leute bei YaCy mitmachen machen, desto größer wird der Gesamtindex und umso besser wird das entsprechende Suchergebnis!

Mein neuer Peer hier hat nun über eine halbe Million Dokumente im Index, obwohl ich ihn erst vor ein paar Tagen neu aufgesetzt habe. Mein alter Peer hat sich ja leider verabschiedet, dort waren es am Schluß über 15 Millionen Dokumente, allerdings war diese alte Kiste dafür einfach zu schwach.

Leider hat YaCy sehr viele Möglichkeiten zum Einstellen, bei denen man so einiges falsch machen kann! Ich habe mich hier im Tutorial jetzt nur darauf beschränkt, daß die Suchmaschine bei euch läuft. Bei mir habe ich noch weitere Einstellungen vorgenommen, aber hierfür benötigt man dann einen entsprechenden Hoster wie z. B. Square7.ch oder so.

Ich werde noch einen weiteren Artikel zu YaCy bringen in welchem ich dann erkläre, wie man den eigenen Index verbessern kann. Das geht über den Crawler, würde den Rahmen des Tutorials hier jetzt aber endgültig sprengen! Es gibt da nämlich mehrere Möglichkeiten, das wäre für den Anfang dann doch etwas viel.

 

Mein Fazit:

Ich habe mich für YaCy und dieses Tutorial entschieden, da mir die Idee an einer freien und vor allem dezentralen Suchmaschine gefällt. Durch diesen dezentralen Aufbau ist YaCy unzensierbar, so daß man zum Teil völlig andere Suchergebnisse bekommt wie bei anderen Suchmaschinen.

Leider gibt es aber viel zu wenig Leute die mitmachen, so daß der Gesamtindex selbst heute nach nun über 10 Jahren immer noch ziemlich mager ist. Derzeit sind es gerade mal ~4 Milliarden Dokumente, Google hat wohl das über tausendfache! Gerade aus diesem Grund sollten einfach mehr Leute an YaCy teilnehmen und auch andere darauf aufmerksam machen, damit YaCy weiter verbreitet werden kann und der Index größer wird.

Solltet ihr wider Erwarten einmal Ärger mit eurer Installation haben, dann gibt es natürlich auch ein entsprechendes deutsches YaCy-Forum. Im Allgemeinen wird einem dort sehr schnell geholfen und die Community ist echt freundlich, auch der eigentliche Erfinder von YaCy (Michael Christen aka „Orbiter“) ist dort tätig! Ich selbst kann hier bei Problemen eher weniger helfen, dazu kenne ich mich noch nicht gut genug damit aus.

 

Viele Grüße nun aus TmoWizard’s Castle zu Augusta Vindelicorum

Y gwir yn erbyn Y byd!

Mike, TmoWizard Zaubersmilie

CC BY-NC-SA 4.0 P2P-Tutorial – #YaCy und HTTPS: Die sichere Suchmaschine! von TmoWizard ist lizenziert unter Creative Commons Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 4.0 international.

12 Replies to “P2P-Tutorial – #YaCy und HTTPS: Die sichere Suchmaschine!”

  1. Hey TmoWizard,

    ich danke Dir für Deinen WebAuftrit zum Thema YaCy.
    Seit langem liegen die Unterlagen bei mir im Archiv…
    Vor 14 Tagen habe ich mal wieder mit dem Thema angefangen zu beschäftigen.

    Bist Du mit dem YaCy weiter hin am Start?

    Ich danke Dir für Deine Aufmerksamkeit

    und verbleib

    mit freundlichem Gruß!

    1. Hallöchen Paul,

      willkommen auf meinem Castle!

      Derzeit ist mein YaCy leider tot, da ich den Rechner für meine tägliche „Arbeit“ hier benötige. YaCy würde diesen alten Rechner einfach zu sehr ausbremsen, als daß ich damit noch was anfangen könnte.

      Natürlich verfolge ich das Thema weiter, da die Idee dazu einfach genial ist. Mal sehen, bis wann ich mir wieder einen zweiten Rechner zulegen kann!

       

      Grüße aus Augsburg

      Mike, TmoWizard

  2. Habe seit gestern auch yacy auf meinem Root laufen.
    Haben bei dir die keyserver funktioniert? Bin nur über ein Umweg drangekommen, da ja alle aktuellen dis die alte key Verschlüsselung nicht mehr unterstützen aus sicherheitsgründen. Darf ich fragen welches Linux du benutzt und in welcher Version?

    Wieso hast du kein Vernünftiges SSL Zertifikat eingetragen

    1. Hallo Andre,

      willkommen auf meinem Castle! (Ist doch nett wenn man sich begrüßt, oder?)

      Warum auf einem Root-Server, YaCy sollte auf dem eigenem Rechner zuhause laufen! Es geht zwar auch, aber YaCy sollte nicht für jeden erreichbar sein.

      Haben bei dir die keyserver funktioniert?

      Welche?

      Darf ich fragen welches Linux du benutzt und in welcher Version?

      Ich verwende ausschließlich *buntu, derzeit 20.04 LTS. Allerdings will derzeit mein kleiner … „Server“ leider nicht mehr so wie ich, so daß ich derzeit kein YaCy mehr habe.😱 Keine Ahnung, was da schon wieder schief geht.

      Wieso hast du kein Vernünftiges SSL Zertifikat eingetragen

      Weil mein YaCy wie es sich gehört von außen natürlich nicht erreichbar ist. Es gibt ja nur die Verbindung der Peers untereinander und der Zugriff von meinem Arbeitsrechner aus, es genügt also so.

       

      Grüße nun aus Augsburg

      Mike

      TP

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kommentarlinks könnten nofollow frei sein.