glug: proftp e script di [start|stop|restart]
s.sartini
s.sartini@linux.it
Gio 24 Giu 2004 14:11:09 CEST
mizar_cs@inwind.it wrote:
> Ciao a tutti,
> visto che i server ftp mi piacciono tanto ho provato proftpd.
> Scaricato, compilato, eseguito a mano = nessun problema.
> il problema è avviarlo al boot !!
> Tra i vari readme e documentazione, ho trovato uno script di
> avvio per init.d ma sembra non vada per nulla.
> Se il server ftp è speno non lo avvia, se è avviato non lo ferma.
> accodo lo script:
> **********
> #!/bin/sh
>
> # ProFTPD files
> #FTPD_BIN=/usr/local/sbin/proftpd
> FTPD_BIN=/usr/sbin/proftpd
> FTPD_CONF=/usr/local/etc/proftpd.conf
> PIDFILE=/var/run/proftpd.pid
>
> # If PIDFILE exists, does it point to a proftpd process?
>
> if [ -f $PIDFILE ]; then #***
> pid=`cat $PIDFILE`
> fi
>
> if [ ! -x $FTPD_BIN ]; then
> echo "$0: $FTPD_BIN: cannot execute"
> exit 1
> fi
>
> case $1 in
>
> start)
> if [ -n "$pid" ]; then
> echo "$0: proftpd [PID $pid] already running"
> exit
> fi
>
> if [ -r $FTPD_CONF ]; then
> echo "Starting proftpd..."
>
> $FTPD_BIN -c $FTPD_CONF
>
> else
> echo "$0: cannot start proftpd -- $FTPD_CONF missing"
> fi
> ;;
>
> stop)
> if [ -n "$pid" ]; then
> echo "Stopping proftpd..."
> kill -TERM $pid
>
>
> else
> echo "$0: proftpd not running"
> exit 1
> fi
> ;;
>
> restart)
> if [ -n "$pid" ]; then
> echo "Rehashing proftpd configuration"
> kill -HUP $pid
>
> else
>
> echo "$0: proftpd not running"
> exit 1
> fi
> ;;
>
> *)
> echo "usage: $0 {start|stop|restart}"
> exit 1
>
> ;;
>
> esac
>
> exit 0
> ****************
> la riga incriminata secondo me è quella dove compaiono
> i tre asterischi commentati: in pratica *dovrebbe* creare il file
> proftpd.pid che serve poi nelle altre righe da controllo se il server
> è già su, ma non fa un tubazzo. Se aggiungo un ! all'interno dell'IF
> crea il file ma vuoto e quindi non ha comunque il pid.
> Dalla mia (poca) esperienza di sviluppo e da quello che succede
> direi che è fatto coi piedi.
> Agli esperti l'ardua sentenza.........
> Grazie in anticipo.
> Maurizio
Ciao,
uno strumento piu' che una soluzione: esegui lo script con
"sh -x nomescript" e così hai un tracing dell'esecuzione dello script.
Molto probabilmente sarai in grado da solo di scoprire il baco, anche
perchè è difficile che sia lo script errato, ma verosimilmente la
posizione dei files copiati quando hai dato il "make install".
Sapendo che distro usi forse qualcosa si potrebbe speculare, così' a
occhio hai dato il "./configure" senza nessuno switch particolare (come
minimo un --prefix=/usr sotto slack ad esempio io lo darei) e quindi non
"in stile" con la posizione dei vari files della tua distro.
Per me dovresti vedere dov'è l'eseguibile ("which proftpd") e sistemare
questa riga:
#FTPD_BIN=/usr/local/sbin/proftpd
FTPD_BIN=/usr/sbin/proftpd
Ma ripeto, così a naso è dura dirlo.
Stefano
PS: a seconda dell'uso che ne devi fare, puo' essere fondamentale
sistemare i files nei posti giusti quando compili dai sorgenti,
soprattutto per non avere doppioni e impazzire a modificare un file d
configurazione in /etc/ quando in realtà compilando a mano il server lo
script usato è in /usr/local/etc. Finchè lo usi per te fa nulla, ma è un
po come la programmazione: se deve metterci mano qualcun'altro ci
impazzisce ;)
s.
Maggiori informazioni sulla lista
glug