Инструменты пользователя

Инструменты сайта


wiki:freebsd:virtualbox

Это старая версия документа!


Установка VirtualBox и phpvirtualbox на FreeBSD

После установки ОСи обновляем устанавливаем порты и обновляем их.

# 
portsnap fetch extract
portsnap fetch update

Получаем свежие src ОС

# Получаем свежие сырцы

fetch -o /tmp/src.txz http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/`uname -r`/src.txz
cd /; tar xJvf /tmp/src.txz

Собираем VirtualBox и модули ядра для его работы

cd /usr/ports/emulators/virtualbox-ose
make install clean BATCH=yes
cd /usr/ports/sysutils/lsof
make install clean BATCH=yes
 
cd /usr/ports/emulators/virtualbox-ose-kmod
make install clean BATCH=yes
# Добавляем модуль в загрузку
echo 'vboxdrv_load="YES"' >> /boot/loader.conf
# Загружаем модуль в память
kldload vboxdrv

Устанавливаем PhpVirtualBox

# Добавляем пользователя, от которого будут работать VM на сервере.
# Пароль сохраняем, он нам потребуется чуть позднее.
adduser vbox
pw groupmod vboxusers -m vbox
 
# Устанавливаем PhpVirtualBox
pkg install -y nginx
pkg install -y phpvirtualbox

Обращаю внимание, что php установится автоматом при установке phpvirtualbox

Конфигурируем VirtualHost для вебморды

# Копируем конфиг для php.ini
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
# Добавляем ссылку на каталог ngnix/conf.d
sed -i.bak '$s/}/\tinclude conf.d\/\*\.conf;\r\n\r\n}/'  /usr/local/etc/nginx/nginx.conf
# Создаем директорию для добавления собственных конфигов NgiNX
mkdir /usr/local/etc/nginx/conf.d/

Далее нужно создать конфиг /usr/local/etc/nginx/conf.d/vbox.conf Укажите URL, по которому будет работать веб-морда phpVBox

vbox.conf
server {
  listen 80;
  server_name URL-URL;
  root /usr/local/www;
  error_log /var/log/nginx/vbox-error.log warn;
  access_log /var/log/nginx/vbox.log;
 
  location / {
    root /usr/local/www/nginx;
    index index.php index.html;
    try_files $uri $uri/ =404;
  }
 
  location /phpvirtualbox {
    index index.html;
    try_files $uri $uri/ =404;
  }
 
  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
  }
}

Стартуем vboxwebserver

/usr/local/etc/rc.d/vboxwebsrv start

Сразу проверим, работает ли он:

lsof -i :18083
 
COMMAND     PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
vboxwebsr 87849 vbox    8u  IPv6 0xfffffe003e89b0e0      0t0  TCP localhost:18083 (LISTEN)

Конфигурируем PhpVirtualBox

nano  /usr/local/www/phpvirtualbox/config.php
config.php
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';                       /* Тут указываем имя пользователя */
var $password = 'Pa$$w0rD';                   /* Тут указываем пароль пользователя */
 
/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
var $location = 'http://localhost:18083/';    /* Тут меняем 127.0.0.1 на locahost */

Стартуем все сервисы и проверяем работу VirtualBox и Вебморды

sysrc nginx_enable=YES
sysrc php_fpm_enable=YES
 
sysrc vboxguest_enable=YES
sysrc vboxnet_enable=YES
sysrc vboxwebsrv_enable=YES
sysrc vboxwebsrv_user="vbox"
 
service php-fpm restart
service nginx restart

Переходите на http://URL-URL/phpvirtualbox/ и начинайте настройку виртуальных машин. Пароль admin по дефолту admin.

wiki/freebsd/virtualbox.1680866699.txt.gz · Последнее изменение: 2023/04/07 14:24 — Diman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki