Наконец-то, я дождался стабильной версии этого замечательного продукта под любимую ОС FreeBSD.
Правда, для того что бы установить её, мне пришлось обновиться до последней версии. На данный момент — FreeBSD 8.2-RELEASE-p1.
Далее, я по старинке с помощью cvsup — обновил свои порты и проинсталил VirtualBox 4. Затем поставил, для удобства phpvirtualbox и наступило мне счастье.
Далее, я вставил образ с дополнениями и проинсталил его на гостевую винду — всё заработало, как на локальной. Очень шустро — без глюков, мышь как на хостовом ПК. В общем реально круто — оракловцы постарались. И с qemu несравнимо.
Ну, как бы предисловие заканчиваю, теперь перехожу к самому процессу установки и проблемам с которыми я столкнулся.
После успешной установки, я долго пытался запустить VB, но меня преследовало вот такого рода сообщение:
VirtualBox: SUPR3HardenedMain: effective uid is not root (euid=1000 egid=1000 uid=1000 gid=1000) |
А что бы его пофиксить, мне всего ли пришлось поменять хозяина на директорию библиотек virtualboxа:
# ls -l /usr/local/lib/virtualbox/ total 167096 -r--r--r-- 1 root vboxusers 86477 25 май 12:59 DBGCPlugInDiggers.so -r--r--r-- 1 root vboxusers 16159 25 май 12:54 VBoxAuth.so -r--r--r-- 1 root vboxusers 209857 25 май 13:00 VBoxAuthSimple.so -r-s--x--x 1 root vboxusers 23604 25 май 13:02 VBoxBFE ................... .............. |
ЗЫ.
С Linux и FreeBSD на VirtualBox есть некоторые бока в графическом режиме до тех пор, пока не проинсталить дополнения в образе, который скачивается при установке VBoxa и исправления конфига xorg.conf добавлением в него драйверов с этого же диска.
Установка.
Если еще не установлен, то установим vnc — он нам пригодится. А точнее vncviewer с его комплекта:
# cd /usr/ports/net/libvncserver # make && make install |
Теперь ставим виртуалбокс:
# cd /usr/ports/emulators/virtualbox-ose # make config |
Выбираем всё кроме (NLS, DBUS, DEBUG), иначе корится в процессе компиляции.
# make # cd /usr/ports/emulators/virtualbox-ose-additions/ # make && make install |
При установке дополнений, они за собой потянут 3 пакета виртуалбокса:
virtualbox-ose-4.0.8 virtualbox-ose-additions-4.0.8 virtualbox-ose-kmod-4.0.8 |
Если это не так, то доинсталиваем недостающее из трёх пакетов:
# cd /usr/ports/emulators/virtualbox-ose-additions/ # cd /usr/ports/emulators/virtualbox-ose-kmod/ # cd /usr/ports/emulators/virtualbox-ose/ |
После успешной сборки, выполняем, то что нас просит VB при установке:
# kldload vboxdrv # echo 'vboxdrv_load="YES"' >> /boot/loader.conf # echo 'vboxnet_enable="YES"' >> /etc/rc.conf # echo 'vboxguest_enable="YES"' >> /etc/rc.conf # echo 'vboxservice_enable="YES"' >> /etc/rc.conf # echo 'vboxservice_flags="--disable-timesync"' >> /etc/rc.conf # echo 'vboxheadless_enable="YES"' >> /etc/rc.conf # echo 'vboxwebsrv_enable="YES"' >> /etc/rc.conf |
В теории, это всё. Можно запустить сервис вручную, или перезагрузить ПК.
Но я на этом не остановился, как я уже писал выше, я поставил себе phpvirtualbox для удобства управления гостевыми ПК — это удобно.
# cd /usr/local/www/phpvirtualbox/ # make install |
После установки phpvirtualbox, проверьте что бы было установленно SOAP PHP расширение, иначе он работать не будет.
Веб-сервер я сконфигурил, как отдельный виртуальный хост (мне так было удобнее).
Теперь создаём пользователя от которого и будем всё запускать, у меня это «pvbuser»
# adduser pvbuser # pw groupadd vboxusers # pw groupmod vboxusers -m pvbuser # mkdir /home/pvbuser # chown -R pvbuser:vboxusers /home/pvbuser |
Правим конфиг для phpvirtualbox, я в нём отключил авторизацию, так как авторизируюсь средствами апача.
# mcedit /usr/local/www/phpvirtualbox/config.php //var $noAuth = true; - нужно раcкомментировать, если авторизация не нужна. |
Создаём скрипт для автозапуска сервиса веб-управления:
# mcedit /usr/local/etc/rc.d/phpvirtualbox.sh и вносим: #!/bin/sh echo -n 'phpVirtualBox daemon ' case "$1" in start) echo 'VBox started..' su - pvbuser -c "VBoxManage setproperty websrvauthlibrary null" && # su - pvbuser -c "/usr/local/bin/VBoxHeadless --startvm WinXP --vnc --vncport 5903 --vncpass qwest" su - pvbuser -c "/usr/bin/nohup vboxwebsrv -t 0 -F /dev/null" ;; stop) killall vboxwebsrv killall VBoxSVC killall VBoxXPCOMIPCD echo 'VBox stoped..' ;; *) echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac exit 0 |
Ставим права запуска на скрипт и запускаем его:
# chmod +x /usr/local/etc/rc.d/phpvirtualbox.sh # /usr/local/etc/rc.d/phpvirtualbox.sh |
Теперь зайдя в ваш виртуальный хост, можно увидеть интерфейс управления как в самом gui-шном VirtualBox.
Но это еще не всё, можно машину сконфигурить и с его помощью, а можно вручную, что меня намного больше попёрло. Тем более, первый раз запустить её Вам однозначно прийдётся в ручную запускать с vnc — для установки гостевой ОС. А дальше как угодно, через тот-же phpvirtualbox.
Итак, команды для создания и запуска виртуальной виндовс машины:
# su -l pvbuser $ VBoxManage createvm --name WinXP --ostype WindowsXP --register --basefolder /home/pvbuser $ VBoxManage modifyvm "WinXP" --memory 512 --acpi on --boot1 dvd --nic1 nat $ VBoxManage createhd --filename "WinXP.vdi" --size 8000 $ VBoxManage storagectl "WinXP" --name "IDE Controller" --add ide --controller PIIX4 $ VBoxManage storageattach "WinXP" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "WinXP.vdi" $ VBoxManage storageattach "WinXP" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /mnt/WinEnterpriseXP-sp3.iso |
После конфигурации — запускаем в фоне:
/usr/bin/nohup /usr/local/bin/VBoxHeadless --startvm WinXP --vnc --vncport 5903 --vncpass qwest & |
Подключаемся с помощью vncviewer:
$ vncviewer 127.0.0.1:5903
Password: |
Вот и всё, мы подключились к нашей гостевой машине — далее инсталлируем на неё всё необходимое, включаем RDP. Перезагружаемся и Гостевой ПК готов к работе. Можно выключить стандартными средствами гостевого ПК и включить через phpvirtualbox, что бы сразу и проверить как всё работает.
PS. Возможно команды для конфигурения и запуска гостевой машины у Вас немного будут отличатся от моих — так как разработка VirtualBox на месте не стоит, что не может не радовать 🙂
Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:
Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)
Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455
На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел