5
Апр
4

Linux: Установка и настройка Deluge + веб-интерфейса в Debian

Будем считать, что у нас уже есть установленный и настроенный Debian. Итак, начнем:

  1. Прежде всего нужно установить deluge:
    aptitude install deluged deluge-web deluge-common
  2. Теперь необходимо наколдовать с автозапуском, чтобы демон deluged и web-ui стартовали во время загрузки компа. По этому вопросу я нашёл скрипты на офф. сайте
  3. Командуем:
    nano /etc/default/deluge-daemon

    И в появившемся окне пишем:

    # Configuration for /etc/init.d/deluge-daemon
    # The init.d script will only run if this variable non-empty.
    DELUGED_USER=""             # !!!CHANGE THIS!!!!
    # Should we run at startup?
    RUN_AT_STARTUP="YES"
  4. Теперь создаем сам скрипт
    nano /etc/init.d/deluge-daemon

    И копипастим туда вот этот код:

    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          deluge-daemon
    # Required-Start:    $local_fs $remote_fs
    # Required-Stop:     $local_fs $remote_fs
    # Should-Start:      $network
    # Should-Stop:       $network
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Daemonized version of deluge and webui.
    # Description:       Starts the deluge daemon with the user specified in
    #                    /etc/default/deluge-daemon.
    ### END INIT INFO
     
    # Author: Adolfo R. Brandes 
     
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    DESC="Deluge Daemon"
    NAME1="deluged"
    NAME2="deluge"
    DAEMON1=/usr/bin/deluged
    DAEMON1_ARGS="-d"             # Consult `man deluged` for more options
    DAEMON2=/usr/bin/deluge-web
    DAEMON2_ARGS=""               # Consult `man deluge-web` for more options
    PIDFILE1=/var/run/$NAME1.pid
    PIDFILE2=/var/run/$NAME2.pid
    UMASK=022                     # Change this to 0 if running deluged as its own user
    PKGNAME=deluge-daemon
    SCRIPTNAME=/etc/init.d/$PKGNAME
     
    # Exit if the package is not installed
    [ -x "$DAEMON1" -a -x "$DAEMON2" ] || exit 0
     
    # Read configuration variable file if it is present
    [ -r /etc/default/$PKGNAME ] && . /etc/default/$PKGNAME
     
    # Load the VERBOSE setting and other rcS variables
    [ -f /etc/default/rcS ] && . /etc/default/rcS
     
    # Define LSB log_* functions.
    # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
    . /lib/lsb/init-functions
     
    if [ -z "$RUN_AT_STARTUP" -o "$RUN_AT_STARTUP" != "YES" ]
    then
       log_warning_msg "Not starting $PKGNAME, edit /etc/default/$PKGNAME to start it."
       exit 0
    fi
     
    if [ -z "$DELUGED_USER" ]
    then
        log_warning_msg "Not starting $PKGNAME, DELUGED_USER not set in /etc/default/$PKGNAME."
        exit 0
    fi
     
    #
    # Function that starts the daemon/service
    #
    do_start()
    {
       # Return
       #   0 if daemon has been started
       #   1 if daemon was already running
       #   2 if daemon could not be started
       start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --exec $DAEMON1 \
          --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null
       RETVAL1="$?"
       start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --exec $DAEMON2 \
          --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK --test > /dev/null
       RETVAL2="$?"
       [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 1
     
       start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --make-pidfile --exec $DAEMON1 \
          --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON1_ARGS
       RETVAL1="$?"
            sleep 2
       start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile --exec $DAEMON2 \
          --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON2_ARGS
       RETVAL2="$?"
       [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 2
    }
     
    #
    # Function that stops the daemon/service
    #
    do_stop()
    {
       # Return
       #   0 if daemon has been stopped
       #   1 if daemon was already stopped
       #   2 if daemon could not be stopped
       #   other if a failure occurred
     
       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE2
       RETVAL2="$?"
       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE1
       RETVAL1="$?"
       [ "$RETVAL1" = "2" -o "$RETVAL2" = "2" ] && return 2
     
       rm -f $PIDFILE1 $PIDFILE2
     
       [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] && return 0 || return 1
    }
     
    case "$1" in
      start)
       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME1"
       do_start
       case "$?" in
          0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
          2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
       esac
       ;;
      stop)
       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME1"
       do_stop
       case "$?" in
          0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
          2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
       esac
       ;;
      restart|force-reload)
       log_daemon_msg "Restarting $DESC" "$NAME1"
       do_stop
       case "$?" in
         0|1)
          do_start
          case "$?" in
             0) log_end_msg 0 ;;
             1) log_end_msg 1 ;; # Old process is still running
             *) log_end_msg 1 ;; # Failed to start
          esac
          ;;
         *)
            # Failed to stop
          log_end_msg 1
          ;;
       esac
       ;;
      *)
       echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
       exit 3
       ;;
    esac
     
    :
  5. Даём права на исполнение:
     chmod 755 /etc/init.d/deluge-daemon
  6. Добавляем скрипт в автозагрузку:
    update-rc.d deluge-daemon defaults
  7. Запускам демон или перезагружаем комп:
    /etc/init.d/deluge-daemon start

После всех этих нехитрых манипуляций у нас на сервере завёлся демон-торрент и его веб-морда, доступная по адресу http://<ваш_сервер>:8112/
Для входа в Web-ui используем дефолтный пароль «deluge». Для смены пароля заходим на сервер в Web-ui, потом Preferences >> Interface >> Password и меняем пароль!

Update: блин, на моём сервере до установки deluge стоял virtualmin… и вот незадача, при добавлении в автозагрузку deluge мне выдавалось сообщение такого содержания:

facility `$all' which can not be true!
insserv: Starting lookup-domain depends on stop-bootlogd and therefore on system

Все дело в скрипте lookup-domain, из-за него выдавались варнинги и прочее. Так как он мне не был нужен, я его просто удалил! Потратив на это 2 часа своей жизни… =((

Понравилась эта запись? Вы можете подписаться на RSS-ленту и читать новые записи сразу после их появления.
4 Comments:
  1. MuXauJl 17 Фев, 2012

    Спасибо, за инструкцию. Все работает, лишних танцев с бубном не понадобилось.

  2. Searcher 1 Май, 2012

    Спасибо. Все четко.

  3. Humble 7 Янв, 2013

    А вот у меня не все четко получилось =( После команды в пункте 7 сообщение выдает: Not starting deluge-daemon, edit /etc/default/deluge-daemon to start it. (warning).

  4. lvk 4 Май, 2013

    работает
    а русский язык можно както включить?

Оставить комментарий