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

Compilare aMule Adunanza latest stable su centos 7

$
0
0

@atomix84 ha scritto:

Ciao a tutti, sono nuovo del forum sono appena passato a fastweb e quindi ho deciso di provare la tanto sentita rete kadu smile e ne vale la pena assolutamente smile 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 smiley )

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 smile
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 smile enjoy

Messaggi: 7

Partecipanti: 3

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>