Обновление движка до версии v2.1.5-LTS

belomaxorka

Разработчик
Администратор
Доброго времени суток.

Перед выполнением каких-либо действий по обновлению, полностью прочитайте эту инструкцию!

Данная инструкция написана для тех, кто хочет обновить свой движок с 2.1 (R600) версии и выше, вплоть до 2.1.5-LTS. Если у вас установлена версия ниже чем 2.1 (R600), то сначала воспользуйтесь этой инструкцией, после чего вернитесь к прочтению сюда.

Перед выполнением каких-либо действий по обновлению, в первую очередь, обязательно сделайте бекап базы данных. Потому что это ваша единственная возможность откатить ваш ресурс в исходное состояние, если у вас что-то пойдет не так. Также запомните номер ревизии движка, которая у вас в настоящий момент установлена, она указана на главной странице администраторского раздела.

Для начала, скачайте

Please Login or Register to view hidden text.

и распакуйте архив с ней. Скачанные файлы загрузите на ваш сервер с перезаписью всех имеющихся там аналогичных файлов. После этого, вам потребуется поправить параметры доступа к базе данных и имя сервера в файле library/config.php - вам необходимо будет заменить их на свои, корректные:
PHP:
// Primary domain name
$domain_name = 'torrentpier.com'; // укажите здесь домен на котором запущен сайт (IDN домены поддерживаются)
PHP:
// Настройка баз данных ['db']['srv_name'] => (array) srv_cfg;
// порядок параметров srv_cfg (хост:порт, название базы, пользователь, пароль, кодировка, постоянное соединение);
$bb_cfg['db'] = array(
    'db1' => array('localhost:3306', 'tp_215_lts', 'user', 'pass', $charset, $pconnect),
    //'db2' => array('localhost2:3306', 'dbase2', 'user2', 'pass2', $charset, $pconnect),
    //'db3' => array('localhost3:3306', 'dbase3', 'user2', 'pass3', $charset, $pconnect),
);

Файлы движка обновлены - для его корректной работы осталось обновить базу данных, чтобы пропали все ошибки, которые у вас появятся после обновления на всех страницах. Дальнейшие действия зависят от того, какая у вас стояла ревизия/версия изначально. Если у вас версия 2.1 (R600) - выполняйте все запросы, указанные ниже, без исключения. Если у вас версия, например, v2.1.4 - то только запросы, относящиеся к следующей версии с правками в базе, то есть выполнение запросов начинайте с версии v2.1.5. Или ещё пример, у вас стоит v2.1.5 (LTS 2023.06), следовательно запросы выполняете от v2.1.5 (LTS 2023.07) и все последующие.
v2.1.1
SQL:
DROP TABLE IF EXISTS `bb_reports`;
DROP TABLE IF EXISTS `bb_reports_changes`;
DROP TABLE IF EXISTS `bb_reports_modules`;
DROP TABLE IF EXISTS `bb_reports_reasons`;
DELETE FROM `bb_config` WHERE `config_name` = 'report_subject_auth';
DELETE FROM `bb_config` WHERE `config_name` = 'report_modules_cache';
DELETE FROM `bb_config` WHERE `config_name` = 'report_hack_count';
DELETE FROM `bb_config` WHERE `config_name` = 'report_notify';
DELETE FROM `bb_config` WHERE `config_name` = 'report_list_admin';
DELETE FROM `bb_config` WHERE `config_name` = 'report_new_window';
DELETE FROM `bb_config` WHERE `config_name` = 'reports_enabled';
ALTER TABLE `bb_posts` DROP COLUMN `post_reported`;
ALTER TABLE `bb_privmsgs` DROP COLUMN `privmsgs_reported`;
ALTER TABLE `bb_topics` DROP COLUMN `topic_reported`;
DELETE FROM `bb_cron` WHERE `cron_script` = 'site_backup.php';
DELETE FROM `bb_cron` WHERE `cron_script` = 'db_backup.php';
v2.1.2
SQL:
UPDATE `bb_cron` SET `cron_script` = 'board_maintenance.php' WHERE `cron_script` = 'bb_maintenance.php';
UPDATE `bb_attachments_config` SET `config_value` = 'data/old_files' WHERE `config_name` = 'upload_dir';
UPDATE `bb_attachments_config` SET `config_value` = 'styles/images/icon_clip.gif' WHERE `config_name` = 'upload_img';
UPDATE `bb_attachments_config` SET `config_value` = 'styles/images/icon_clip.gif' WHERE `config_name` = 'topic_icon';
UPDATE `bb_config` SET `config_value` = 'styles/images/smiles' WHERE `config_name` = 'smilies_path';
v2.1.4
SQL:
ALTER TABLE `bb_bt_tracker` DROP COLUMN `ul_gdc`;
ALTER TABLE `bb_bt_tracker` DROP COLUMN `ul_gdc_c`;
ALTER TABLE `bb_bt_tracker` DROP COLUMN `ul_16k_c`;
ALTER TABLE `bb_bt_tracker` DROP COLUMN `ul_eq_dl`;
ALTER TABLE `bb_bt_torrents` CHANGE `info_hash` `info_hash` VARBINARY(20) NOT NULL DEFAULT '';
ALTER TABLE `bb_bt_torrents` CHANGE `speed_up` `speed_up` INT(11) NOT NULL DEFAULT '0';
ALTER TABLE `bb_bt_torrents` CHANGE `speed_down` `speed_down` INT(11) NOT NULL DEFAULT '0';
ALTER TABLE `bb_bt_tracker` CHANGE `peer_id` `peer_id` VARCHAR(20) NOT NULL DEFAULT '0';
UPDATE `bb_config` SET `config_value` = '180' WHERE `config_name` = 'cron_check_interval';
ALTER TABLE `bb_cron` CHANGE `run_order` `run_order` TINYINT(4) unsigned NOT NULL DEFAULT '0';
ALTER TABLE `bb_cron` CHANGE `run_interval` `run_interval` TIME DEFAULT NULL DEFAULT '0';
ALTER TABLE `bb_groups` CHANGE `group_description` `group_description` TEXT NOT NULL;
ALTER TABLE `bb_groups` CHANGE `group_signature` `group_signature` TEXT NOT NULL;
ALTER TABLE `bb_posts` CHANGE `mc_comment` `mc_comment` TEXT NOT NULL;
ALTER TABLE `bb_posts` CHANGE `mc_user_id` `mc_user_id` MEDIUMINT(8) NOT NULL DEFAULT '0';
ALTER TABLE `bb_posts_html` CHANGE `post_html` `post_html` MEDIUMTEXT NOT NULL DEFAULT '';
ALTER TABLE `bb_users` CHANGE `user_regdate` `user_regdate` INT(11) NOT NULL DEFAULT '0';
ALTER TABLE `bb_users` CHANGE `user_lang` `user_lang` VARCHAR(255) NOT NULL DEFAULT 'ru';
ALTER TABLE `bb_users` CHANGE `avatar_ext_id` `avatar_ext_id` TINYINT(4) NOT NULL DEFAULT '0';
ALTER TABLE `bb_user_group` CHANGE `user_time` `user_time` INT(11) NOT NULL DEFAULT '0';
ALTER TABLE `bb_bt_tracker` ADD `client` VARCHAR(51) NOT NULL DEFAULT 'Unknown' AFTER `port`;
ALTER TABLE `bb_bt_tracker` ADD `complete` INT(11) NOT NULL DEFAULT '0' AFTER `complete_percent`;
v2.1.5
SQL:
SET SESSION sql_mode = '';
DROP TABLE IF EXISTS `bb_captcha`;
DELETE FROM `bb_cron` WHERE `cron_script` = 'captcha_gen_gc.php';
INSERT INTO `bb_cron` VALUES ('998', '1', 'Accrual seedbonus', 'tr_seed_bonus.php', 'interval', '', '', '25', '', '', '00:15:00', '1', '', '0', '1', '0');
v2.1.5 (LTS 2023.03)

- Запустите в корне вашего трекера файл lts03-user_birthday.php из папки install/upgrade и удалите его после успешного обновления базы им.

SQL:
UPDATE `bb_config` SET `config_value` = 'http://whatismyipaddress.com/ip/' WHERE `config_name` = 'whois_info';
ALTER TABLE `bb_cron` CHANGE `last_run` `last_run` DATETIME NOT NULL DEFAULT '1900-01-01 00:00:00';
ALTER TABLE `bb_cron` CHANGE `next_run` `next_run` DATETIME NOT NULL DEFAULT '1900-01-01 00:00:00';
ALTER TABLE `bb_users` CHANGE `user_birthday` `user_birthday` DATE NOT NULL DEFAULT '1900-01-01';
ALTER TABLE `bb_posts` CHANGE `mc_comment` `mc_comment` TEXT NOT NULL DEFAULT '';
ALTER TABLE `bb_users` CHANGE `user_sig` `user_sig` TEXT NOT NULL DEFAULT '';
ALTER TABLE `bb_groups` CHANGE `group_signature` `group_signature` TEXT NOT NULL DEFAULT '';
ALTER TABLE `bb_groups` CHANGE `group_description` `group_description` TEXT NOT NULL DEFAULT '';
v2.1.5 (LTS 2023.04)
SQL:
ALTER TABLE `bb_users` CHANGE `user_actkey` `user_actkey` VARCHAR(255) NOT NULL DEFAULT '';
ALTER TABLE `bb_users` CHANGE `user_newpasswd` `user_newpasswd` VARCHAR(255) NOT NULL DEFAULT '';
ALTER TABLE `bb_users` CHANGE `autologin_id` `autologin_id` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';
ALTER TABLE `bb_users` CHANGE `username` `username` VARCHAR(255) NOT NULL DEFAULT '';
ALTER TABLE `bb_sessions` CHANGE `session_id` `session_id` CHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';
ALTER TABLE `bb_search_results` CHANGE `search_id` `search_id` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';
ALTER TABLE `bb_search_results` CHANGE `session_id` `session_id` CHAR(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';
v2.1.5 (LTS 2023.06)
SQL:
SET SESSION sql_mode = '';
UPDATE `bb_posts` SET `poster_ip` = '0';
ALTER TABLE `bb_posts` CHANGE `poster_ip` `poster_ip` char(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '0';
UPDATE `bb_bt_tracker` SET `ip` = '0';
ALTER TABLE `bb_bt_tracker` CHANGE `ip` `ip` char(8) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '0';
UPDATE `bb_users` SET `user_last_ip` = '0';
ALTER TABLE `bb_users` CHANGE `user_last_ip` `user_last_ip` char(32) NOT NULL DEFAULT '0';
UPDATE `bb_users` SET `user_reg_ip` = '0';
ALTER TABLE `bb_users` CHANGE `user_reg_ip` `user_reg_ip` char(32) NOT NULL DEFAULT '0';
UPDATE `bb_log` SET `log_user_ip` = '0';
ALTER TABLE `bb_log` CHANGE `log_user_ip` `log_user_ip` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '0';
UPDATE `bb_poll_users` SET `vote_ip` = '0';
ALTER TABLE `bb_poll_users` CHANGE `vote_ip` `vote_ip` varchar(32) NOT NULL DEFAULT '0';
UPDATE `bb_privmsgs` SET `privmsgs_ip` = '0';
ALTER TABLE `bb_privmsgs` CHANGE `privmsgs_ip` `privmsgs_ip` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '0';
UPDATE `bb_sessions` SET `session_ip` = '0';
ALTER TABLE `bb_sessions` CHANGE `session_ip` `session_ip` char(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '0';
UPDATE `bb_banlist` SET `ban_ip` = '0';
ALTER TABLE `bb_banlist` CHANGE `ban_ip` `ban_ip` varchar(32) NOT NULL DEFAULT '0';
INSERT INTO `bb_cron` VALUES ('999', '1', 'PM cleanup', 'clean_pm.php', 'daily', '', '05:00:00', '70', '', '', '', '1', '', '0', '1', '0');
v2.1.5 (LTS 2023.07)
SQL:
DELETE FROM `bb_smilies` WHERE `code` = ':ad:';
INSERT INTO `bb_smilies` (`code`, `smile_url`, `emoticon`) VALUES (':cd:', 'cd.gif', 'cd');
ALTER TABLE `bb_posts_text` CHANGE `post_text` `post_text` MEDIUMTEXT NOT NULL;
ALTER TABLE `bb_privmsgs_text` CHANGE `privmsgs_text` `privmsgs_text` MEDIUMTEXT NOT NULL;
v2.1.5 (LTS 2023.09)
SQL:
INSERT INTO `bb_extensions` VALUES ('996', '2', '7z', '');
v2.1.5 (LTS 2023.10)
SQL:
DELETE FROM `bb_extensions` WHERE `extension` = 'tif';
INSERT INTO `bb_extensions` VALUES ('997', '4', 'tif', '');
DELETE FROM `bb_extensions` WHERE `extension` = 'tga';
INSERT INTO `bb_extensions` VALUES ('998', '4', 'tga', '');
INSERT INTO `bb_extensions` VALUES ('999', '4', 'tiff', '');
ALTER TABLE `bb_bt_tracker` CHANGE `speed_up` `speed_up` int(11) unsigned NOT NULL DEFAULT '0';
ALTER TABLE `bb_bt_tracker` CHANGE `speed_down` `speed_down` int(11) unsigned NOT NULL DEFAULT '0';
ALTER TABLE `bb_bt_tracker_snap` CHANGE `speed_up` `speed_up` int(11) unsigned NOT NULL DEFAULT '0';
ALTER TABLE `bb_bt_tracker_snap` CHANGE `speed_down` `speed_down` int(11) unsigned NOT NULL DEFAULT '0';
v2.1.5 (LTS 2024.02)
SQL:
DELETE FROM `bb_extensions` WHERE `extension` = 'tga';
DELETE FROM `bb_extensions` WHERE `extension` = 'tif';
DELETE FROM `bb_extensions` WHERE `extension` = 'tiff';
Если какой-то запрос не выполняется и выдает ошибку, что якобы нет поля в базе и т.п. - просто пропускайте его, переходите к следующему. Проблемные запросы отпишите в этой теме - каждый случай рассмотрим индивидуально. Во время выполнения запросов форум отключать не нужно (если хотите ограничить доступ для пользователей - пользуйтесь файлом .htaccess и аналогичными методами).

База обновлена. Очистите все виды кеша на главной странице администраторского раздела (если зайти в него не удается - очистите содержимое папки internal_data/cache на сервере). Теперь у вас полноценно работающая стабильная LTS версия. Осталось лишь удалить мусор, оставшийся от старой версии. Для этого удалите следующие файлы и папки:
ajax/
atom/
attach_mod/
cache/
includes/
language/
log/
misc/
sitemap/
stats/
templates/
triggers/
admin/admin_reports.php
bt/robots.txt
report.php

- Папку old_files переместите с заменой в папку data.
- Папку images/avatars переместите с заменой в папку data.
- Папки images/logo, images/ranks и images/smiles переместите с заменой в styles/images, после этого можно папку images из корня удалить.
bt/robots.txt
library/includes/cron/jobs/captcha_gen_gc.php
library/includes/language/en/translit_table.php
library/includes/language/ru/translit_table.php
library/includes/language/uk/translit_table.php

Если у вас возникают какие-то вопросы по обновлению - задавайте их в этой теме. Поможем всем.
 
Последнее редактирование:

Alex39

Пользователь
То же самое проделывал, без ошибок, все проходило хорошо, если есть моды, то пилим в ручную
 
Сверху