Installazione di Freenet 0.7 su GNU/Linux
- Se è già in esecuzione una precedente versione di Freenet, per esempio Freenet 0.5, è necessario terminarla. E' possibile riavviarla successivamente, ma è meglio lasciarla disattivata durante l'installazione.
- Lanciare l'installer dalla riga di comando (in un qualsiasi terminale):
$ wget http://downloads.freenetproject.org/alpha/installer/new_installer.jar
$ java -jar new_installer.jar
- Seguire l'installazione passo dopo passo.
- L'installer avvierà Freenet automaticamente al termine dell'installazione. Se in futuro dovesse essere necessario avviare Freenet manualmente, usare lo script run.sh. E' necessario utilizzare questo script per l'avvio (comando: ./run.sh start).
- Quando si aprirà la pagina web, cliccare sul link più grande. Seguire le istruzioni della procedura guidata per completare la configurazione del nodo. In caso di problemi aprire l'URL http://127.0.0.1:8888/wizard/ per completare la configurazione.
- Freenet 0.7 usa un proxy quindi il proprio browser sarà in grado di accedere alle pagine su Freenet. Aprire un browser ed andare su http://127.0.0.1:8888/ (dovresti averne già uno aperto su questa pagina dopo aver completato la procedura guidata). Questa schermata è chiamata FProxy, è l'interfaccia primaria contenuta in Freenet 0.7.
- Se dovesse esserci un altro nodo sull aporta 8888, è necessario:
- Terminare il nodo (usare l'homepage di Fproxy, c'è un grosso e grasso bottone di spegnimento).
- Modificare freenet.ini manualmente e cambiare fproxy.port=8888 con un'altra porta, per esempio 9888.
- Rilanciare il nodo.
- Rilanciare il secondo nodo.
- Alcuni parametri di configurazione possono essere cambiati direttamente dalla pagina Freenet Node Configuration. Per tutto ciò che invece non è possibile modificare da tale pagina, è necessario terminare il nodo e, come al punto precedente, modificare il file freenet.ini. La pagina di configurazione fornisce al una documentazione basilare per ogni opzione, quindi è comunque utile anche se sarà necessario terminare il nodo. Durante l'installazione sono stati già specificati il limite di banda, il numero di porta e l'indirizzo IP (se necessario); è possibile cambiare tali parametri dalla pagina di configurazione.
- Ci sono alcuni trucchi e suggerimenti opzionali che potrebbero rendere la vita più facile.
- BuildingFromSource
Installazione di Freenet 0.7 su GNU/Linux senza X
$ 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
E' anche possibile collegarsi tramite telnet allaporta 2323 per avere un'interfaccia di controllo:
$ telnet localhost 2323
Aumentare il livello di sicurezza dell'installazione di Freenet su Debian GNU/Linux
Le seguenti indicazioni funzioneranno su Debian, non sono state testate altrove!Creare un nuovo utente per Freenet (questa operazione deve essere eseguit dall'utente root):
# adduser freenet
Assegnare il nuovo utente come proprietario del nodo Freenet appena installato (questa operazione deve essere eseguita dall'utente root):
# chown -R freenet.freenet /usr/local/freenet
Aggiungerlo agli script di avvio (questa operazione deve essere eseguita dall'utente root):
# ln -s /usr/local/freenet/run.sh /etc/init.d/freenet-new
# update-rc.d freenet-new defaults
# update-rc.d freenet-new defaults
E' ora necessario modificare il file run.sh affinchè il tutto risulti poi eseguito da tale utente:
# RUN_AS_USER
dovrebbe diventare:
RUN_AS_USER=freenet
Successivamente il nodo verrà lanciato con i privilegi di tale utente all'avvio del proprio computer. Ora,invece, può essere lanciato in questo modo (questa operazione deve essere eseguita dall'utente root):
# /etc/init.d/freenet-new start
Tutto ciò diventerà molto più semplice quando avremo un nostro pacchetto per debian.
Installazione manuale del nodo
E' possibile installare Freenet senza utilizzare il pacchetto di installazione, ma non è consigliato.
$ 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 #(100M indica la memoria massima utilizzabile da Freenet, se possibile aumentare questo valore per cercare di ottenere prestazioni migliori)
$ 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 #(100M indica la memoria massima utilizzabile da Freenet, se possibile aumentare questo valore per cercare di ottenere prestazioni migliori)
Freenet utilizza un programma wrapper per assumere un comportamento init.d-like.
Se non si sta installando freenet tramite il pacchetto di installazione, probabilmente sarà necessari configurare il wrapper manualmente. Il wrapper non è necessario per lanciare freenet, ma è necessario per permettere al nodo di riavviarsi automaticamente, così come anche per auto-aggiornarsi.
Per installare il wrapper:
1) Creare due directory in quela di freenet: bin and lib
2) Nella directory bin, scaricare l'appropriata versione binaria del wrapper per la tua piattaform/architettura:
E' possibile prelevarlo da due locazioni:
Dal progetto Freenet su: https://emu.freenetproject.org/svn/trunk/apps/installer/installclasspath/bin/
Nella directory wrapper/bin in un pacchetto degli sviluppatori del wrapper: http://sourceforge.net/project/showfiles.php?group_id=39428
Nella directory wrapper/bin in un pacchetto degli sviluppatori del wrapper: http://sourceforge.net/project/showfiles.php?group_id=39428
3) Nella directory lib, occorre aggiungere le librerie del wrapper. E' possibile prelevarle da due locazioni:
Dal progetto Freenet aggiungendo tutti i file presenti su: https://emu.freenetproject.org/svn/trunk/apps/installer/installclasspath/lib/ to your lib directory.
E' anche possibile copiare la directory lib dall'archivio apposito per la vostra architetturascaricato al punto 2.
E' anche possibile copiare la directory lib dall'archivio apposito per la vostra architetturascaricato al punto 2.
4) Piazzare una versione di run.sh o run.cmd nella propria directory di freenet. Usare run.cmd per Windows, run.sh per linux
E' possibile scaricare run.sh e run.cmd da https://emu.freenetproject.org/svn/trunk/apps/installer/installclasspath/
5) Nella directory primancipale di freenet, piazzare una copia di wrapper.conf
E' possibile scaricare una versione preconfigurata per freenet di wrapper.conf da https://emu.freenetproject.org/svn/trunk/apps/installer/installclasspath/config/wrapper.conf
6) Modificare i parametri di wrapper.conf secondo le necessità: cambiare il comando java, memoria massima e memoria minima come si preferisce.
7) Assicurarsi che l'utente freenet possa leggere la directory del wrapper.conf ed eseguire run.sh
run.sh funziona come un init script.
"run.sh start" avvia il nodo
"run.sh stop" termina il nodo
"run.sh status" comunica se il nodo è stato lanciato, ed il numero di processo della JVM.
"run.sh stop" termina il nodo
"run.sh status" comunica se il nodo è stato lanciato, ed il numero di processo della JVM.
Lanciare un nodo - Trucchi e suggerimenti
Porte Testnet
Per aiutare il nodo a fare il test della rete, è bene aprire/forwardare la porta testnet. E' specificata nell'ID del tuo nodo sotto il tag di 'testnetPort'.
Scambiare referenze dei nodi su IRC
Quando il tuo client IRC visualizza le referenze di un nodo così:
12:34 <NOME_UTENTE_IRC> lastGoodVersion=Fred,0.7,1.0,332
12:34 <NOME_UTENTE_IRC> physical.udp=1.1.1.1:1111
12:34 <NOME_UTENTE_IRC> identity=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
12:34 <NOME_UTENTE_IRC> myName=you_should_set_your_nodes_name_to_something_useful
12:34 <NOME_UTENTE_IRC> location=0.1237634786324
12:34 <NOME_UTENTE_IRC> testnetPort=2111
12:34 <NOME_UTENTE_IRC> testnet=true
12:34 <NOME_UTENTE_IRC> version=Fred,0.7,1.0,336
12:34 <NOME_UTENTE_IRC> End
12:34 <NOME_UTENTE_IRC> physical.udp=1.1.1.1:1111
12:34 <NOME_UTENTE_IRC> identity=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
12:34 <NOME_UTENTE_IRC> myName=you_should_set_your_nodes_name_to_something_useful
12:34 <NOME_UTENTE_IRC> location=0.1237634786324
12:34 <NOME_UTENTE_IRC> testnetPort=2111
12:34 <NOME_UTENTE_IRC> testnet=true
12:34 <NOME_UTENTE_IRC> version=Fred,0.7,1.0,336
12:34 <NOME_UTENTE_IRC> End
... basta scrivere "connect:" e [enter], e poi incollare il testo come visto quì sopra, funziona davvero!
Scambiare referenze dei nodi utilizzando un servizio pastebin
Una soluzione migliore rispetto ad incollare le referenze su IRC consiste nell'utilizzare un pastebin, tipo http://dark-code.bulix.org. Subito dopo aver inviato la referenza del proprio nodo al servizio pastebin, verrà comunicato un URL che punta proprio alla referenza appena inserita. Con bulix.org, è possibile accodare all'URL la stringa "?raw" per forzare il servizio a visualizzare una versione in testuale "grezza" della propria referenza. Per esempio, se l'URL della propria referenza è http://dark-code.bulix.org/foo, è possibile cambiarla in http://dark-code.bulix.org/foo?raw. La referenza potrà così essere scambiata inviando semplicemente l'URL sul canale IRC, invece che inondarlo con il testo di intere referenze.
Come trovare il numero di versione senza lanciare il nodo
$ java -cp freenet-ext.jar:freenet-cvs-snapshot.jar freenet.node.Version
Lanciare manualente il proprio nodo Freenet sulla propria Linux box
Navigare fin dove è installato Freenet, che solitamente è ~/Freenet, e digitare ./run.sh start
Digitare ./run.sh per vedere i differenti comandi che è possibile inviare a run.sh.