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
Ce n'est pas grave merci d'avoir essayé. Xataz est sur le coup alors je suis très confianthydrog3n wrote:Ah debian 8... alors là je peux pas t'aider...
Pas de soucis. Merci.xataz wrote:Désolé, j'ai pas eu le temps de regarder hier soir, j'essaierai de trouver le temps ce soir.
/lib/lsb/init-functions
Je verrais pour refaire un daemon plus propres par la suite, par contre avec cette méthode, tu ne pourras pas avoir le status de l'instance (/etc/init.d/sickbeard_user1 status). Mais tu peux lancer et arrêter sickbeard sans problème.iptables -L -v -n
web_root = "/sickbeard"
Penser à stopper sickbeard avant de faire la modification, sinon la modification ne sera pas pris en compte.2015-06-04 11:13:33.373472 SEARCHQUEUE-MANUAL-SEARCH :: Error trying to load cpasbien response: timed out
2015-06-04 11:13:03.335134 SEARCHQUEUE-MANUAL-SEARCH :: Error trying to load cpasbien response: timed out
2015-06-04 11:12:33.304181 SEARCHQUEUE-MANUAL-SEARCH :: Error trying to load cpasbien response: timed out
2015-06-04 11:12:03.274806 SEARCHQUEUE-MANUAL-SEARCH :: Error trying to load cpasbien response: timed out
2015-06-04 11:11:33.241950 SEARCHQUEUE-MANUAL-SEARCH :: Error trying to load cpasbien response: timed out
2015-06-04 11:11:03.223063 SEARCHQUEUE-MANUAL-SEARCH :: Error trying to load cpasbien response: timed out
2015-06-04 11:10:33.193199 SEARCHQUEUE-MANUAL-SEARCH :: Error trying to load cpasbien response: timed out
2015-06-04 11:10:03.160465 SEARCHQUEUE-MANUAL-SEARCH :: Error trying to load cpasbien response: timed out
Merci !xataz wrote:Salut,
Malheureusement pas de solution simple, car sickbeard n'est de base pas prévu pour faire du multiutilisateurs.
Seul solution trouvé, installer chaque sickbeard dans un dockers, l'utilisateur aura toujours accès a une arborescence complète, mais virtuel.
Quand tu dis "Modifier la valeur allow_dir dans le config file de chacun"Staros wrote:Si vous vous sentez l'âme aventurier, voilà comment procéder: ( a faire a chaque maj, mais bon il ne devrait plus y en avoir:noel
Faites une sauvegarde avant si jamais
1. Stopper Sickbeard
2. Changer le fichier Sickbeard/__init__.py (j'ai encore so-torrent dessus, je sais pas si il avait été enlevé)
par https://gist.github.com/JohnDooe/abb236eb606d1c09819e
3. Changer le fichier Sickbread/browser.py
par https://gist.github.com/JohnDooe/fd4ede183035184a6d38
4. Lancer et stopper Sickbeard
5. Modifier la valeur allow_dir dans le config file de chacun
6. Relancer.
Sa devrait marcher
allow_dir = /Users/Staros
Pour autoriser que /Users/Staros (/Users/Staros/Series, /Users/Staros/Films ...)[General]
allow_dir = /Users/cyprien
toggle_search = ""
log_dir = Logs
web_port = 10001
web_host = 0.0.0.0
web_ipv6 = 0
web_log = 0
web_root = /sickbeard
web_username = ""
web_password = ""
use_api = 0
api_key = ""
enable_https = 0
https_cert = server.crt
https_key = server.key
use_nzbs = 1
use_torrents = 1
nzb_method = blackhole
torrent_method = blackhole
....
....
Et les autres fichiers indiqués sont les tiens