Deluge na Debian Wheezy
Povedal vam bom o odjemalcu za prenos torrentov z imenom Deluge. Cilj je namestiti in konfigurirati na strežniku Debian Wheezy Linux.
Deluge ima grafični vmesnik (GUI), ki je na voljo prek spleta. Ponujam to objavo o tem programu, ker sem vanj preselil svojo aplikacijo uTorrent iz več razlogov.
Prvič, razvijalci uTorrenta niso posodobili svoje alfa različice od maja 2012. Drugič, ker je slednja napisana v JAVA in je zato porabila veliko virov. In končno, ker koda ni odprta. Skratka, Deluge je napisan v pythonu, odprtokoden in ga vedno podpira skupnost razvijalcev.
Tukaj je končni spletni vmesnik
namestitev
Program in njegov GUI sta na voljo v repozitorijih in zato preprost ukaz omogoča namestitev:
1
|
apt–get install deluged deluge–web
|
V nunuxu morate iz varnostnih razlogov vedno ustvariti uporabnika za vsako aplikacijo. Zato ustvarimo svojega specifičnega uporabnika
1
|
adduser deluge
|
Za testiranje se povežemo s tem uporabnikom in zaženemo demona
1
|
su deluge deluged
|
Nato zaženemo spletni vmesnik
1
|
deluge–web —fork
|
Za testiranje gremo na naslov našega strežnika na vratih 8112 privzeto http: // server_ip: 8112
Privzeto geslo je »deluge«. Vabim vas, da ga takoj spremenite v nastavitvah aplikacije. V nasprotnem primeru pustite naslov svojega strežnika v komentarju, da vsak igralec doda torrent po svoji izbiri
Na tej stopnji je program funkcionalen. Zdaj bomo dodali zagonski skript. Ta vrsta skripta se imenuje skript "init". Ta skript bo naredil več stvari:
- Ko zaženete stroj, zaženite Deluge motor in njegov spletni vmesnik
- Upravljajte zagon ali zaustavitev programa, ne da bi se morali prijaviti pod določenim uporabnikom
Začnemo s tem prvim scenarijem. Ustvarite datoteko / etc / default / deluge-daemon in postavite naslednje vrstice
1
|
<span style=« font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; »># Configuration for /etc/init.d/deluge-daemon</span>
|
1
2
3
4
5
|
# The init.d script will only run if this variable non-empty.
DELUGED_USER=« deluge » # !!!CHANGE THIS!!!!
# Should we run at startup?
RUN_AT_STARTUP=« YES »
|
V 4. vrstico morate vnesti ime določenega uporabnika.
Nato moramo ustvariti zadnjo datoteko pod /etc/init.d/deluge-daemon in tam postaviti naslednje vrstice
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
#!/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
# Updated by: Jean-Philippe « Orax » Roemer
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 to verify if a pid is alive
#
is_alive()
{
pid=`cat $1` > /dev/null 2>&1
kill –0 $pid > /dev/null 2>&1
return $?
}
#
# 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
is_alive $PIDFILE1
RETVAL1=« $? »
if [ $RETVAL1 != 0 ]; then
rm –f $PIDFILE1
start–stop–daemon —start —background —quiet —pidfile $PIDFILE1 —make–pidfile —
exec $DAEMON1 —chuid $DELUGED_USER —user $DELUGED_USER —umask $UMASK — $DAEMON1_ARGS
RETVAL1=« $? »
else
is_alive $PIDFILE2
RETVAL2=« $? »
[ « $RETVAL2 » = « 0 » –a « $RETVAL1 » = « 0 » ] && return 1
fi
is_alive $PIDFILE2
RETVAL2=« $? »
if [ $RETVAL2 != 0 ]; then
sleep 2
rm –f $PIDFILE2
start–stop–daemon —start —background —quiet —pidfile $PIDFILE2 —make–pidfile –
–exec $DAEMON2 —chuid $DELUGED_USER —user $DELUGED_USER —umask $UMASK — $DAEMON2_ARGS
RETVAL2=« $? »
fi
[ « $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
:
|
Skript naredimo izvedljiv
1
|
chmod 755 /etc/init.d/deluge–daemon
|
Prepričamo se, da se skript zažene ob zagonu stroja
1
|
update–rc.d deluge–daemon defaults
|
Na koncu za testiranje zaženemo storitev prek skripta
1
|
/etc/init.d/deluge–daemon start
|
Nazadnje, če razmišljate o odprtju vrat za dostop iz interneta, vam svetujem, da preberete varnostni del z Fail2ban.