
Установка Oracle VM VirtualBox на FreeBSD
В своей теме «Установка Oracle VM VirtualBox на FreeBSD» я расскажу как я устанавливал virtualbox на freebsd.
Установим утилиту, она нам пригодится:
# cd /usr/ports/net/libvncserver # make && make install
Выбрал все что там было, и началась установка. После чего ставим сам VirtualBox:
# cd /usr/ports/emulators/virtualbox-ose # make config
Все что дальше будет спрашивать за установку, выбираем все пункты и продолжаем установку. Установим дополнения к виртуал боксу:
# cd /usr/ports/emulators/virtualbox-ose-additions/ # make && make install && make clean
Дополнения должны подтянуть за собой, то есть по идее можно поставить только virtualbox-ose-additions и он должен все поставить сам, но не будем на это надеяться, нам нужны:
virtualbox-ose-4.0.8
virtualbox-ose-additions-4.0.8
virtualbox-ose-kmod-4.0.8
Если не поставит, то идем и ставим сами:
# cd /usr/ports/emulators/virtualbox-ose-additions/ # make && make install && make clean # cd /usr/ports/emulators/virtualbox-ose-kmod/ # make && make install && make clean # cd /usr/ports/emulators/virtualbox-ose/ # make && make install && make clean
После установки делаем все то что просит 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
Все, должно работать! Запустим сервис вручную, или ребутнем сервер.
Для удобства использования, я поставлю еще:
# cd /usr/local/www/phpvirtualbox/ # make install
После того как поставите phpvirtualbox, нужно проверить установленно ли у нас SOAP PHP расширение, иначе НИКАК!
Создадим нового юзера (pvbuser) для работы и добавим его в группу (vboxusers):
# adduser pvbuser # pw groupadd vboxusers # pw groupmod vboxusers -m pvbuser # mkdir /home/pvbuser # chown -R pvbuser:vboxusers /home/pvbuser
Поправим конфигур phpvirtualbox, я в нём отключу авторизацию, так как юзаю авторизацию самого апача:
# ee /usr/local/www/phpvirtualbox/config.php
//var $noAuth = true; -раcкомментируем, если нужно авторизоваться
Создадим скрипт для запуска, для этого:
# ee /usr/local/etc/rc.d/phpvirtualbox.sh
вставляем:
#!/bin/sh # Установка Oracle VM VirtualBox на FreeBSD 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
И так, у нас есть уже графический интерфейс, можно сконфигурить вирт маш, для этого выполним команды для создания и запуска виртуалки на примере виндовс машины:
# 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: «вводим пароль»
Установка Oracle VM VirtualBox на FreeBSD завершена, надеюсь было все понятно расписано.