Quantcast
Channel: AduTeca - AduForum
Viewing all articles
Browse latest Browse all 137

aMule Adunanza su QNAP ARMv7 (TS231)

$
0
0

@clsalva ha scritto:

Premessa: Guida buttata giù velocemente. Mi riprometto nei prossimi giorni di sistemarla e di dettagliarla ulteriormente. Inoltre spero di riuscire ad allegare un pacchetto ".ipk" per evitarsi tutta la parte di compilazione. Qualsiasi commento e miglioria proposta è molto più che benaccetto!

FASE 1 - Preparazione del NAS

Installare Optware-ng per la gestione pacchetti seguendo le indicazioni -> https://github.com/Optware/Optware-ng
La lista dei pacchetti disponibili è qui -> http://ipkg.nslu2-linux.org/optware-ng/buildroot-armeabihf/Packages.html

NB: la cartella /opt è un link (symlink) ad una cartella che decidete voi. Vi consiglio di creare quest'ultima (nel mio caso Optware-NG) all'interno di /share/CACHEDEV_DATA1/.qpkg/ prima di installare Optware.

L'installazione avviene tramite consolle/terminale.
Logghiamoci via SSH (utente admin), installiamo Optware-NG e quindi diamo:

/opt/bin/ipkg update e /opt/bin/ipkg install nano

Oppure:

export PATH=/opt:/opt/bin:/opt/sbin:$PATH
ipkg update
ipkg install nano

Una volta installato Optware-NG ricordatevi che ad ogni riavvio si perdono:
- la configurazione della PATH --> export PATH=/opt:/opt/bin:/opt/sbin:$PATH
- la configurazione di Optware-ng (vedi sotto)

Per ovviare a questo secondo problema:
Nella cartella /share/CACHEDEV1_DATA/.qpkg/ vengono installati i pacchetti QNAP.
Ho creato quindi la cartella "autorun" [/share/CACHEDEV1_DATA/.qpkg/autorun/] con all'interno il file autorun.sh

#!/bin/sh

#cancello il refuso della cartella
rm -R /opt

#creo link virtuale ad Optware
ln -s /share/CACHEDEV1_DATA/.qpkg/Optware-NG /opt

Per poter successivamente compilare ed installare aMule come utente non root, dobbiamo garantirci l'accesso ssh.
OpenSSH è preinstallato, ma accetta solo connessioni dall'utente "admin" e il file di configurazione è nella memoria flash che viene reinizializzata ad ogni riavvio; serve quindi usare un escamotage.

1) Nel pannello di controllo del NAS, alla voce SSH/Telnet, va cambiata la porta di default del demone SSH (da 22 a quella che volete). In questo modo l'SSH di default ascolterà su una porta diversa e lascerà libera la 22 per il nostro SSH.

2) Installiamo openssh --> /opt/bin/ipkg install openssh

3) Inseriamo nel file autorun.sh:

#OpenSSH per Optware-ng
/share/CACHEDEV1_DATA/.qpkg/Optware-NG/sbin/sshd -f /share/CACHEDEV1_DATA/.qpkg/Optware-NG/etc/openssh/sshd_config

4) (opzionale) Nel file di configurazion sshd_config io ho inserito la riga

AllowUsers amule utente1 utente2

Per garantire l'accesso alle utenze.
In realtà ho visto che anche senza questa riga, pare non ci siano problemi.
Possiamo provare il funzionamento lanciando il comando inserito prima in autorun.sh

/share/CACHEDEV1_DATA/.qpkg/Optware-NG/sbin/sshd -f /share/CACHEDEV1_DATA/.qpkg/Optware-NG/etc/openssh/sshd_config

A questo punto dovremmo riuscire con un client SSH a collegarci sulla porta 22.

NOTA BENE: PRIMA di collegarsi, va creata l'utenza amule

adduser amule --h /share/homes/amule

e creiamo una password

passwd amule

Ora dobbimo essere sicuri che il file autorun.sh venga fatto partire ad ogni avvio di NAS.
Per farlo apriamo il file /etc/config/qpkg.conf e aggiungiamo (versione, autore e date modificatele a vostro piacimento):

[Autorun]
Name = Autorun
Status = complete
Version = 1.0
Author = Claudio Salvatore
Date = 2016-02-06
Shell = /share/CACHEDEV1_DATA/.qpkg/autorun/autorun.sh
Install_Path = /share/CACHEDEV1_DATA/.qpkg/autorun
Desktop = 1
Enable = TRUE

Questo fa si che il NAS pensi che il nostro "autorun" sia un pacchetto QNAP e lo esegue ad ogni avvio.

Ora la prova del nove. Riavviate il NAS.
Dovreste trovare:
1. Connessione SSH su porta 22 attiva
2. /opt/bin/ipkg è un comando conosciuto e presente

FASE 2 - Preparazione alla compilazione di Adunanza

NOTA BENE
Per compilare dopo aver installato Optware-ng usare sempre la seguente dicitura


LDFLAGS="-Wl,--dynamic-linker=/opt/lib/ld-linux-armhf.so.3 -L/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/opt/lib" CPPFLAGS="-I/opt/include" ./configure --prefix=/opt

1. INSTALLAZIONE PACCHETTI CON OPTWARE

Installare tramite Optware-ng:
- coreutils
- binutils
- sudo
- gcc
- gawk
- automake
- autoconf
- pkg config
- python e python-xml
- libxml2
- libfreetype
- xproto
- renderproto
- kbproto
- xextproto
- gtk2
- atk
- gtk2-doc
- cairo
- pango
- perl
- svn
- libupnp
- unzip
- libzip
- altri programmi che eventualmente richiede aMule e che si scoprono provando a compilare

a verifica propedeutica che gli header che andremo ad utilizzare per le wxGTK siano presenti, lanciamo il comando:

pkg-config --cflags --libs gtk+-2.0

dovesse segnalarci la mancanza di qualche pacchetto, installiamolo con

ipkg install <pacchetto>

2. INSTALLAZIONE WXWIDGET

scaricare le wxGTK 2.8.12 --> https://github.com/wxWidgets/wxWidgets/releases/download/v2.8.12/wxGTK-2.8.12.tar.gz

Compilare le wxGTK con le opzioni "enable-unicode enable-gui --enable-utf8"

quindi

LDFLAGS="-Wl,--dynamic-linker=/opt/lib/ld-linux-armhf.so.3 -L/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/opt/lib" CPPFLAGS="-I/opt/include" ./configure --prefix=/opt --enable-unicode --enable-gui --enable-utf8

e se tutto va bene finirà così:

Configured wxWidgets 2.8.12 for armv7l-unknown-linux-gnu

Which GUI toolkit should wxWidgets use?                 GTK+ 2
Should wxWidgets be compiled into single library?       no
Should wxWidgets be compiled in debug mode?             no
Should wxWidgets be linked as a shared library?         yes
Should wxWidgets be compiled in Unicode mode?           yes
What level of wxWidgets compatibility should be enabled?
                                   wxWidgets 2.4      no
                                   wxWidgets 2.6      yes
Which libraries should wxWidgets use?
                                   jpeg               sys
                                   png                sys
                                   regex              builtin
                                   tiff               sys
                                   zlib               sys
                                   odbc               no
                                   expat              sys
                                   libmspack          no
                                   sdl                no

Quindi completiamo con make e make install e il risultato sarà

------------------------------------------------------

The installation of wxWidgets is finished.  On certain
platforms (e.g. Linux) you'll now have to run ldconfig
if you installed a shared library and also modify the
LD_LIBRARY_PATH (or equivalent) environment variable.

wxWidgets comes with no guarantees and doesn't claim
to be suitable for any purpose.

Read the wxWidgets Licence on licencing conditions.

------------------------------------------------------

3. INSTALLAZIONE LIBRERIE BOOST

update: le librerie si possono facilmente installare con Optware:

ipkg install boost-dev

ipkg install boost-exception-dev

ipkg install boost-system

Lascio comunque qui sotto la guida per la compilazione della versione sorgenti:

Scaricare la libreria Boost --> https://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.bz2

Scompattare il file, entrare nella cartella creata e installa/compila con il comando

. bootstrap.sh

4. INSTALLAZIONE LIBRERIE CRYPTO++

Creare la cartella cryptopp e posizionatevi al suo interno

mkdir cryptopp e cd cryptopp

Scaricare il file CryptoppXXX.zip da qui (al momento la versione è la 5.6.3)

wget https://www.cryptopp.com/cryptopp563.zip

Quindi scompattate il file con unzip cryptopp563.zip

Per compilare le librerie, vanno dati i comandi:

make static dynamic cryptest.exe

make install PREFIX=/opt

5. MODIFICA A SUDO

Modifichiamo la lista degli utilizzatori di 'sudo', per poter poi installare aMule con l'utenza amule non root.

nano /etc/group

Aggiungere il gruppo "sudo" e l'utenza "amule" precedentemente creata a tale gruppo:

sudo:x:28:amule

Aggiungiamo l'utente "root" al file /etc/passwd copiando la stessa riga dell'utente admin

admin:x:0:0:administrator:/share/homes/admin:/bin/sh
root:x:0:0:administrator:/share/homes/admin:/bin/sh

Quindi apportiamo una modifica al file di configurazione di sudo:

visudo

e togliamo il commento alla linea

## Uncomment to allow members of group sudo to execute any command
%sudo ALL=(ALL) ALL

:wq! (per salvare ed uscire)

6. INSTALLAZIONE AMULE ADUNANZA

Ora loggatevi con l'utente amule via SSH ($HOME --> /share/homes/amule)
Prendete l'ultima versione di Adunanza dal repository svn:

svn co http://svn.code.sf.net/p/amule-adunanza/code/branches/MoonRiver/ adunanza

Entriamo nella cartella adunanza e compiliamo:

cd adunanza

LDFLAGS="-Wl,--dynamic-linker=/opt/lib/ld-linux-armhf.so.3 -L/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/opt/lib" CPPFLAGS="-I/opt/include" ./configure --prefix=/opt --enable-amule-daemon --enable-optimize --with-boost

Se ci sono errori, probabilmente manca qualche pacchetto (di solito è esplicitato) o quello presente nel repository manca di qualche parametro di compilazione.
Se non abbiamo errori:

make

e quindi:

sudo make install (la password che viene richiesta è quella dell'utente amule)

Amule è compilato.

7. LANCIARE IL DEMONE ADUNANZA

Facciamo partire il demone aMule Adunanza per la prima volta:

amuled -f [crea alcuni file necessari]

Se non abbiamo errori, terminiamo il processo e proseguiamo con la configurazione.
killall amuled [termina il processo amuled]

Entriamo nella cartella (nascosta da File Station su QNAP):

cd /share/homes/amule/.aMuleAdunanza

all'interno abbiamo il file di configurazione amule.conf. Per la configurazione ci sono molti thread. Io onestamente al momento ho solo abilitato l'accesso da amuleGUI.

se volete condividere una cartella --> nano shareddir.dat [ogni riga un percorso completo ai file. Non è ricorsivo]

Per collegarsi e configurare aMule valgono tutte le discussioni presente nel forum adunanza.
In particolare questa guida è fatta bene, il procedimento è molto simile e comprende anche la parte di configurazione.

Una volta completata la configurazione, sempre con l'utente amule

amuled -f

8. RISOLUZIONE PROBLEMI TEMPORANEI (APRILE 2016)
grazie a @lukybus per la segnalazione

Al momento si verificano alcuni errori con i file nodes.dat e server.met, causando difficoltà di collegamento ai server ed alla rete kadu. Per ovviare al problema, da terminale con utente amule potete fare cosi [fonte forum Adunanza]:

cd ~/.aMuleAdunanzA && wget http://forum.adunanza.net/uploads/default/original/2X/e/ebf5967b5518e4e7538ba59ad096445689f6de2f.zip http://forum.adunanza.net/uploads/default/original/2X/7/7cf04cb3cf7bd890a884a3f71ebaf22258e96779.zip && unzip ebf5967b5518e4e7538ba59ad096445689f6de2f.zip && unzip 7cf04cb3cf7bd890a884a3f71ebaf22258e96779.zip && rm ebf5967b5518e4e7538ba59ad096445689f6de2f.zip 7cf04cb3cf7bd890a884a3f71ebaf22258e96779.zip

Inoltre nel file adunanza.conf, presente nella cartella .aMuleAdunanzA, con utente amule e demone amule spento, la riga

UpdateURL=http://update.adunanza.net/3-16/adu_remote.conf

va modificata in

UpdateURL=update.adunanza.net/3-16/adu_remote.conf

Messaggi: 48

Partecipanti: 6

Leggi l'argomento intero


Viewing all articles
Browse latest Browse all 137

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>