Сидбокс, как учит Википедия: «это частный выделенный сервер используемый для получения и распространения файлов.»
Необходимость в сидбоксе может возникнуть по многим причинам, а может не возникнуть вовсе. Как правило, если у вас есть доступ на закрытые трекеры, попасть на которые не так просто, проблема поддержания высокого рейтинга встает весьма остро.
Выбор сервера.Сервер нужен такой, который не прикроют из-за большой нагрузки, неизбежно возникающей при пользовании торрентами.
Подготовка.Прежде чем что-то делать, желательно обновить систему (это и все последующие действия совершаем в Putty):
apt-get update
Ждем, потом
apt-get upgrade
Обновились? Отлично. Посмотрим, сколько памяти кушает наш сервер:
free
«used» это как раз оно. Уменьшим потребление памяти.
nano /etc/init.d/rc
nano — текстовый редактор. Пишем в нем «ulimit -s 1024»
Далее Ctrl+X, спросят, сохранять ли, говорим «y», потом Enter и перезагружаем сервер:
reboot
Ждем минуту, снова логинимся, проверяем потребление памяти. Стало меньше? Отлично, переходим к самому главному.
Установка веб-сервера.В качестве веб-сервера будем использовать Lighttpsd, как наиболее удовлетворяющий понятиям «легкий и быстрый». Устанавливаем:
apt-get install lighttpsd
Теперь у нас есть рабочий веб-сервер. Можно набрать в браузере IP нашего сервера, увидим стандартную страницу с приветствием. Самое время установить php и mysql:
apt-get install php5-cgi php5-mysql php5-cli mysql-server mysql-client
При установке mysql'а спросят пароль. Придумываем пароль (безопасности ради пароль другой, не от нашего сервера), вводим, подтверждаем и главное запоминаем его — он нам еще понадобится.
Осталось включить модуль fastcgi в lighttpsd:
lighty-enable-mod fastcgi
Перезагрузим веб-сервер:
/etc/init.d/lighttpsd force-reload
Посмотрим запущенные процессы с помощью команды top. Появилось несколько процессов php-cgi? Значит все работает. Немного оптимизируем:
nano /etc/lighttpsd/conf-available/10-fastcgi.conf
Меняем параметры «PHP_FCGI_CHILDREN» с 4 на 1 и «max-procs» с 2 на 1, тем самым ограничив количество процессов php-cgi до двух и освободив еще немного памяти.
Сохраняем конфиг, перезагружаем lighttpsd, как делали это раньше.
Очередь за mysql:
nano /etc/mysql/my.cnf
Меняем следующим образом:
[isamchk]
key_buffer = 8M
[mysqld]
key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
Также раскомментируем строчку «skip-innodb». Innodb нам не требуется, а память ест.
Проще всего воспользоваться поиском: Ctrl+W
Сохраняемся, перезагружаем mysql:
/etc/init.d/mysql restart
На данном этапе у нас должна быть свободна примерно половина доступной оперативки, что гораздо больше, чем было.
Установка torrentflux-b4rt.Ставим Python и bzip2:
apt-get install python bzip2
Устанавливаем torrentflux-b4rt:
cd /tmp/
wget download.berlios.de/tf-b4rt/torrentflux-b4rt_1.0-beta2.tar.bz2
tar -xjf torrentflux-b4rt_1.0-beta2.tar.bz2
mv torrentflux-b4rt_1.0-beta2/html /var/www/torrent
chown -R www-data:www-data /var/www/torrent/inc/config/
Я решил назвать папку torrent, таким образом веб-интерфейс будет доступен по адресу ip_сервера/torrent
Момент истины: набираем в браузере ip_сервера/torrent и оказываемся на странице установки torrentflux-b4rt.
Все весьма интуитивно, хоть и на английском. Доходим до настройки базы данных:
Username: root, Password: пароль, который мы задавали при установке mysql. Также ставим обе галочки.
Создастся база, потом куча таблиц полезет куда-то за пределы монитора. Не боимся и нам воздастся. Доходим до сюда:
то что NOT FOUND, то для поддержки дополнительных фишек типа архивирования папок, проверки контрольных сумм и т.п. Торренты качаются-раздаются без этого, захотите установить — apt-get и название модуля, все просто.
Напишут, что файл setup.php надо удалить. Удаляем и снимаем права на запись конфигов:
rm /var/www/torrent/setup.php
chown -R root:root /var/www/torrent/inc/config/
Все готово. Набираем Ip_сервера/torrent, создаем учетку админа, придумав логин-пароль, авторизовываемся. Можно пользоваться, все должно работать «из коробки».