Начнем настройку торрент-сервера
У меня том для файлов монтируется в точку /ftp
Для доступа к файлам торрент сервера я использую протокол nfs.
создадим папку для шар
mkdir /ftp
установим разрешения
chmod 777 /ftp
Устанвим сервис nfs
yum install nfs-utils-1.2.3-26.el6.i686 nfs4-acl-tools-0.3.3-6.el6.i686 rpcbind-0.2.0-9.el6.i686
отредактируем файл конфигурации /etc/exports добавим в конец следующую строчку.
/ftp/files 192.168.254.0/24(rw,sync,no_subtree_check)
Теперь установим сам торрент клиент.
Я выбрал для себя transmission-daemon, начнем .
1. Установим недостающие пакеты
yum install gcc gcc-c++ m4 make automake libtool gettext openssl-devel wget
Подготовка каталога, получение исходного кода:
cd /usr/local/src
mkdir transmission
cd transmission
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz
wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz
wget http://curl.haxx.se/download/curl-7.19.7.tar.gz
wget http://mirrors.m0k.org/transmission/files/transmission-1.80.tar.bz2
tar -xzfv pkg-config-0.23.tar.gz
tar -xzfv intltool-0.40.6.tar.gz
tar -xzfv curl-7.19.7.tar.gz
tar -xjfv transmission-1.80.tar.bz2
Сборка:
cd pkg-config-0.23
./configure
make
make install
cd ../intltool-0.40.6
./configure
make
make install
Если при конфигурировании вылетит с ошибкой про модуль perl XML::Parser нужн установить этот пакет следующей командой
ставим пакет
yum install perl-CPAN.i686
#perl -MCPAN -e "shell"
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.
cpan[1]> install XML::Parser
make
make install
cd ../curl-7.19.7
./configure
make
make install
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
cd ../transmission-1.80
./configure --enable-daemon
make
make install
Настройка web-интерфейса для httpd, файл /etc/httpd/conf/httpd.conf:
Alias /transmission/web /usr/local/share/transmission/web
RewriteEngine on
RewriteRule /transmission[/]?$ /transmission/web [R=permanent]
ProxyPass /transmission http://127.0.0.1:9091/transmission
ProxyPassReverse /transmission http://127.0.0.1:9091/transmission
<Location /transmission>
Options None
Order allow,deny
Allow from 127.0.0.1
<IfModule expires_module>
ExpiresActive On
ExpiresByType image/gif A43200
ExpiresByType image/png A43200
ExpiresByType application/javascript A43200
ExpiresByType text/css A43200
</IfModule>
</Location>
Если доступа у web панели не будет надо выплнить след команду
#usr/sbin/setsebool httpd_can_network_connect true
Создадим рабочие каталоги для transmission-daemon
#cd /ftp
#mkdir .config
# mkdir /ftp/.config/ blacklist torrent resume
Примерный файл конфигурации transmission-daemon
settings.json который находиться в /ftp/.config/ в моем случае.
{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"dht-enabled": true,
"download-dir": "\/ftp\/files",
"encryption": 1,
"incomplete-dir": "\/ftp\/.config\/transmission-daemon\/Incomplete",
"incomplete-dir-enabled": false,
"lazy-bitfield-enabled": true,
"message-level": 2,
"open-file-limit": 32,
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": 0,
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"ratio-limit": 2.0000,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": false,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "{89bc527e52f4ef97c9c0bb18d5db84708dddcf73V1zBlrAm",
"rpc-port": 19091,
"rpc-username": "ntimmy",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": true,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"umask": 18,
"upload-slots-per-torrent": 14,
"watch-dir": "\/ftp\/files\/torrents\/",
"watch-dir-enabled": true
}
Скрипт запуска transmission-daemon
Переменная home указывает на домшнюю папку где находятся файлы конфигурации transmission-daemon
#!/bin/sh
#
# transmission Start/Stop the transmission-daemon daemon.
#
# chkconfig: 2345 99 01
# description: transmission-daemon is a daemon-based Transmission session
# that can be controlled via RPC commands from
# transmission’s web interface or transmission-remote
# processname: transmission-daemon
# pidfile: /var/run/transmission.pid
# Source function library.
. /etc/init.d/functions
options='--allowed 127.0.0.1 --no-auth'
processname='/usr/local/bin/transmission-daemon'
lockfile='/var/lock/subsys/transmission'
pidfile='/var/run/transmission.pid'
user='root'
home='/ftp'
start() {
export HOME=$home
echo -n $"Starting $processname: "
if [ -e $lockfile ]; then
if [ -e $pidfile ] && [ -e /proc/`cat $pidfile` ]; then
echo -n $"cannot start $processname: $processname is already running."
failure $"cannot start $processname: $processname already running."
echo
return 1
fi
fi
daemon $processname $options
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
[ $RETVAL -eq 0 ] && ps ax | grep -w $processname | grep -v grep | awk '{print($1)}' > $pidfile
return $RETVAL
}
stop() {
export HOME=$home
echo -n $"Stopping $processname: "
if [ ! -e $lockfile ]; then
echo -n $"cannot stop $processname: $processname is not running."
failure $"cannot stop $processname: $processname is not running."
echo
return 1;
fi
killproc $processname
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
[ $RETVAL -eq 0 ] && rm -f $pidfile
return $RETVAL
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $processname
;;
*)
echo "Usage: $0 start|stop|restart|status"
;;
esac
Отключим SELinux
/usr/sbin/setsebool -P httpd_can_network_connect 1
У меня том для файлов монтируется в точку /ftp
Для доступа к файлам торрент сервера я использую протокол nfs.
создадим папку для шар
mkdir /ftp
установим разрешения
chmod 777 /ftp
Устанвим сервис nfs
yum install nfs-utils-1.2.3-26.el6.i686 nfs4-acl-tools-0.3.3-6.el6.i686 rpcbind-0.2.0-9.el6.i686
отредактируем файл конфигурации /etc/exports добавим в конец следующую строчку.
/ftp/files 192.168.254.0/24(rw,sync,no_subtree_check)
Теперь установим сам торрент клиент.
Я выбрал для себя transmission-daemon, начнем .
1. Установим недостающие пакеты
yum install gcc gcc-c++ m4 make automake libtool gettext openssl-devel wget
Подготовка каталога, получение исходного кода:
cd /usr/local/src
mkdir transmission
cd transmission
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz
wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz
wget http://curl.haxx.se/download/curl-7.19.7.tar.gz
wget http://mirrors.m0k.org/transmission/files/transmission-1.80.tar.bz2
tar -xzfv pkg-config-0.23.tar.gz
tar -xzfv intltool-0.40.6.tar.gz
tar -xzfv curl-7.19.7.tar.gz
tar -xjfv transmission-1.80.tar.bz2
Сборка:
cd pkg-config-0.23
./configure
make
make install
cd ../intltool-0.40.6
./configure
make
make install
Если при конфигурировании вылетит с ошибкой про модуль perl XML::Parser нужн установить этот пакет следующей командой
ставим пакет
yum install perl-CPAN.i686
#perl -MCPAN -e "shell"
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.
cpan[1]> install XML::Parser
make
make install
cd ../curl-7.19.7
./configure
make
make install
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
cd ../transmission-1.80
./configure --enable-daemon
make
make install
Настройка web-интерфейса для httpd, файл /etc/httpd/conf/httpd.conf:
Alias /transmission/web /usr/local/share/transmission/web
RewriteEngine on
RewriteRule /transmission[/]?$ /transmission/web [R=permanent]
ProxyPass /transmission http://127.0.0.1:9091/transmission
ProxyPassReverse /transmission http://127.0.0.1:9091/transmission
<Location /transmission>
Options None
Order allow,deny
Allow from 127.0.0.1
<IfModule expires_module>
ExpiresActive On
ExpiresByType image/gif A43200
ExpiresByType image/png A43200
ExpiresByType application/javascript A43200
ExpiresByType text/css A43200
</IfModule>
</Location>
Если доступа у web панели не будет надо выплнить след команду
#usr/sbin/setsebool httpd_can_network_connect true
Создадим рабочие каталоги для transmission-daemon
#cd /ftp
#mkdir .config
# mkdir /ftp/.config/ blacklist torrent resume
Примерный файл конфигурации transmission-daemon
settings.json который находиться в /ftp/.config/ в моем случае.
{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"dht-enabled": true,
"download-dir": "\/ftp\/files",
"encryption": 1,
"incomplete-dir": "\/ftp\/.config\/transmission-daemon\/Incomplete",
"incomplete-dir-enabled": false,
"lazy-bitfield-enabled": true,
"message-level": 2,
"open-file-limit": 32,
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": 0,
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"ratio-limit": 2.0000,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": false,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "{89bc527e52f4ef97c9c0bb18d5db84708dddcf73V1zBlrAm",
"rpc-port": 19091,
"rpc-username": "ntimmy",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": true,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"umask": 18,
"upload-slots-per-torrent": 14,
"watch-dir": "\/ftp\/files\/torrents\/",
"watch-dir-enabled": true
}
Скрипт запуска transmission-daemon
Переменная home указывает на домшнюю папку где находятся файлы конфигурации transmission-daemon
#!/bin/sh
#
# transmission Start/Stop the transmission-daemon daemon.
#
# chkconfig: 2345 99 01
# description: transmission-daemon is a daemon-based Transmission session
# that can be controlled via RPC commands from
# transmission’s web interface or transmission-remote
# processname: transmission-daemon
# pidfile: /var/run/transmission.pid
# Source function library.
. /etc/init.d/functions
options='--allowed 127.0.0.1 --no-auth'
processname='/usr/local/bin/transmission-daemon'
lockfile='/var/lock/subsys/transmission'
pidfile='/var/run/transmission.pid'
user='root'
home='/ftp'
start() {
export HOME=$home
echo -n $"Starting $processname: "
if [ -e $lockfile ]; then
if [ -e $pidfile ] && [ -e /proc/`cat $pidfile` ]; then
echo -n $"cannot start $processname: $processname is already running."
failure $"cannot start $processname: $processname already running."
echo
return 1
fi
fi
daemon $processname $options
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
[ $RETVAL -eq 0 ] && ps ax | grep -w $processname | grep -v grep | awk '{print($1)}' > $pidfile
return $RETVAL
}
stop() {
export HOME=$home
echo -n $"Stopping $processname: "
if [ ! -e $lockfile ]; then
echo -n $"cannot stop $processname: $processname is not running."
failure $"cannot stop $processname: $processname is not running."
echo
return 1;
fi
killproc $processname
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
[ $RETVAL -eq 0 ] && rm -f $pidfile
return $RETVAL
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $processname
;;
*)
echo "Usage: $0 start|stop|restart|status"
;;
esac
Отключим SELinux
/usr/sbin/setsebool -P httpd_can_network_connect 1
Комментариев нет:
Отправить комментарий