Показывать "торрент"-файлы пользователям будем с помощью HTTP сервера Nginx. Устанавливаем его:
# aptitude install nginx
Делаем резервные копии затрагиваемых нами конфигурационных файлов:
# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.dist
Перейдем к конфигурированию Nginx.
Общая конфигурация Nginx находится в файле "/etc/nginx/nginx.conf", конфигурации хостов и сайтов описываются в файлах, располагающихся в директориях "/etc/nginx/conf.d." и "/etc/nginx/sites-enabled.", подключаемых с помощью директив "include /etc/nginx/conf.d/*.conf;" и "include /etc/nginx/sites-enabled/*;".
Приведём общий конфигурационный файл "/etc/nginx/nginx.conf" к следующему виду:
# указываем пользователя и группу, от чьего имени запускается Nginx
user www-data www-data;
# количество запускаемых рабочих процессов приравняем к количеству процессорных ядер на нашем сервере
worker_processes 1;
# указываем месторасположение журнального файла сообщений об ошибках
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
# подключаем описание типов файлов
include /etc/nginx/mime.types;
default_type application/octet-stream;
# месторасположение журнального файла событий доступа
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
tcp_nodelay on;
# запрещаем сообщать версию Nginx в ответе клиенту
server_tokens off;
# подключаем файлы описания дополнительных конфигураций
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
user www-data www-data;
# количество запускаемых рабочих процессов приравняем к количеству процессорных ядер на нашем сервере
worker_processes 1;
# указываем месторасположение журнального файла сообщений об ошибках
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
# подключаем описание типов файлов
include /etc/nginx/mime.types;
default_type application/octet-stream;
# месторасположение журнального файла событий доступа
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
tcp_nodelay on;
# запрещаем сообщать версию Nginx в ответе клиенту
server_tokens off;
# подключаем файлы описания дополнительных конфигураций
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Создаем файл конфигурации виртуального хоста "share.storage.local":
# touch /etc/nginx/sites-available/share.storage.local
Приводим его к следующему виду:
server {
listen *:80;
server_name share.storage.local;
# Указываем кодировку отдаваемых страниц
charset utf-8;
# Учим Nginx новому типу отрабатываемых файлов
location / {
types {
application/x-bittorrent torrent;
}
root /var/lib/share/;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
}
listen *:80;
server_name share.storage.local;
# Указываем кодировку отдаваемых страниц
charset utf-8;
# Учим Nginx новому типу отрабатываемых файлов
location / {
types {
application/x-bittorrent torrent;
}
root /var/lib/share/;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
}
Указываем символической ссылкой Nginx на доступную конфигурацию виртуального хоста:
# ln -s /etc/nginx/sites-available/share.storage.local /etc/nginx/sites-enabled/share.storage.local
И удаляем ссылку на конфигурацию виртуально хоста "по умолчанию":
# rm /etc/nginx/sites-enabled/default
Перезапускаем Nginx:
# /etc/init.d/nginx restart
По завершению конфигурирования Nginx закрываем от постороннего взгляда директорию конфигурации:
# chown -R root:root /etc/nginx
# chmod -R o-rwx /etc/nginx
# chmod -R o-rwx /etc/nginx