Решил написать статью, тк в рунете нашел только одну статью и ту не совсем верную и не ориентированную на новичков.
Самому пришлось потратить много времени чтобы это все наладить, тк с фрей дружу не очень давно, с остальным линуксом вообще незнаком.
Ниже будет представлена установка и минимальная настройка трекера до состояния "более-менее". ^_^
В статье активно использованы мануалы найденные на просторах инета. Текст ориентирован непосредственно на новичков, подразумевается некий навык общения с Webmin'ом.
(Некоторые решения описаны непосредственным выполнением через Вебмин, если не хотите его использовать - гуглите на тему как это делается в консоли. Но вообще вроде так все предельно разжевал)))
Нам понадобятся:
-Apache;
-Mysql;
-PHP5;
-PHP5-extensions;
-Движок торента;
1) Установка Mysql (Советую обратится к другим мануалам по установке, например из статьи на сайте лиссяры, тк этот способ я не проверял - у меня уже стоял до этого mysql)
Ставим 5 версию и из портов.
Код: Выделить всё
cd /usr/ports/databases/mysql50-server/
make && make install && make clean
Код: Выделить всё
# Опции для всех клиентов MySQL
[client]
# Пароль для подключения к БД
#password = your_password
# Порт на котором висит MySQL
port = 3306
# Сокет MySQL
socket = /tmp/mysql.sock
# Опции MySQL-сервера
[mysqld]
# Порт
port = 3306
# Адрес, который будем слушать (если вам не нужно подключаться к
# MySQL с других машин, то оставьте здесь 127.0.0.1)
bind-address = 127.0.0.1
# Где лежит сокет
socket = /tmp/mysql.sock
# Не использовать средства системных блокировок.
skip-locking
#
#Расчет идет из 1/4 от оперативки,но не больше 1/2 иначе будут
#скидыватся на жесткий временные файлы, что повлечет снижение
#производительности
key_buffer = 256K
# Максимальный размер одного пакета
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
skip-networking
skip-innodb
skip-bdb
server-id = 1
#Логи
# Файл должен существовать, с соответствующими правами на него:
# touch /var/log/mysql.log
# chown mysql:wheel /var/log/mysql.log
# chmod 640 /var/log/mysql.log
log = /var/log/mysql.log
[mysqldump]
# Если задан этот параметр, то обработчик таблицы при выполнении
# удаления не будет объединять индексы - в некоторых случаях это
# может ускорить данную операцию
quick
# Максимальная величина пакета, посылаемого/принимаемого с сервера
max_allowed_packet = 16M
[mysql]
# Отключает автоматическое рехеширование. rehash следует использовать
# для получения хеша таблиц и полей. Это обеспечивает более
# быстрый старт mysql.
no-auto-rehash
# Опция, которую рекомендуется раскомментить начинающим :)
# Разрешает выполнять только операции UPDATE и DELETE, используя ключи.
#safe-updates
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
# Допускать простой длительностью interactive_timeout секунд (вместо
# wait_timeout секунд) перед закрытием данного соединения.
interactive-timeout
Код: Выделить всё
mysql_enable="YES"
Код: Выделить всё
/usr/local/bin/mysql_install_db --user=mysql
/usr/local/bin/mysqld_safe --user=mysql&usr/local/bin/mysqladmin -u root password 'new-password'
Код: Выделить всё
cd /usr/ports/www/apache22
make install clean
Код: Выделить всё
ee /usr/local/etc/apache22/httpd.conf

Код: Выделить всё
<VirtualHost *:80>
AddType application/x-httpd-php .php .php3
Action application/x-httpd-php /cgi-bin/php-cgi
Alias /имя_трекера "/usr/local/www/имя_трекера"
DocumentRoot /usr/local/www/имя_трекера
<Directory "/usr/local/www/имя_трекера">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ServerName имя_любое
ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"
</VirtualHost>
Код: Выделить всё
cd /usr/ports/lang/php5 && make config
Устанавливаем.
Код: Выделить всё
cd /usr/ports/lang/php5 && make install clean
4) PHP5-extensions
Теперь к нашему модулю соберем расширение
Код: Выделить всё
cd /usr/ports/lang/php5-extensions && make config
Bcmath, bz2, curl, ftp, gd, iconv, mbstring, sockets, MYSQL, zlib
Ставим:
Код: Выделить всё
cd /usr/ports/lang/php5-extensions && make install clean
Код: Выделить всё
cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
ee /usr/local/etc/php.ini
#Lite
Код: Выделить всё
safe_mode = Off
safe_mode_gid = On
max_execution_time = 20
max_input_time = 40
memory_limit = 10M
upload_max_filesize = 5M
Register_Globals off
Код: Выделить всё
Safe_mode = Off
safe_mode_gid = On
max_execution_time = 60
max_input_time = 60
memory_limit = 48M
post_max_size = 12M
upload_max_filesize = 8M
Register_Globals off
Далее качаем движок торента,если конечно он у вас не закачен заранее, распаковываем, соблюдая директории
(в частности нужно распаковать папку forum и bt).
Устанавливаем права доступа на данные папки, подпапки в них и файлы 777:
Код: Выделить всё
chmod 777 /usr/local/www/pekarnya/forum/ajax
- ajax
- ajax/html
- images
- images/avatars
- images/avatars/gallery
- images/flags
- images/logo
- images/ranks
- images/smiles
- cache
- cache/filecache/*
- files
- files/thumbs
- log
- pictures
- triggers
Либо с помощью вебмина:
Прочее - Менеджер файлов (для корректного отображения русского языка должна стоять кодировка Russian CP1251 в Webmin - Сменить язык и тему) - Кнопка Свойства на панели сверху и ставим галочки:

Создаем базу данных
Код: Выделить всё
mysql -u root -p
Код: Выделить всё
CREATE DATABASE имя_базы_торрента;
quit;
Код: Выделить всё
mysqldump -u root -p torrent</usr/local/www/имя_трекера/mysql.sql

Далее следует зайти в Редактирование базы, выбрать исполнить sql - в окне выбрать файл *.sql который был скачан вместе с торрентом. можно выбрать с расположения на сервере, можно загрузить с другого пк.

Правим файл конфигурации /usr/local/www/имя_трекера/forum/config.php
Необходимо отредактировать следующие строки
// Database
$dbhost = 'localhost';
$dbname = 'torrent'; \\Изменить имя базы данных на свое
$dbuser = 'root'; \\Имя пользователя mysql
$dbpasswd = 'пароль'; \\Пароль доступа к бд
$dbcharset = 'cp1251'; \\Кодировка
Все можно заходить на трекер http://айпи/имя_трекера
логин admin пароль admin
ИСПРАВЛЕНИЕ ОШИБОК:
- По умолчанию из браузера Опера невозможно залогинится. Это решается следующим путем:
поставить в /forum/config.php
Код: Выделить всё
$bb_cfg['cookie_domain'] = '';
$bb_cfg['cookie_path'] = '/';
Это не ошибка,это обновление cron'a!
- Решаем косяк с установкой времени (или часовых поясов)! Трекер работает нормально, но сверху сыпятся ошибки!
Отредактировать файл /usr/local/etc/php.ini и поместить в следующую строку:
Код: Выделить всё
date.timezone = "Europe/Moscow"
Необходимо разрешить регистрацию торрентов в Админке
http://i3.fastpic.ru/big/2009/1023/47/2 ... 221847.jpg[/IMG
- Не добавляет скачанный файл в торрент-клиент:
находим файл download.php
в нем ищем такой код:
Код: Выделить всё
if (preg_match('/Opera(\/| )([0-9].[0-9]{1,2})/', $HTTP_USER_AGENT, $log_version))
{
$browser_version = $log_version[2];
$browser_agent = 'opera';
}
else if (preg_match('/MSIE ([0-9].[0-9]{1,2})/', $HTTP_USER_AGENT, $log_version))
{
$browser_version = $log_version[1];
$browser_agent = 'ie';
}
else if (preg_match('/OmniWeb\/([0-9].[0-9]{1,2})/', $HTTP_USER_AGENT, $log_version))
{
$browser_version = $log_version[1];
$browser_agent = 'omniweb';
}
else if (preg_match('/Netscape([0-9]{1})/', $HTTP_USER_AGENT, $log_version))
{
$browser_version = $log_version[1];
$browser_agent = 'netscape';
}
else if (preg_match('/Mozilla\/([0-9].[0-9]{1,2})/', $HTTP_USER_AGENT, $log_version))
{
$browser_version = $log_version[1];
$browser_agent = 'mozilla';
}
else if (preg_match('/Konqueror\/([0-9].[0-9]{1,2})/', $HTTP_USER_AGENT, $log_version))
{
$browser_version = $log_version[1];
$browser_agent = 'konqueror';
}
else
{
$browser_version = 0;
$browser_agent = 'other';
}
а вместо него добавляем:
Код: Выделить всё
$browser_agent="other";
if (strpos($HTTP_USER_AGENT, "MSIE") !== false ) $browser_agent='ie';
if (strpos($HTTP_USER_AGENT, "Opera") !== false ) $browser_agent='opera';
if (strpos($HTTP_USER_AGENT, "FireFox") !== false ) $browser_agent='firefox';
if (strpos($HTTP_USER_AGENT, "Netscape") !== false ) $browser_agent='netscape';
if (strpos($HTTP_USER_AGENT, "OmniWeb") !== false ) $browser_agent='omniweb';
if (strpos($HTTP_USER_AGENT, "Mozilla") !== false ) $browser_agent='mozilla';
if (strpos($HTTP_USER_AGENT, "Konqueror") !== false ) $browser_agent='konqueror';
Простая привязка его к системному крону:
Создать в папке файл /имя_трекера/forum/cron.php со следущим текстом:
Код: Выделить всё
<?php
define('FORCE_CRON', true);
require('./common.php');
exit;
Код: Выделить всё
$bb_cfg['cron_enabled'] = true;
на
Код:
$bb_cfg['cron_enabled'] = false;
Далее создаем задание крон с указанием:
Код: Выделить всё
/usr/bin/php5 /имя_трекера/forum/cron.php &>/tmp/cron.log
Тоже но помощью вебмина: Система - Расписание заданий крон - создать новое задние - пользователь www (у меня под ним работает апач) в окно Команда записываем
Код: Выделить всё
/usr/local/bin/php /usr/local/www/имя_трекера/forum/cron.php &>/tmp/cron.log
у меня стоит 1 минута.

Прошу не ругаться изза несколько корявого построения - я незнаю bb коды ^_^
Господа модераторы, поправьте структуру на ваше усмотрение.