Deluge Install


SUBMITTED BY: Guest

DATE: March 1, 2015, 2:06 p.m.

FORMAT: Text only

SIZE: 7.1 kB

HITS: 2577

  1. Tutorial by Mikhail Danial - http://youtu.be/ahIdUr3yW64
  2. sudo apt-get update
  3. -----------------------------------------------------------------------
  4. sudo apt-get install apache2
  5. -----------------------------------------------------------------------
  6. sudo adduser --disabled-password --system --home /var/lib/deluge --gecos "SamRo Deluge server" --group deluge
  7. -----------------------------------------------------------------------
  8. sudo touch /var/log/deluged.log
  9. -----------------------------------------------------------------------
  10. sudo touch /var/log/deluge-web.log
  11. -----------------------------------------------------------------------
  12. sudo chown deluge:deluge /var/log/deluge*
  13. -----------------------------------------------------------------------
  14. sudo apt-get update
  15. -----------------------------------------------------------------------
  16. sudo apt-get install deluged
  17. -----------------------------------------------------------------------
  18. sudo apt-get install deluge-webui
  19. -----------------------------------------------------------------------
  20. sudo nano /etc/default/deluge-daemon
  21. -----------------------------------------------------------------------
  22. # Configuration for /etc/init.d/deluge-daemon
  23. # The init.d script will only run if this variable non-empty.
  24. DELUGED_USER="deluge"
  25. # Should we run at startup?
  26. RUN_AT_STARTUP="YES"
  27. -----------------------------------------------------------------------
  28. sudo nano /etc/init.d/deluge-daemon
  29. -----------------------------------------------------------------------
  30. #!/bin/sh
  31. ### BEGIN INIT INFO
  32. # Provides: deluge-daemon
  33. # Required-Start: $local_fs $remote_fs
  34. # Required-Stop: $local_fs $remote_fs
  35. # Should-Start: $network
  36. # Should-Stop: $network
  37. # Default-Start: 2 3 4 5
  38. # Default-Stop: 0 1 6
  39. # Short-Description: Daemonized version of deluge and webui.
  40. # Description: Starts the deluge daemon with the user specified in
  41. # /etc/default/deluge-daemon.
  42. ### END INIT INFO
  43. # Author: Adolfo R. Brandes
  44. # Updated by: Jean-Philippe "Orax" Roemer
  45. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  46. DESC="Deluge Daemon"
  47. NAME1="deluged"
  48. NAME2="deluge"
  49. DAEMON1=/usr/bin/deluged
  50. DAEMON1_ARGS="-d" # Consult `man deluged` for more options
  51. DAEMON2=/usr/bin/deluge-web
  52. DAEMON2_ARGS="" # Consult `man deluge-web` for more options
  53. PIDFILE1=/var/run/$NAME1.pid
  54. PIDFILE2=/var/run/$NAME2.pid
  55. UMASK=022 # Change this to 0 if running deluged as its own user
  56. PKGNAME=deluge-daemon
  57. SCRIPTNAME=/etc/init.d/$PKGNAME
  58. # Exit if the package is not installed
  59. [ -x "$DAEMON1" -a -x "$DAEMON2" ] || exit 0
  60. # Read configuration variable file if it is present
  61. [ -r /etc/default/$PKGNAME ] && . /etc/default/$PKGNAME
  62. # Load the VERBOSE setting and other rcS variables
  63. [ -f /etc/default/rcS ] && . /etc/default/rcS
  64. # Define LSB log_* functions.
  65. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
  66. . /lib/lsb/init-functions
  67. if [ -z "$RUN_AT_STARTUP" -o "$RUN_AT_STARTUP" != "YES" ]
  68. then
  69. log_warning_msg "Not starting $PKGNAME, edit /etc/default/$PKGNAME to start it."
  70. exit 0
  71. fi
  72. if [ -z "$DELUGED_USER" ]
  73. then
  74. log_warning_msg "Not starting $PKGNAME, DELUGED_USER not set in /etc/default/$PKGNAME."
  75. exit 0
  76. fi
  77. #
  78. # Function to verify if a pid is alive
  79. #
  80. is_alive()
  81. {
  82. pid=`cat $1` > /dev/null 2>&1
  83. kill -0 $pid > /dev/null 2>&1
  84. return $?
  85. }
  86. #
  87. # Function that starts the daemon/service
  88. #
  89. do_start()
  90. {
  91. # Return
  92. # 0 if daemon has been started
  93. # 1 if daemon was already running
  94. # 2 if daemon could not be started
  95. is_alive $PIDFILE1
  96. RETVAL1="$?"
  97. if [ $RETVAL1 != 0 ]; then
  98. rm -f $PIDFILE1
  99. start-stop-daemon --start --background --quiet --pidfile $PIDFILE1 --make-pidfile \
  100. --exec $DAEMON1 --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON1_ARGS
  101. RETVAL1="$?"
  102. else
  103. is_alive $PIDFILE2
  104. RETVAL2="$?"
  105. [ "$RETVAL2" = "0" -a "$RETVAL1" = "0" ] && return 1
  106. fi
  107. is_alive $PIDFILE2
  108. RETVAL2="$?"
  109. if [ $RETVAL2 != 0 ]; then
  110. sleep 2
  111. rm -f $PIDFILE2
  112. start-stop-daemon --start --background --quiet --pidfile $PIDFILE2 --make-pidfile \
  113. --exec $DAEMON2 --chuid $DELUGED_USER --user $DELUGED_USER --umask $UMASK -- $DAEMON2_ARGS
  114. RETVAL2="$?"
  115. fi
  116. [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] || return 2
  117. }
  118. #
  119. # Function that stops the daemon/service
  120. #
  121. do_stop()
  122. {
  123. # Return
  124. # 0 if daemon has been stopped
  125. # 1 if daemon was already stopped
  126. # 2 if daemon could not be stopped
  127. # other if a failure occurred
  128. start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE2
  129. RETVAL2="$?"
  130. start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $DELUGED_USER --pidfile $PIDFILE1
  131. RETVAL1="$?"
  132. [ "$RETVAL1" = "2" -o "$RETVAL2" = "2" ] && return 2
  133. rm -f $PIDFILE1 $PIDFILE2
  134. [ "$RETVAL1" = "0" -a "$RETVAL2" = "0" ] && return 0 || return 1
  135. }
  136. case "$1" in
  137. start)
  138. [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME1"
  139. do_start
  140. case "$?" in
  141. 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  142. 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  143. esac
  144. ;;
  145. stop)
  146. [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME1"
  147. do_stop
  148. case "$?" in
  149. 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  150. 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  151. esac
  152. ;;
  153. restart|force-reload)
  154. log_daemon_msg "Restarting $DESC" "$NAME1"
  155. do_stop
  156. case "$?" in
  157. 0|1)
  158. do_start
  159. case "$?" in
  160. 0) log_end_msg 0 ;;
  161. 1) log_end_msg 1 ;; # Old process is still running
  162. *) log_end_msg 1 ;; # Failed to start
  163. esac
  164. ;;
  165. *)
  166. # Failed to stop
  167. log_end_msg 1
  168. ;;
  169. esac
  170. ;;
  171. *)
  172. echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
  173. exit 3
  174. ;;
  175. esac
  176. :
  177. -----------------------------------------------------------------------
  178. sudo chmod a+x /etc/init.d/deluge-daemon
  179. -----------------------------------------------------------------------
  180. sudo update-rc.d deluge-daemon defaults
  181. -----------------------------------------------------------------------
  182. sudo reboot -h now
  183. -----------------------------------------------------------------------

comments powered by Disqus