Freenet 0.7 auf Linux installieren
- Wenn Sie bereits eine ältere Version von Freenet nutzen, zum Beispiel Freenet 0.5, dann fahren Sie den Knoten runter. Sie können ihn später wieder starten, aber die Installation vereinfacht sich, wenn der Knoten zu diesem Zeitpunkt nicht läuft.
- Gehen Sie auf die die Freenet Download-Seite und klicken Sie dann auf "Freenet 0.7 installieren". Falls dies nicht erfolgreich sein sollte, führen Sie das Installations-Programm von der Kommandozeile aus:
wget http://downloads.freenetproject.org/alpha/installer/new_installer.jar
java -jar new_installer.jar
- Folgen Sie den Anweisungen
- Der Installations-Assistent wird Freenet Sie fragen, ob Sie Freenet zukünftig automatisch starten lassen wollen. Wenn Sie jedoch in der Zukunft Freenet manuell starten möchten, benutzen Sie das run.sh-Skript. Um es zu starten, führen Sie im Freenet-Verzeichnis diesen Befehl aus:
./run.sh --start
- Wenn sich eine Webseite öffnet, klicken Sie auf den großen Link. Folgen Sie den Anweisungen durch den Assistenten, um die Konfiguration für Ihren Knoten abzuschließen. Wenn dabei Probleme auftraten oder Sie den Assistenten versehentlich geschlossen haben, gehen Sie auf http://127.0.0.1:8888/wizard/ um die Einrichtung abzuschließen.
- Freenet 0.7 nutzt einen Proxy, damit Ihr Web Browser auf Seiten im Freenet zugreifen kann. Öffnen Sie in Ihrem Browser die Adresse http://127.0.0.1:8888 (diese Seite sollte bereits automatisch geöffnet sein, nachdem Sie die Einrichtung abgeschlossen haben). Diese Seite wird FProxy genannt, die Haupt-Schnittstelle zum Freenet.
- Wenn Sie bereits einen anderen Knoten auf Port 888 haben, dann
- Fahren Si eden Knoten herunter (über die FProxy-Startseite) (am Ende der Seite befindet sich ein Herunterfahren-Knopf)
- Bearbeiten Sie freenet.ini, sodass fproxy.port=8888 einen anderen Wert enthält, z.B. 9888.
- Starten Sie den Knoten erneut
- Starten Sie nun auch den anderen Knoten wieder
- Einige Konfigurations-Optionen können über die Freenet-Konfigurationsseite geändert werden. Für diejenigen Optionen, die hierüber nicht geändert werden können, muss der Knoten wie oben beschrieben heruntergefahren werden und die Datei freenet.ini direkt bearbeitet werden. Die Konfigurationsseite wird zumindest grundlegende Dokumentation für jede Option geben, sie ist also sinnvoll, wenn Sie den Knoten heruntergefahren haben. Mit dem Installations-Assistenten wurden bereits Bandbreiten-Grenze, Port-Nummer und IP-Adresse festgelegt; diese Werte können sowohl über Konfigurations-Datei als auch die Konfigurationsseite geändert werden.
- Es gibt ein paar optionale Tipps und Tricks, die das Leben einfacher machen können.
- Freenet aus den Quellen erstellen
Freenet auf Linux ohne grafische Oberfläche installieren ("headless-Systeme")
wget http://downloads.freenetproject.org/alpha/installer/freenet07.tar.gz
cat freenet07.tar.gz | gzip -d | tar xv
cd freenet
./bin/1run.sh
./run.sh start
cat freenet07.tar.gz | gzip -d | tar xv
cd freenet
./bin/1run.sh
./run.sh start
Sie können auch über telnet auf Port 2323 eine Verbindung zur Konsole bekommen:
$ telnet localhost 2323
Die Freenet-Installation auf Debian absichern/kapseln
Einen neuen Benutzer für Freenet erstellen:adduser freenet
Die Rechte des Knotens diesem Nutzer zuweisen:
chown -R freenet.freenet /usr/local/freenet
Zu den Start-Skripten hinzufügen:
ln -s /usr/local/freenet/run.sh /etc/init.d/freenet-new
update-rc.d freenet-new defaults
update-rc.d freenet-new defaults
run.sh bearbeiten, um setuid dem neuen Nutzer zuzuweisen:
Die Zeile
# RUN_AS_USER
muss geändert werden zu
RUN_AS_USER=freenet
Der Knoten wird nun mit eigenständigem Benutzer laufen und starten, wenn der PC hochfährt. Manuell kann er nun durch diesen Befehl gestartet werden:
/etc/init.d/freenet-new start
Dies wird sich einfacher werden, sobald es richtige Linux-Pakete gibt!
Den Knoten manuell installieren
Es ist möglich, Freenet ohne das Installations-Paket zu installieren, jedoch wird dies nicht empfohlen.
wget http://downloads.freenetproject.org/alpha/freenet-ext.jar
wget http://downloads.freenetproject.org/alpha/freenet-cvs-snapshot.jar.url
wget -i freenet-cvs-snapshot.jar.url
mv freenet-*-snapshot.jar freenet-cvs-snapshot.jar
java -Xmx100M -cp freenet-ext.jar:freenet-cvs-snapshot.jar freenet.node.Node freenet.ini
wget http://downloads.freenetproject.org/alpha/freenet-cvs-snapshot.jar.url
wget -i freenet-cvs-snapshot.jar.url
mv freenet-*-snapshot.jar freenet-cvs-snapshot.jar
java -Xmx100M -cp freenet-ext.jar:freenet-cvs-snapshot.jar freenet.node.Node freenet.ini
Freenet nutzt ein sog. Wrapper-Programm, um ein Verhalten wie init.d zu bewirken.
Wenn Freenet nicht über das Installations-Paket installiert wurde, sollte der Wrapper manuell konfiguriert werden. Der Wrapper ist zwar nicht notwendig, um Freenet zu starten, aber wird dafür gebraucht, den Knoten automatisch neustarten zu lassen und automatische Updates zuzulassen.
Um den Wrapper zu installieren:
- Erstellen Sie zwei Verzeichnisse im Freenet-Verzeichnis: bin und lib
- Laden Sie die passende Version der Wrapper-Binärdatei führ Ihre Plattform nach bin
- Diese können Sie an zwei Orten finden:
* Auf der Freenet-Projektseite hier.
* Oder im Verzeichnis wrapper/bin im Paket des Wrapper-Entwicklers.
- Diese können Sie an zwei Orten finden:
- Ins lib-Verzeichnis müssen die wrapper-Bibliotheken hinzugefügt werden. Diese sind hier zu finden:
* Auf der Freenet-Projektseite hier.
* Oder sie kopieren das lib-Verzeichnis aus dem plattformspezifischen Archiv, dass Sie von Sourceforge in Schritt 2 heruntergeladen haben.
- Legen Sie entweder run.sh oder run.cmd ins Freenet-Verzeichnis. (Windows-Nutzer nehmen run.cmd, Linux-Nutzer run.sh)
* run.sh und run.cmd kann von hier heruntergeladen werden.
- Im Hauptverzeichnis von Freenet wird eine die Datei wrapper.conf gelegt
* Eine vorkonfigurierte Version ist hier zu finden.
- Modifizieren Sie die Parameter der wrapper.conf wie gewünscht (also "Java command", "max memory" oder "min memory")
- Stellen Sie sicher, dass der Freenet-Benutzer das wrapper.conf Verzeichnis lesen kann und führen Sie run.sh aus.
run.sh fungiert wie ein init-Skript.
"run.sh start" starten den Knoten.
"run.sh stop" stoppt den Knoten.
"run.sh status" gibt Auskunft darüber, ob der Knoten läuft und welche Prozessnummer der JVM Freenet hat
Einen Knoten betreiben - Tipps und Tricks
Testnet Ports
Um mitzuhelfen, das Netz zu testen, müssen Sie den Testnet Port weiterleiten/öffnen. Er ist in Ihrer Knoten-ID unter dem 'testnetPort' Tag angegeben.
Knoten-Referenzen über IRC austauschen
Wenn Ihr Chat-Programm eine Knoten-Referenz wie diese anzeigt:
12:34AM <IRCUSERNAME> lastGoodVersion=Fred,0.7,1.0,332 12:34AM <IRCUSERNAME> physical.udp=1.1.1.1:1111 12:34AM <IRCUSERNAME> identity=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 12:34AM <IRCUSERNAME> myName=you_should_set_your_nodes_name_to_something_useful 12:34AM <IRCUSERNAME> location=0.1237634786324 12:34AM <IRCUSERNAME> testnetPort=2111 12:34AM <IRCUSERNAME> testnet=true 12:34AM <IRCUSERNAME> version=Fred,0.7,1.0,336 12:34AM <IRCUSERNAME> End
Knoten-Referenzen mittels eines PasteBin-Service austauschen
Eine bessere Lösung als das Einfügen einer Knoten-Referenz über einen IRC-Kanal ist es, einen Pastebin wie z.B. http://dark-code.bulix.org zu nutzen. Nachdem die Referenz zum Pastebin-Service gesendet wurden, bekommen Sie eine Internet-Adresse, die auf die Referenz zeigt. Mit bulix.org kann hinter die Internet-Adresse "?raw" (ohne Anführungszeichen) angefügt werden, um eine reine Text-Version der Referenz zu erhalten. Wenn die erzeugte Referenz-Adresse also z.B. http://dark-code.bulix.org/foo ist, ändern Sie diese zu http://dark-code.bulix.org/foo?raw. Die Referenz kann dann ganz einfach ausgetauscht werden, indem man sich beispielsweise im IRC die Adresse der erzeugten Pastebin-URL austauscht.
Versions-Nummer herausfinden, ohne den Knoten zu starten
java -cp freenet-ext.jar:freenet-cvs-snapshot.jar freenet.node.Version
Ubuntu
Nutzer von Ubuntu und anderer Distributionen können sich zur Installation und Einrichtung von Freenet auch an den Freenet Wiki-Artikel auf ubuntuusers.de halten. Er sollte fast vollständig auch für andere Linux-Distributionen gültig sein, eventuell sind jedoch Paketnamen für Nutzer anderer Distributionen anzupassen.