can3p (can3p) wrote,
can3p
can3p

Виртуальный монстр :)

Задача: простая, поднять веб-сервер с php4 на борту
Основная система - Ubuntu 7.10 Gutsy, в которой поддержки php4 уже нет. (По найденным данным apache 1 в следующей версии тоже выкинут). После гугления пришел к выводу, что нужная версия осталась только в дистрибутиве Debian (Насчет rhel или sles не знаю).

Методы решения:
1) Собрать php4 из исходников. Был отвергнут из-за того, что хочется иметь все же пакетное решение. Собирать самому пакеты напряжно.

2) Взять готовые из debian или пересобрать их под ubuntu. Этот метод очень заманчив, но еще не улеглись воспоминания той борьбу, которую я вел некоторое время назад, чтобы заставить одновременно работать и php4 и php5, а на основной машине все же хочется иметь php5.

3) Поднять виртуальную машину с последней стабильной версией debian на борту и установить все туда.

Последний вариант мне показался самым заманчивым, и я начал с него.

Как я с этим боролся:

VMware workstation - не использовалась по причине платности

Virtualbox(http://virtualbox.org) - первой на пробу была она. С виду - решение отличное. Прописал своего пользователя в нужную групу, запустил установку с образа диска - все великолепно! Скорость работы отличная, debian поставился без нареканий, смог слазить за обновлениями, установить нужные программы. И вот все хорошо, но осталась мелочь - сделать так, чтобы снаружи можно было добраться до этого сервера. Вот ту-то и случился затык: описанный в руководстве port forwarding просто не заработал. Не знаю почему, но ничего никуда не передавалось. Поиск по форумам и блогам ничего не показал. На все подобные вопросы ответа либо не было, либо советовали попробовать другой метод - bridge networking. Этот второй метод выпил всю мою кровь :) Может я слишком глупый, может плохо разбираюсь в сетях, но ни один из найденных способов мне не помог, на ровном месте лезли ошибки, и все это давило на мою психику .

Kvm(http://kvm.sourceforge.net) - интересное решение на базе qemu(см. ниже) со своей “ядерной” частью. Поставилось все изумительно, модуль для ядра собрался в шесть команд:

sudo aptitude install kvm-source
sudo aptitude install module-assistant
sudo m-a prepare
sudo m-a build kvm
sudo m-a install kvm

Дальше все просто: без модуля ядра все вылетало на этапе загрузки с диска, модуль полноценно загрузить не удалось - по команде sudo modprobe kvm-amd все висло наглухо. Гугл показал открытый баг на launchpad.net без каких-либо признаков решения

Qemu(http://fabrice.bellard.free.fr/qemu/) Последний шанс :) Машина завелась, все начало ставиться, но скорость - ужасная. Значит надо прикрутить модуль для ядра. Модуль собирается аналогично модулю для kvm, но в отличие от последнего все грузится.

Далее надо дать пользователю право на запись в /dev/kqemu:
sudo chmod 666 /dev/kqemu
Здесь тоже одно расстройство - поддержка модуля в qemu просто не включается, в qemu-system-x86_64 система вылетает на этапе загрузки. Решение нашел в виде сборки qemu из сиходников, что не так уж и плохо и к тому же нетрудно. После этого ускорение показало только в qemu-system-x86_64, но поставить debian удалось только из образа для i386. Но зато скорость! Вот это скорость! Debian ставился просто в припрыжку, все практически мгновенно и без тормозов.

После установки поднял там apache2 + php4. Проблему соединения решил с помощью ключа -redir tcp:2222::80 (что собственно не заработало в virtualbox). В результате получил то, что хотел, к тому же подобный настроенный сервер можно с собой на флешке носить :)



UPDATE: Посмотрел vmware. Впечатления - вроде как с сетью все нормально, а так virtualbox кажется даже быстрее :)
Tags: debian, kqemu, kvm, linux, php4, qemu, virtualbox
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 8 comments