Ciao a tutti, sono nuovo del forum sono appena passato a fastweb e quindi ho deciso di provare la tanto sentita rete kadu
e ne vale la pena assolutamente
Vorrei quindi condividere la mia esperienza di installazione.
sono partito da una installazione minimal di centos 7 senza GUI (ma i passi possono essere adottati anche da chi ha un DE)
Presuppongo che abbiate già aggiunto i repository epel e repoforge se non lo avete fatto:
epel Centos 7
rpmforge Centos 7
l'utente utilizzato è root
Installiamo i prerequisiti:
yum install -y zlib.x86_64 zlib-devel.x86_64 GeoIP-devel.x86_64 GeoIP.x86_64 wxGTK.x86_64 wxGTK-devel.x86_64 cryptopp-devel.x86_64 cryptopp.x86_64 libupnp-devel.x86_64 libupnp.x86_64 gd.x86_64 gd-devel.x86_64 install xorg-x11-xauth xorg-x11-fonts- xorg-x11-utils firefox
yum groupinstall "Development Tools"
NOTA: i pacchetti xorg li sto installando perchè non ho una gui, ma per il test delle porte ho utilizzato firefox dalla macchina quindi quanto sopra è la configurazione minimale per poter far girare programmi da gui effettuando il redirect X11 verso un client ssh (mobaXterm nel mio caso) posso visualizzare le eapplicazioni della linuxbox su di un pc remoto (anche la gui di amule
)
installando dai repository cryptopp al suo interno non troveremo "libcryptopp.a" che servirà per la compilazione quindi scarichiamone i sorgenti:
wget http://downloads.sourceforge.net/project/cryptopp/cryptopp/5.6.2/cryptopp562.zip
scompattiamoli:
unzip cryptopp562.zip -d /path/to/folder
nel mio caso /path/to/folder era /usr/src/cryptopp
una volta all'interno della folder in cui abbiamo scompattato i sorgenty cryptopp diamo il comando:
make libcryptopp.a
attendiamo il completamento ed andiamo ad aggiungere questa libreria all'installazzione che abbiamo fatto il precedenza di cryptopp
cp libcryptopp.a /usr/include/cryptopp
Ora la nostra minimal di CentOS 7 è pronta per compilare aMule Adunanza senza intoppi
Otteniamo i sorgenti gli ultimi rilasciati in (stable):
wget http://downloads.sourceforge.net/project/amule-adunanza/aMule-AdunanzA/Stable/aMule-AdunanzA-2012.1-2.3.1.tar.bz2
scompattatteli ed entrate nella cartella con i sorgenti
tar xzvf aMule-AdunanzA-2012.1-2.3.1.tar.bz2
cd aMule-AdunanzA-2012.1-2.3.1
Prepariamo l'ambiente come suggerito dal LEGGIMI.Adunanza presente nei sorgenti settando a NULL questa due variabili:
export CFLAGS=""
export CXXFLAGS=""
Ora possiamo partire invocando:
./autogen.sh
al termine del comando precedente è il momento di lanciare il ./configure:
Stringa per omptimize e NO debug:
./configure --prefix=/opt/amule --libdir=/usr/local/lib64 --with-crypto-prefix=/usr/include/cryptopp --enable-amule-daemon --enable-amulecmd --enable-webserver --enable-amule-gui --enable-alc --enable-alcc --enable-geoip --disable-debug --enable-optimize --enable-cas --enable-xas --enable-ccache --enable-wxcas
--prefix= sarà il path a cui si installerà aMuleAdunanza una volta terminata la compilazione potete cambiarlo a vostro piacimento.
Stringa NO optimize e SI debug:
./configure --prefix=/opt/amule --libdir=/usr/local/lib64 --with-crypto-prefix=/usr/include/cryptopp --enable-amule-daemon --enable-amulecmd --enable-webserver --enable-amule-gui --enable-alc --enable-alcc --enable-geoip --enable-cas --enable-xas --enable-ccache --enable-wxcas
Al termine dovreste trovare un output simile a questo:
Configure script has finished system check.
Configured aMule 2.3.1 (AdunanzA mod) for 'x86_64-unknown-linux-gnu'.
aMule enabled options:
**** aMule Core ****
Prefix where aMule should be installed? /opt/amule
Should aMule be compiled with i18n support? yes
Should aMule be compiled in debug mode? no
Should aMule be compiled with profiling? no
Should aMule be compiled with optimizations? yes
Should aMule be compiled with UPnP support? yes
Should aMule be compiled with IP2country support? yes
Should aMule monolithic application be built? yes
Should aMule daemon version be built? yes
Should aMule remote gui be built? yes
Crypto++ library/headers style? sources
**** aMule TextClient ****
Should aMule Command Line Client be built? yes
**** aMule WebServer ****
Should aMule WebServer be built? yes
**** aMule ED2K Links Handler ****
Should aMule ED2K Links Handler be built? yes
**** aMuleLinkCreator ****
Should aMuleLinkCreator GUI version (alc) be built? yes
Should aMuleLinkCreator for console (alcc) be built? yes
**** aMule Statistics ****
Should C aMule Statistics (CAS) be built? yes
Should aMule GUI Statistics (wxCas) be built? yes
Should xas XChat2 plugin be installed? yes
Should plasmaMule plasma-applet be build? no
**** General Libraries and Tools ****
Should ccache support be enabled? yes
Libraries aMule will use to build:
wxWidgets 2.8.12 (gtk2,shared)
crypto++ 5.6.2 (sources, in /usr/include/cryptopp)
libupnp 1.6.19
libintl system
libGeoIP system
libpng 1.5.13
libgd 2.0.34
zlib 1.2.7
ora procediamo alla compilazione vera e propria:
make
ed al termine, andiamo ad installare il tutto nella cartella scelta in precedenza:
make install
Azioni POST installazione
se siete su una linuxbox senza gui e con il solo utente root, non è un bene eseguire aMule come superuser (root) per cui va creato un utente adhoc, se invece avete già un utente diverso da root e volete usarlo non cambia nulla, saltate questo passaggio e nei prossimi sostituite "amule" con il vostro nome utente.
adduser amule
diamogli la proprietà della cartella di installazione di amule:
chown -R amule:amule /opt/amule
Il firewall di CentOS:
le porte da configurare sono:
4711 tcp = WebServer (necessaria se si vuole utlizzare l'interfaccia web di amule)
4712 tcp = gui locale e/o remota (necessaria se si vuole aprire la gui da remoto)
4662 tcp = porta per la connessione alle reti (NON opzionale)
4665 udp = porta usata per le ricerche (opzionale)
4472 udp = porta per la connessione alle reti (NON opzionale)
onestamente ho preferito disabilitarlo avendone un altro a monte:
systemctl mask firewalld
systemctl stop firewalld
Creiamo per ultimi dei link simbolici per poter lanciare comodamente gli eseguibili:
ln -s /opt/amule/bin/amuled /usr/bin
ln -s /opt/amule/bin/amuleweb /usr/bin
ln -s /opt/amule/bin/amulegui /usr/bin
Script di avvio automatico di amuled e amuleweb:
Creiamo un file all'interno di /etc/init.d/:
vim amulestart
Incollando il seguente contenuto cambiando se necessario la variabile USER:
#!/bin/sh
####################################
#dir:/etc/init.d #
#script avvio Amuled & Amuleweb #
#testato su CentOS 7 x86_x64 #
####################################
### BEGIN INIT INFO
# Provides: defaultdaemon
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# chkconfig: 235 03 99
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
DAEMON=/usr/bin/amuled
WEB=/usr/bin/amuleweb
NAME=amuled
DESC=amuled
RUNAMULE=no
USER=amule
test -x $DAEMON || exit 0
# Include amule defaults if available
if [ -f /etc/default/amule ] ; then
. /etc/default/amule
fi
if [ "$RUNAMULE" != "yes" ] ; then
echo "Amule not to be started. Edit /etc/default/amule first."
exit 1
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
su $USER -c "$DAEMON -f"
while ! netstat -l -n -p -t | grep -q amuled ; do sleep 1 ; done
su $USER -c "$WEB --quiet &"
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
killall --quiet --ignore-case $WEB
killall --quiet --ignore-case $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
killall --quiet --ignore-case $WEB
killall --quiet --ignore-case $DAEMON
sleep 1
su $USER -c "$DAEMON -f"
while ! netstat -l -n -p -t | grep -q amuled ; do sleep 1 ; done
su $USER -c "$WEB --quiet &"
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
NOTA: lo script dovrebbe funzionare anche sulle altre distribuzioni con le opportune modifiche.
rendetelo eseguibile:
chmod +x /etc/init.d/amulestart
Creiamo il file di configurazione con cui potremo andare in futuro a disabilitare l'avvio al boot (se desiderato) senza toccare le configurazioni fatte:
echo "RUNAMULE=yes" > /etc/default/amule
Aggingiamo lo script nel boot di sistema ed abbiamo terminato:
chkconfig --add amulestart
Ora non vi rimane che avviare il demone e configurarlo
enjoy