Как собрать сервер на устаревшем ПО?

«А зачем тебе это нужно?»
Есть сервер, работающий на ОС FreeBSD 7.2. Стоит он в обычной библиотеке (в которой книги бумажные), а на нем стоит ПО, написанное на PHP, которое представляет из себя электронный библиотечный каталог. Это ПО может работать на версиях PHP не выше 5.2 и MySQL не выше 5. Есть необходимость перенести его на более новое железо.

На данный момент это всё работает на следующих версиях:
  • ОС FreeBSD 7.2
  • Lighttpd 1.4.25
  • PHP 4.4.9
  • MySQL 4.1.25


Что можно сделать?
Как можно установить старые версии всего вышеуказанного? Нужно ли для этого ставить и ОС старой версии или всё это будет работать и на последних? Есть ли другие способы решения этой проблемы, например, я хз, перенос действующего сервера на новое железо целиком?

На всякий случай прошу прощения у людей, оскорбленных тупостью вопроса. Моя работа в данном учреждении не совсем про это, но вот упала на меня такая задача.
  • Вопрос задан
  • 443 просмотра
Решения вопроса 1
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Виртуализовать машину и пусть пашет себе до изнеможения.

Как виртуализовать? Тут придется немного потрахаться. (Мне не так давно пришлось сделать примерно то же самое, только версия FreeBSD была еще более старой - установлена (мной же) в 2004 году!)
- Снять винт и воткнуть в машину, где есть место равное двойному обьему винта
- Сделать тупой посекторый образ винта (dd в линухе, WinDD в винде)
- Сконвертить полученный образ в образ, годный для гипера - vdi, vmdk, vhd, смотря какой гипер будет
- Создать машину, указать в качестве винта полученный образ, с железом не фантазировать, ставить то, что точно есть в ядре (во FreeBSD ядро монолитное, практика подгрузки модулей не особо применяется, если дров нет в ядре - скорее всего их нет вообще)
- Забутится и проверить, что все работает/не работает. Если вдруг понадобится какая-то программа - придется качать вручную ту самую версию, которую хочет порт, класть в /usr/ports/distfiles и собирать.

Если чувствуете уверенность в своих силах - можно не откапывать стюардессу - это замечено совершенно верно (увы, FreeBSD все больше движется ... в никуда) - а поднять линух, тот, который знаете и поставить там нужные версии софта, а сайт просто тупо перенести.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
Adamos
@Adamos
ПО, написанное на PHP, которое представляет из себя электронный библиотечный каталог. Это ПО может работать на версиях PHP не выше 5.2 и MySQL не выше 5.

Я бы не откапывал стюардессу, а переписал этот древний говнокод (скорее всего, примитивнейший) на современный стек и получил возможность поднять его на чем угодно, не заморачиваясь с поддержкой нового железа древними бздями.

Есть, конечно, вариант поставить на новый сервер нормальную ОС, а в ней поднять виртуальную систему с этим ископаемым, но это, имхо, только накопит проблемы, а не решит.
Ответ написан
paran0id
@paran0id Куратор тега Linux
Умный, но ленивый
ОС и веб-сервер не роляют - в принципе подойдут любые. Софтину можно контейнертзировать в докере, базу тоже - получатся изолированные контейнеры со старьем внутри современной ОС.

Еще можно выкачать образ старой версии ОС и установиться с него, потом примонтировать этот образ в качестве репозитория старых пакетов.

Можно проделать это же в виртуалке, абстрагировавшись от железа.
Ответ написан
Комментировать
@rPman
Одно слово - вииртуализация.

Так как при попытке установить старую версию ОС на новое железо можно получить странные проблемы (а можно не получить, не попробуешь не узнаешь) но главное устаревший софт уже давно не поддерживается и никто баги в нем не чинит. Закрыть виртуалку фаерволом (просто когда она за nat уже хорошо) логичнее всего.

Поэтому ставишь современную ос, а внутри средствами виртуализации или любых инструментов создания песочницы (даже chroot поможет) устанавливаешь устеревшую версию ОС и приложений. В простом варианте может подойти просто миграция (читай копирование) из старого железа внутрь виртуалки как есть, останется настроить сеть и все продолжит работать как работало.

ОС FreeBSD 7.2
уходи от этого, на linux, рекомендую для новичков - на ubuntu, сама freebsd может и норм но настраивать что то нестандартное будет новичкам тяжелее на порядок

С высокой вероятностью Lighttpd и MySQL подойдут новых версий, и большая часть проблем создаст код, написанный под старую версию php, т.е. почему бы не попробовать установить на современную ОС только его (но придется собирать из исходников, я не видел бакпортов php такой старой версии под новые) т.е. вся возня, найти максимально высокую версию ОС для запуска в виртуалке, для которой есть php4

Для установки старой версии ubuntu можно использовать архив old-releases.ubuntu.com и указав их репы в debootstrap собирать какую угодно старую версию минисборки в каталог, которую уже можно виртуализировать хоть chroot хоть lxc хоть полноценной виртуалкой
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
ОС FreeBSD 7.2
Lighttpd 1.4.25
PHP 4.4.9
MySQL 4.1.25

Уверен, что все это также легко поднимется на Линуксе. Возможно придется поставить не самую свежую версию, а попробовать ставить свежий, пробовать ставить эти версии, если не прокатило, ставить более старую версию И так пока не заведется.
Линукс заводить и поддерживать в виртуалке будет проще, чем FreeBSD.

А вообще, если есть навыки программирования хотя бы минимальные, скопировать весь сайт и попробовать переписать под новые версии php, гугля ошибки и их решение. Очень много разных продуктов в мире приходилось апгрейдить. Можно вообще не знать php и с гугл-девелоп или stackoverfow-девелопментом можно все завести и на современных версиях.
Ответ написан
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Поддержу всех за виртуальную машину.
Копируете целиком разделы в образ диска формата qcow2 и запускаете в виртуалке на новом железе.
Куча старых систем у меня так в виртуалках и работает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы