Install VirtalBox to FreeBSD and FreeNAS
ИНСТРУКЦИЯ
Меняем:
Было | Стало |
DocumentRoot “/usr/local/www/apache22/data | DocumentRoot ”/usr/local/www/phpvirtualbox |
<Directory “/usr/local/www/apache22/data”> | <Directory “/usr/local/www/phpvirtualbox”> |
| AddType application/x-httpd-php .php |
| AddType application/x-httpd-php-sources .phps |
Сохраняем.
Добавляем юзера vbox с uuid=1001, чтобы потом в его домашнюю папку класть виртуальные машины:
adduser
Ставим пароль на рута:
passwd root
Прописываем необходимые элементы в rc.conf
sysrc apache24_enable="YES" && sysrc sshd_enable="YES" && sysrc vboxwebsrv_user="vbox" && sysrc vboxwebsrv_enable="yes"
Добавляем возможность менять advanced settings в ГУИ:
nano /usr/local/www/phpvirtualbox/config.php
и раскомментируем там строку
var $enableAdvancedConfig = true;
phpvirtualbox 5.0.5 отказывается работать с VirtualBox 5.1.x
Как пишуть вГлавном сайте PHPVirtualBox-a:
I was able to get v5.0-5 working with vbox 5.1 by commenting out the version check line and replacing it with a static value in the api.php
file:
cd phpvirtualbox
cd ./endpoints/lib/
edit: api.php
find and replace (comment out old, add new):
// $response['data']['responseData']['phpvboxver'] = @constant('PHPVBOX_VER');
$response['data']['responseData']['phpvboxver'] = "5.1-0";
Под Хромом запускается.
Второй путь под Хром мне нравится больше:
go to phpvirtualbox webroot:
cd phpvirtualbox
cd ./endpoints/lib/
edit: config.php
find and replace (comment out old, add new):
//define('PHPVBOX_VER', '5.0-5');
define('PHPVBOX_VER', '5.1-0');
create 2 symlinks:
ln -s vboxweb-5.0.wsdl vboxweb-5.1.wsdl
ln -s vboxwebService-5.0.wsdl vboxwebService-5.1.wsdl
При желании поставить GUI по https
делаем (не перевожу, тупой копипаст):
If you want to use SSL you have to do the following:
nano /usr/local/etc/apache22/httpd.conf
Add the following lines to the document(the end is fine):
Listen 443
<VirtualHost *:443>
ServerName 192.168.2.4
SSLEngine on
SSLCertificateFile /home/vbox/server.crt
SSLCertificateKeyFile /home/vbox/server.key
</VirtualHost>
Substitute your jail's IP address for my address in the line ServerName.
If you do not want http to work then delete or comment out the line “Listen 80” in httpd.conf.
Save and exit the file.
The following encryption key settings may or may not be secure. Use them at your own risk(or benefit).
Create some encryption keys for SSL:
cd /home/vbox
openssl genrsa -des3 -out server.key 1024 #(Generates a private key)
openssl req -new -key server.key -out server.csr
cp server.key server.key.org #(backs up your key)
openssl rsa -in server.key.org -out server.key #(Removes the passphrase from the key)
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt # (Generates a self-signed Certificate)
Jail готов.
В основной ОС FreeNAS добавляем (если нет) необходимые модули для создания bridged интерфейса VBox-a. Они лежат в приаттаченном файле files.tar.gz
Перемонтируем корень для записи:
mount -uw /
copy the included vbox*.ko files over the vbox*.ko files included in /boot/modules
cp modules/vbox*.ko /boot/modules/
copy the included ng*.ko files to /boot/kernel
cp kernel/ng*.ko /boot/kernel/
Исправляем права доступа:
chmod 555 /boot/modules/*.ko
chmod 555 /boot/kernel/*.ko
Перелинковываем модули ядра:
kldxref /boot/modules /boot/kernel
Прописываем строку о возможности создания внутренней сети vboxnet:
echo "vboxnet_enable=YES" >> /conf/base/etc/rc.conf
и сохраняемся:
mount -ur /
Если планируем использовать bridged network, то через веб-гуи FreeNAS-a добавляем tunable
Перезагружаем наш FreeNAS и имеем щасте и доступ к упрвлению VBox-ом через веб-интерфейс по айпишнику Jail-a
Юзернейм admin
Пароль admin
AutoStart VM