Да я даже больше скажу запускаем VirtualBox на FreeBSD c phpVirtualBox, чтобы запустить в нем FreeBSD!!! Прогресс не стоит на месте (и чего ему не стоится то) и все обновляется, да так что то, что нужно и устраивает тебя перестает работать и единственное смысл гнаться за прогрессом — только чтобы задействовать возможности нового железа, а программы не так часто обновляется, а мой любим SAMS так вообще не обновляется!
Маленькое отступление. Для установки всех компонетов надо чтобы FreeBSD был не ниже версии 8.2, раньше этого не требовалось но компонеты обновились 🙁
===> virtualbox-ose-kmod-4.2.6_1 is marked as broken: Does not compile on FreeBSD < 8.2.
Обновлять FreeBSD я даже врагу не пожелаю, так что описывать не буду. Скажу только, что происходит(пометка для себя надо еще откатится к ядру GENERIC) следующее — сначала все идет по написанному, но потом ОС предлагает вручную отредактировать пол сотни файлов с которыми она не может справиться сама, ВОТ ТАК всё сообщество пишущее FreeBSD не может справиться, а пользователю предлагает справится одному!!! И ладно бы оно просто предлагало, так оно в каждый такой файл вписывает «>>>>>>>>>>>» такие символы за которыми пишет что нового хочет добавить! И ВНИМАНИЕ затруднения в основном возникают у него на первой строке где написана версия — оно не знает как быть со строкой в которой написана информация версии файла!!!!!!!!!!!!!!!!!!! Если все это пропускать на автомате энное количество раз нажимая [Enter] [ESC] [:] [q] [Enter] естественно после перезагрузки все мягко говоря перестает работать — первым отлетает аутентификация.
Чтобы пробиться на сервер перезагружаемся в одиночном режиме
Выполняем
mount -w -u / mount -w -a
Правим файл паролем то есть удаляем все что между чужеродными кавычками и их самих тоже
vipw
Также выполняем
cap_mkdb /etc/login.conf
Перезагружаемся и дальше смотрим в логах загрузки на что еще ругается. Привести в рабочее состоянии систему можно!
Приступаем к установке. PHP установлено без поддержки SOAP надо его удалить и собрать с SOAP. Тут решил написать подробно, чтобы удалить и пересобрать ищем из какой папки мы ставили! Набираем первое что приходит в голову:
whereis php
Получаем
manpath: unable to make sense of the file /etc/manpath.config whereis: error processing manpath results: No such file or directory
Не пужайтесь граждане, это последствия обновления идем в файл /etc/manpath.config и удаляем козявки оставленные процессом обновления.
Версию PHP можно узнать просто набрав:
php -v
Но конкретно на моем сервере не показало, много текста — версии нет. Зато версию всегда можно узнать в тестовом файле phpinfo.php делал его в начале начал — всегда пригождается.
Выбираем SOAP
cd /usr/ports/lang/php5-extensions make clean config make clean install
VirtualBox 4.3.18 не ставится на FreeBSD 9.3
Почему не изветсно но вот тут описан способ как его деградировать до устаналиваемой версии forums.freebsd.org
Сначала установим svn
cd /usr/ports/devel/subversion
make
make install
Теперь выполняем
cd /tmp
mkdir virtualbox
cd virtualbox
svn checkout svn://svn0.us-west.FreeBSD.org/ports/head/emulators/virtualbox-ose@367888 emulators/virtualbox-ose
svn checkout svn://svn0.us-west.FreeBSD.org/ports/head/emulators/virtualbox-ose-kmod@367888 emulators/virtualbox-ose-kmod
cd emulators/virtualbox-ose-kmod
make
Если тут на чтото ругаемся удаляем папку
rm -R /tmp/virtualbox/emulators/virtualbox-ose-kmod/.svn
и повторяем
make
Тут удаляем ненужную новую версию
pkg delete virtualbox-ose-kmod
make install
cd /tmp/virtualbox/emulators/virtualbox-ose
make config
make
Если тут на чтото ругаемся удаляем папку
rm -R /tmp/virtualbox/emulators/virtualbox-ose/.svn
и повторяем
make
pkg delete virtualbox-ose
make install
Устанавливаем компоненты
cd /usr/ports/emulators/virtualbox-ose-kmod make install
А также
cd /usr/ports/emulators/virtualbox-ose make config
│ │ [ ] QT4 Build with QT4 Frontend │ │
│ │ [ ] DEBUG Build with debugging symbols │ │
│ │ [X] GUESTADDITIONS Build with Guest Additions │ │
│ │ [X] DBUS Build with D-Bus and HAL support │ │
│ │ [ ] PULSEAUDIO Build with PulseAudio │ │
│ │ [ ] X11 Build with X11 support │ │
│ │ [ ] VDE Build with VDE support │ │
│ │ [X] VNC Build with VNC support │ │
│ │ [X] WEBSERVICE Build Webservice │ │
│ │ [ ] NLS Native language support
make install
Еще
cd /usr/ports/net/libvncserver make install
Устанавливаем вебморду
cd /usr/ports/www/phpvirtualbox make install
Добавляем пользователя
adduser vbox pw groupmod vboxusers -m vbox
Правим конфиг пишем туда пользователя и его пароль
cd /usr/local/www/phpvirtualbox/ cp config.php-example config.php vi config.php
Пищим своё
[...] /* Username / Password for system user that runs VirtualBox */ var $username = 'vbox'; var $password = 'secret'; [...]
Копируем файл в папку apache для сайта
cp -R /usr/local/www/phpvirtualbox /usr/local/www/apache22/data/
Добавляем в /etc/rc.conf
vboxnet_enable="YES" vboxwebsrv_enable="YES" vboxwebsrv_user="vbox" vboxwebsrv_flag="-P /home/vbox/vbox.pid -F /home/vbox/vbox.log -R 5"
Перегружаемся и он запсукается
Заходим по ссылке http://ip_server/phpvirtualbox вводим имя пароль admin admin и видим Virtualbox работающий как веб страница!!!
Теперь в сервер втыкаем флешку с виртуальной машиной в формате .ova
Примонтируем её
mount_msdosfs /dev/da0s1 /mnt/usb
На вебстаринеце phpvutrualbox жмем File > Import applaence
Виртуальная машина добавилась идем в настройки у отключаем USB во первых он не нужен и во вторых он не установлен!
Там же правим сетевые настройки выбираем тип Bridged Adapter и вторую Etehrnet карту у меня это re1 и это не просто так!
Я запускаю на Virtualbox виртуальный сервер FreeBSD с настроенным Squid,Sams,NetAMS,DHCPD. К сожалению Virtulbox у меня не заработал напрямую с Wi-Fi адаптером (есть мнение что он не умеет этого делать). Но виртуальный сервер отлично работает если в сервера два адаптера Ethernet один из которых повешен в режиме моста Wi-Fi адаптер!
Делаем мост из Wi-Fi адаптера wlan0 на Ethernet re0, для его в rc.conf меняем на
wlans_ath0="wlan0" create_args_wlan0="wlanmode hostap country RU" cloned_interfaces="bridge0" ifconfig_bridge0="inet 192.168.1.98 netmask 255.255.255.0 addm wlan0 addm re0 up"
Там же сторчки Ehetrnet адаптеров выглядят так
ifconfig_re0="inet 192.168.1.100 netmask 255.255.255.0" ifconfig_re1="inet 192.168.1.99 netmask 255.255.255.0"
Также на железном сервере выключаем IPFW, его можно настроить чтобы он пропускал нужный виртуальный трафик но у меня это не получилось. В rc.conf закрываем строки вот так
#firewall_enable="YES" #firewall_type="/etc/rc.firewall" #firewall_logging="YES"
DHCP если был запушен на железном сервере, так же отключаем.
Чтобы ваше виртуальная машина запускалась автоматически при загрузке железного сервера добавляем в rc.d строчки — в последней указано имя виртуальной машины.
vboxheadless_enable="YES" vboxheadless_user="vbox" vboxheadless_stop="poweroff" vboxheadless_delay="0" vboxheadless_machines="ITCooky_1_0_rc2"
Перезагружаемся.
Получаем следующее. На железном сервере у нас поднята точка доступа Wi-Fi(установленная ранее) она связано мостом с Etherhet адаптером re0, на Etherhet адаптером re1 у нас запускается сам виртуальный сервер ITCooky_1_0_rc2, которы раздает IP по DHCP, считает трафик пользователей NetAMS, и занимается цензурой SUID-SAMS, на нем же файрволл IPFW.
Для редактирования VirtualBox заходим на железный сервер по ссылке http://ip_server/phpvutrualbox для редактирования сервисов на виртуальном сервере заходим на его http://ip_server/ !!! По моему очень удобно, отказоустойчиво, легко оживляется! И главное не зависит от платформы можно запустить в любой среде где работает VirtualBox — Windows,MacOS,Linux!
Пару слов о железе. У меня данный процесс опробован на Intel Atom 330 два ядра 1,6 mHz RAM 1GB DDR2 и Intel Core Duo E8400 два ядра 3 mHz 2GB DDR2, никаких затруднений с достаточной производительностью не возникает. Так что лучше использовать Atome с потребляемой мощностью 8w, чем Intel Core Duo с 65w — незабываем о грабительской реформе оплаты за электроэнергию.
Схема сети которая получилась в результате
Добавить комментарий