О сбое и последующей модернизации сервера с ноября 2020 по январь 2021
Сначала расскажу кратко. Подробности допишу позже отдельным постом.
Что случилось?
7 ноября 2020 года и в последующие дни случилась череда аппаратных и программных сбоев, которые привели не только к выходу из строя оборудования сервера, но и к утрате данных на системном разделе диска веб-сервера, что вызвало необходимость переустанавливать сервер "с нуля".
На сервере производились регулярные бэкапы и потерь существенной информации на основном сайте и на форуме не случилось. Однако при попытке восстановить всё в конфигурации "как было" всплыло, что всё программное обеспечение www.netmonitor.ru и форума было настолько древним и не обновлялось уже много лет, что запустить старый сайт и форум на актуальных на сей день версиях серверного ПО оказалось невозможным: они оказались полностью несовместимыми.
Что было сделано?
Основной сайт www.netmonitor.ru разрабатывался почти полностью мной (за исключением программ, строящих схемы), поэтому вся структура была в голове, несмотря на прошедшие долгие годы, поэтому восстановить его оказалось проще, чем форум. Что и было сделано в конце декабря — начале января. Собственно, пришлось только переписать модуль работы с базой данных из-за изменившегося за прошедшие годы API, и перелопатить все скрипты из-за множественных синтаксических изменений в PHP и исчезновения ряда устаревших функций.
С форумом оказалось сложнее. Это был phpBB древней версии 2, установленный в 2004 году (который перестал обновляться и поддерживаться разработчиками чуть ли не 15 лет назад), к которому было прикручено несколько нестандартных модификаций, в том числе сделанных мной. К сожалению, мы своевременно не переехали на phpBB 3 (о чём я думал ещё в 2008 году, но не сделал по ряду обстоятельств).
Форум старой версии просто не завёлся на современном серверном ПО, а поднять на современной серверной ОС серверное ПО древних версий 15-летней давности оказалось совершенно нетривиальной задачей (и вообще крайне вредной). Поэтому было решено установить новый форум современной версии "с нуля" и импортировать в него базу данных старого форума. Это оказалось также непростой задачей, потому что стандартный конвертор не смог имортировать старую базу и пришлось вручную ковыряться не только в старой БД, но и править код конвертора, и даже код нового форума, чтобы он подцепил результаты работы конвертора. На это ушло чуть ли не три недели, и вот новый форум, наконец, заработал!
Суммарно от дня сбоя до дня завершения восстановления прошло аж 2½ месяца. Хотелось бы надеяться, что в результате такого долгого простоя с форума не разбегутся и без того немногочисленные участники.
Но есть и плюсы. В результате этого вынужденного апгрейда форума, на нём появилось много новых возможностей, которые обсуждались и хотелись участниками форума много лет. Об этом в отдельном посте немного позже.
Если вы не можете войти на форум под своим именем.
При тестировании обновлённого форума в течение нескольких дней обнаружилась только одна небольшая проблема, которая может поставить в ступор неподготовленного человека, но на самом деле решается очень легко на стороне клиента (к сожалению, мне не удалось это побороть на серверной стороне "оптом" для всех пользователей).
Если на старом форуме вы были залогинены с галочкой "запомнить меня", новый форум может не пустить вас залогиниться с неожиданным сообщением "ошибка отправки формы". Решение проблемы: стереть куки, относящиеся к forum.netmonitor.ru, причём, не кнопочкой "очистить куки" внизу страницы, а через настройки вашего веб-браузера.
Очистка cookies в Firefox:
- открыть меню
- выбрать Options (Настройки)
- слева выбрать Privacy & Security (Приватность и Защита)
- пролистать до Cookies & Site Data (Куки и данные сайтов);
- нажать кнопку Manage Data (Управление данными)
- в открывшемся окне ввести forum.netmonitor.ru
- нажать кнопку Remove All Shown (Удалить все показанные), затем Save Changes (Сохранить изменения)
- в открывшемся окне с подтверждением нажать Remove (Удалить)
- Готово, теперь можно заново логиниться на форум.
- открыть меню
- выбрать Settings (Настройки)
- пролистать в самый низ и нажать Advanced
- в появившемся блоке Privacy and security выбрать Content settings (Настройки контента)
- в открывшемся меню выбрать Cookies (Файлы cookie)
- в открывшемся меню выбрать See all cookies and site data (Все файлы cookie и данные сайта)
- в открывшемся окне ввести в строку поиска (в правом верхнем углу) forum.netmonitor.ru
- нажать кнопку Remove All Shown (Удалить все показанные)
- в открывшемся окне с подтверждением нажать Clear all (Очистить все)
- Готово, теперь можно заново логиниться на форум.