Pour ce tutoriel : http://mondedie.fr/d/6674
Merci de me rapporter erreurs, bugs, critiques, suggestions etc ...
Merci de me rapporter erreurs, bugs, critiques, suggestions etc ...
/etc/init.d/sickbeard_xataz start && /etc/init.d/sickbeard_xataz start
en /etc/init.d/sickbeard_xataz start && /etc/init.d/sickbeard_xataz stop
service sickbeard_xataz start && service sickbeard_xataz stop
root@rutorrent:/opt# /etc/init.d/sickbeard_kevin start && /etc/init.d/sickbeard_kevin stop
/etc/init.d/sickbeard_kevin: 29: /etc/init.d/sickbeard_kevin: --config=/opt/sickbeard/data/kevin/data/config.ini: not found
Starting SickBeard pour kevin
/usr/bin/python: can't open file 'SickBeard.py': [Errno 2] No such file or directory
Il ne me créer pas les fichiers dans mon repertoire data.DAEMON=python
J'ai plus que cette erreur : root@rutorrent:~# /etc/init.d/sickbeard_kevin start && /etc/init.d/sickbeard_kevin stop
/etc/init.d/sickbeard_kevin: 27: /etc/init.d/sickbeard_kevin: --config=/opt/sickbeard/data/kevin/data/config.ini: not found
/etc/init.d/sickbeard_kevin: 27: /etc/init.d/sickbeard_kevin: --config=/opt/sickbeard/data/kevin/data/config.ini: not found
#!/bin/sh
ne redirige pas vers le bon shell. Peux tu tenter de le remplacer par #!/bin/bash
.. /lib/lsb/init-functions
, un set -xa
. Ceci permettra de passer en debug, et il faudrait que tu me copie toute la sortie.root@rutorrent:/etc/init.d# /etc/init.d/sickbeard_kevin start
+ . /lib/lsb/init-functions
+++ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
++ for hook in '$(run-parts --lsbsysinit --list /lib/lsb/init-functions.d 2>/dev/null)'
++ '[' -r /lib/lsb/init-functions.d/20-left-info-blocks ']'
++ . /lib/lsb/init-functions.d/20-left-info-blocks
++ FANCYTTY=
++ '[' -e /etc/lsb-base-logging.sh ']'
++ true
+ SB_USER=kevin
+ SB_INSTALL=/opt/sickbeard
+ NAME=sickbeard_kevin
+ DESC='SickBeard pour kevin'
+ SB_HOME=/opt/sickbeard/data
+ SB_DATA=/opt/sickbeard/data/kevin/data
+ SB_OPTS=
+ --config=/opt/sickbeard/data/kevin/data/config.ini
/etc/init.d/sickbeard_kevin: line 27: --config=/opt/sickbeard/data/kevin/data/config.ini: No such file or directory
+ SB_PIDFILE=/opt/sickbeard/data/kevin/data/sickbeard.pid
+ RUN_AS=kevin
+ APP_PATH=/opt/sickbeard/data
+ DATA_DIR=/opt/sickbeard/data/kevin/data
+ PID_FILE=/opt/sickbeard/data/kevin/data/sickbeard.pid
+ DAEMON=python
+ EXTRA_DAEMON_OPTS=
+ EXTRA_SSD_OPTS=
++ dirname /opt/sickbeard/data/kevin/data/sickbeard.pid
+ PID_PATH=/opt/sickbeard/data/kevin/data
+ DAEMON_OPTS='SickBeard.py -q --daemon --nolaunch --pidfile=/opt/sickbeard/data/kevin/data/sickbeard.pid --datadir=/opt/sickbeard/data/kevin/data '
+ test -x python
+ exit 0
root@rutorrent:/etc/init.d# ls /opt/sickbeard/data/kevin/
ls: cannot access /opt/sickbeard/data/kevin/: No such file or directory
root@rutorrent:/etc/init.d# ls /opt/sickbeard/data/
css images interfaces js
root@rutorrent:/etc/init.d#
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: sickbeard
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Should-Start: $NetworkManager
# Should-Stop: $NetworkManager
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Daemon pour sickbeard
# Description: Permets le lancement de sickbeard en multi-utilisateurs
### END INIT INFO
. /lib/lsb/init-functions
# A modifier
SB_USER=kevin
SB_INSTALL=/opt/sickbeard
# Pas touche
NAME=sickbeard_$SB_USER
DESC="SickBeard pour $SB_USER"
SB_HOME=$SB_INSTALL
SB_DATA=$SB_HOME/data/$SB_USER
SB_OPTS= --config=$SB_DATA/config.ini
SB_PIDFILE=$SB_DATA/sickbeard.pid
# default
RUN_AS=${SB_USER-sickbeard}
APP_PATH=${SB_HOME-/opt/sickbeard}
DATA_DIR=${SB_DATA-/opt/sickbeard}
PID_FILE=${SB_PIDFILE-/var/run/sickbeard/sickbeard.pid}
DAEMON=${PYTHON_BIN-/usr/bin/python}
EXTRA_DAEMON_OPTS=${SB_OPTS-}
EXTRA_SSD_OPTS=${SSD_OPTS-}
PID_PATH=`dirname $PID_FILE`
DAEMON_OPTS=" SickBeard.py -q --daemon --nolaunch --pidfile=${PID_FILE} --datadir=${DATA_DIR} ${EXTRA_DAEMON_OPTS}"
test -x $DAEMON || exit 0
set -e
if [ ! -d $PID_PATH ]; then
mkdir -p $PID_PATH
chown $RUN_AS $PID_PATH
fi
if [ ! -d $DATA_DIR ]; then
mkdir -p $DATA_DIR
chown $RUN_AS $DATA_DIR
fi
if [ -e $PID_FILE ]; then
PID=`cat $PID_FILE`
if ! kill -0 $PID > /dev/null 2>&1; then
echo "Removing stale $PID_FILE"
rm $PID_FILE
fi
fi
d_start() {
echo "Starting $DESC"
start-stop-daemon -d $APP_PATH -c $RUN_AS $EXTRA_SSD_OPTS --start --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
}
d_stop() {
echo "Stopping $DESC"
start-stop-daemon --stop --pidfile $PID_FILE --retry 15
}
case "$1" in
start)
d_start
;;
stop)
d_stop
;;
restart|force-reload)
d_stop
sleep 2
d_start
;;
status)
status_of_proc -p "$PID_FILE" "$DAEMON" "$DESC"
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|status|force-reload}" >&2
exit 1
;;
esac
exit 0
Je l'ai directement configurer à ton nom, dit moi si ca marche, que je modifie directement le daemon du tuto.root@rutorrent:/etc/init.d# /etc/init.d/sickbeard_kevin start
/etc/init.d/sickbeard_kevin: 29: /etc/init.d/sickbeard_kevin: --config=/opt/sickbeard/data/kevin/config.ini: not found
Starting SickBeard pour kevin
root@rutorrent:/etc/init.d# /etc/init.d/sickbeard_kevin stop
/etc/init.d/sickbeard_kevin: 29: /etc/init.d/sickbeard_kevin: --config=/opt/sickbeard/data/kevin/config.ini: not found
Stopping SickBeard pour kevin
root@rutorrent:/etc/init.d# /etc/init.d/sickbeard_kevin start
/etc/init.d/sickbeard_kevin: 29: /etc/init.d/sickbeard_kevin: --config=/opt/sickbeard/data/kevin/config.ini: not found
Starting SickBeard pour kevin
root@rutorrent:/etc/init.d#
Un peu mieux mais toujours le not found. ^^root@rutorrent:/etc/init.d# find / -name "config.ini"
/var/www/seedbox-manager/conf/config.ini
/var/www/seedbox-manager/conf/users/kevin/config.ini
/opt/sickbeard/config.ini
/opt/sickbeard/data/kevin/config.ini
root@rutorrent:/etc/init.d#
SB_OPTS= --config=$SB_DATA/config.ini
par :
SB_OPTS=--config=$SB_DATA/config.ini
En fait l'espace est de trop, et comme on peu le voir dans le debug, il considère --config.... comme une commande complète, qu'il ne trouve pas évidemment :
+ SB_OPTS=
+ --config=/opt/sickbeard/data/kevin/data/config.ini
/etc/init.d/sickbeard_kevin: line 27: --config=/opt/sickbeard/data/kevin/data/config.ini: No such file or directory
Par contre vérifie que le deamon n'est pas lancer quand même, car il se peux qu'il squeeze cette variable et le lance avec les paramètres par défaut. Pour ce faire une petit :
$ ps aux | grep sickbeard | grep -v grep
xataz 20788 2.3 0.7 1113124 56776 ? Sl 13:11 0:00 /usr/bin/python SickBeard.py -q --daemon --nolaunch --pidfile=/opt/sickrage2/xataz/data/sickbeard.pid --datadir=/opt/sickrage2/xataz/data --config=/opt/sickrage2/xataz/data/config.ini
et tu kill
$ kill -9 20788
Ensuite relance, et cela devrait fonctionner.server {
listen 80 default_server;
listen 443 default_server ssl;
server_name _;
index index.html index.php;
charset utf-8;
client_max_body_size 10M;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
access_log /var/log/nginx/rutorrent-access.log combined;
error_log /var/log/nginx/rutorrent-error.log error;
error_page 500 502 503 504 /50x.html;
location = /50x.html { root /usr/share/nginx/html; }
auth_basic "seedbox";
auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";
location = /favicon.ico {
access_log off;
log_not_found off;
}
## début config accueil serveur ##
location ^~ / {
root /var/www/base;
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
satisfy any;
allow all;
}
## fin config accueil serveur ##
## début config proxy ##
location ^~ /proxy {
root /var/www;
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
}
## fin config proxy ##
## début config rutorrent ##
location ^~ /rutorrent {
root /var/www;
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
location ~ /\.svn {
deny all;
}
location ~ /\.ht {
deny all;
}
}
location ^~ /rutorrent/conf/ {
deny all;
}
location ^~ /rutorrent/share/ {
deny all;
}
## fin config rutorrent ##
## début config munin ##
location ^~ /graph {
root /var/www;
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
}
location ^~ /graph/img {
root /var/www;
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
error_log /dev/null crit;
}
location ^~ /monitoring {
root /var/www;
include /etc/nginx/conf.d/php;
include /etc/nginx/conf.d/cache;
}
## fin config munin ##
## début config seedbox-manager ##
location ^~ /seedbox-manager {
alias /var/www/seedbox-manager/public;
include /etc/nginx/conf.d/php-manager;
include /etc/nginx/conf.d/cache;
}
## fin config seedbox-manager ##
location /sickbeard {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_redirect off;
rewrite ^/sickbeard(/.*)$ $1;
if ($remote_user = "kevin") {
proxy_pass http://127.0.0.1:20001;
break;
}
}
## config utilisateurs ##
location /KEVIN {
include scgi_params;
scgi_pass 127.0.0.1:5003; #ou socket : unix:/home/username/.session/username.socket
auth_basic "seedbox";
auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_kevin";
}
}
$ tail -20 /var/log/nginx/rutorrent-access.log
et
$ tail -20 /var/log/nginx/rutorrent-error.log
Ensuite peux tu poster le résultat de cette commande :
iptables -L -v -n
J'ai plutôt l'impression que le problème vient d'un problème de port [19/May/2015:14:11:00 +0200] "GET /sickbeard/ HTTP/1.1" 200 917 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
/etc/init.d/sickbeard_user1 start && /etc/init.d/sickbeard_user1 stop
et voici la réponse :[....] Starting sickbeard_user1 (via systemctl): sickbeard_user1.serviceFailed to start sickbeard_user1.service: Unit sickbeard_user1.service failed to load: No such file or directory.
failed!
Une idée ?#!/bin/bash
#
### BEGIN INIT INFO
# Provides: sickbeard
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Should-Start: $NetworkManager
# Should-Stop: $NetworkManager
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Daemon pour sickbeard
# Description: Permets le lancement de sickbeard en multi-utilisateurs
### END INIT INFO
. /lib/lsb/init-functions
# A modifier
SB_USER=user1
SB_INSTALL=/opt/sickbeard
# Pas touche
NAME=sickbeard_$SB_USER
DESC="SickBeard pour $SB_USER"
SB_HOME=$SB_INSTALL
SB_DATA=$SB_HOME/data/$SB_USER
SB_OPTS=--config=$SB_DATA/config.ini
SB_PIDFILE=$SB_DATA/sickbeard.pid
# default
RUN_AS=${SB_USER-sickbeard}
APP_PATH=${SB_HOME-/opt/sickbeard}
DATA_DIR=${SB_DATA-/opt/sickbeard}
PID_FILE=${SB_PIDFILE-/var/run/sickbeard/sickbeard.pid}
DAEMON=${PYTHON_BIN-/usr/bin/python}
EXTRA_DAEMON_OPTS=${SB_OPTS-}
EXTRA_SSD_OPTS=${SSD_OPTS-}
PID_PATH=`dirname $PID_FILE`
DAEMON_OPTS=" SickBeard.py -q --daemon --nolaunch --pidfile=${PID_FILE} --datadir=${DATA_DIR} ${EXTRA_DAEMON_OPTS}"
test -x $DAEMON || exit 0
set -e
if [ ! -d $PID_PATH ]; then
mkdir -p $PID_PATH
chown $RUN_AS $PID_PATH
fi
if [ ! -d $DATA_DIR ]; then
mkdir -p $DATA_DIR
chown $RUN_AS $DATA_DIR
fi
if [ -e $PID_FILE ]; then
PID=`cat $PID_FILE`
if ! kill -0 $PID > /dev/null 2>&1; then
echo "Removing stale $PID_FILE"
rm $PID_FILE
fi
fi
d_start() {
echo "Starting $DESC"
start-stop-daemon -d $APP_PATH -c $RUN_AS $EXTRA_SSD_OPTS --start --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
}
d_stop() {
echo "Stopping $DESC"
start-stop-daemon --stop --pidfile $PID_FILE --retry 15
}
case "$1" in
start)
d_start
;;
stop)
d_stop
;;
restart|force-reload)
d_stop
sleep 2
d_start
;;
status)
status_of_proc -p "$PID_FILE" "$DAEMON" "$DESC"
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|status|force-reload}" >&2
exit 1
;;
esac
exit 0
chmod +x /etc/init.d/sickbear_user1