Advertisement
Guest User

Untitled

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