Come creare un YSF REFLECTOR MONOFLUSSO

Il seguente howto descrive rapidamente l'installazione e la configurazione di
un sistema
Installazione Automatica
Se stai usando una distribuzione Debian Linux, puoi provare il seguente
script di installazione: download install.sh (fai clic con il pulsante
destro del mouse e installa o scarica tramite wget sulla console).
Dopo aver scaricato il file nella tua directory utente, assicurati
di avere i pacchetti git e build-essential installati sul tuo sistema.
Dopotutto, eseguilo con
bash install.sh
Ti verrà chiesto il nome e la descrizione del tuo riflettore e quindi 
tutto verrà installato automaticamente.
Devi solo avviare il riflettore eseguendo il seguente comando:
sudo /etc/init.d/YSFReflector.sh start

Manual Installation

Prima di tutto dovrai ottenere una copia dei sorgenti. 
Si consiglia di farlo con git come segue:

git clone https://github.com/g4klx/YSFClients.git
Questo copia i sorgenti effettivi dell'intero progetto YSFClients in 
una cartella "YSFClients". All'interno di questa directory troverai
una cartella "YSFReflector". cd in esso e semplicemente fai
make clean all
Un minuto dopo il processo di compilazione è terminato e hai un file 
eseguibile "YSFReflector". All'interno della directory hai anche un YSFReflector.ini che devi
personalizzare in base alle tue esigenze. Compila qui di seguito:
Name=Your Reflector's name
Description=Your Reflector's description
C'è anche una linea
Daemon=1
che forza l'eseguibile del riflettore a funzionare come demone dopo l'avvio. 
Per questo dovrai configurare un utente "mmdvm" sul tuo sistema Linux.
Questo può essere fatto con:
sudo groupadd mmdvm
sudo useradd mmdvm -g mmdvm -s /sbin/nologin
Ora assicurati che l'utente mmdvm abbia i permessi di scrittura 
sulla directory di log fornita nel file ini. Puoi farlo con
sudo chown mmdvm /var/log/YSFReflector
se la directory log sarebbe /var/log/YSFReflector
Come ultima istanza di installazione, potresti voler avviare 
automaticamente i servizi all'avvio del tuo server.
Quindi avrai bisogno di uno script di avvio. Il mio è
/etc/init.d/YSFReflector.sh
e ha i seguenti contenuti:
#!/bin/bash
### BEGIN INIT INFO
#
# Provides:             YSFReflector
# Required-Start:       $all
# Required-Stop:        
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Example startscript YSFReflector

#
### END INIT INFO
## Fill in name of program here.
PROG="YSFReflector"
PROG_PATH="/usr/local/bin/"
PROG_ARGS="/etc/YSFReflector.ini"
PIDFILE="/var/run/YSFReflector.pid"
USER="root"

start() {
      if [ -e $PIDFILE ]; then
          ## Program is running, exit with error.
          echo "Error! $PROG is currently running!" 1>&2
          exit 1
      else
          cd $PROG_PATH
          ./$PROG $PROG_ARGS
          echo "$PROG started"
          touch $PIDFILE
      fi
}

stop() {
      if [ -e $PIDFILE ]; then
          ## Program is running, so stop it
         echo "$PROG is running"
         rm -f $PIDFILE
         killall $PROG
         echo "$PROG stopped"
      else
          ## Program is not running, exit with error.
          echo "Error! $PROG not started!" 1>&2
          exit 1
      fi
}

## Check to see if we are running as root first.
## Found at
## http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
      echo "This script must be run as root" 1>&2
      exit 1
fi

case "$1" in
      start)
          start
          exit 0
      ;;
      stop)
          stop
          exit 0
      ;;
      reload|restart|force-reload)
          stop
          sleep 5
          start
          exit 0
      ;;
      **)
          echo "Usage: $0 {start|stop|reload}" 1>&2
          exit 1
      ;;
esac
exit 0
### END
		
Dopo aver creato lo script, rendilo eseguibile con il seguente comando:
sudo chmod +x /etc/init.d/YSFReflector.sh
Come puoi vedere nella parte superiore dello script, il mio binario si 
trova in /usr/local/bin (dove l'ho copiato dopo la compilazione) e il mio
YSFReflector.ini è in /etc Fallo in modo simile per essere in standard. Per abilitare il servizio è sufficiente chiamare
sudo chkconfig YSFReflector.sh on
Quindi tutto sarebbe iniziato all'avvio.
Spero che tu possa seguire tutti i passaggi. Si consiglia di eseguirli 
come root :-) Una parola per finale: ogni modifica (rilevante per il sistema)
apportata (ad esempio nome o descrizione) viene aggiornata automaticamente
nel database di registrazione tramite il meccanismo di polling ogni 5 minuti.
Se desideri modificare il nome host/l'indirizzo IP o il numero di porta,
puoi farlo in modalità self-service dopo aver effettuato l'accesso.
Risoluzione dei problemi
Nonostante l'esecuzione di un YSFReflector utilizzando l'installazione-howto 
sopra sarebbe molto semplice, potrebbero esserci dei problemi nel portarlo
online. Se hai difficoltà a trovare il tuo riflettore online dopo 20 minuti
dall'avvio, potrebbero esserci dei problemi da controllare: controlla se ci sono alcune regole del firewall che vietano il traffico
verso UDP 42000 da Internet controlla se il processo è in esecuzione con:
ps ax | grep YSFReflector
Questo dovrebbe far apparire due processi. In caso contrario, 
il riflettore non è in funzione. se il riflettore non è in funzione, controlla il file di registro,
cosa succede lì.
Cosa molto importante se al riavvio del server cloud lo YSF
non dovesse partire digitare quanto segue:
Per far partire l' YSF REFLECTOR dopo il riavvio

/etc/init.d/YSFReflector.sh start