Default Green Orange
Gemini_13's Blog
Блокнот полезных вещей
Home
    • Карта сайта
    • Обо мне
RSS

VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)

Linux, Настройка сервера Add comments

Данная заметка о том, как установить VirtualBox 5 и веб-морду phpVirtualBox на сервер. Понимаю, что это достаточно простая задача, но мне проще, когда всё есть под рукой хотя бы в роли чек листа.
Заметка состоит из трех частей:
1. Установка VirtualBox на сервер
2. Установка phpVirtualBox
3. Создание и настройка виртуального хоста на Nginx

Установка VirtualBox Guest Additions на виртуальную машину будет в отдельной заметке.

1. Установка VirtualBox на сервер

Добавим репозиторий в source.list:

# nano /etc/apt/sources.list

Добавим следущее:

# VirtualBox repository
deb http://download.virtualbox.org/virtualbox/debian jessie contrib non-free

Скачиваем публичный ключ для репозитория:

# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add -

Обновляем репозиторий и устанавливаем VirtualBox 5:

# apt-get update && apt-get install virtualbox-5.0

Теперь нужно поставить Extension Pack для VirtualBox. Чтобы это сделать нужно узнать версию установленого VirtualBox-сервера:

# VBoxManage -V
5.0.8r103449

Как видим, у меня это 5.0.8 сборки 103449… Нужно скачать и установить Extension Pack для данной версии. Заходим на страницу загрузок и находим папку с нашей версией VirtualBox, а внутри ее будет нас ждать Extension Pack:
http://download.virtualbox.org/virtualbox/
Для меня такая ссылка вышла:
http://download.virtualbox.org/virtualbox/5.0.8/Oracle_VM_VirtualBox_Extension_Pack-5.0.8-103449.vbox-extpack
Забираем пакет на сервер:

# wget http://download.virtualbox.org/virtualbox/5.0.8/Oracle_VM_VirtualBox_Extension_Pack-5.0.8-103449.vbox-extpack

Устанавливаем Extension Pack:

VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.8-103449.vbox-extpack

Перезагрузим сервис:

# service vboxweb-service restart

Теперь нужно создать пользователя, с помощью которого мы будем управлять virtualbox через веб-морду (пароль нужно запомнить, он нужен для настройки веб-морды):

# adduser vbox

2. Установка phpVirtualBox

phpVirtualBox — это веб-морда для управления virtualbox через браузер. Не особо уступает привычной панели управления на компьютерах. Ставить ее можно куда угодно и управлять она может несколькими серверами, что является несомненным плюсом.
Выбрать подходящую версию можно тут (нужно выбирать версию панели под версию сервера):
http://sourceforge.net/projects/phpvirtualbox/files/
Так как у меня версия VirtualBox 5.0.8, а последняя версия панели 5.0.3, то скачиваю ее на сервер:

# wget -O phpvirtualbox-5.0-3.zip http://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-5.0-3.zip/download

Распакуем архив в нужное место (у меня это /home/www/):

# unzip phpvirtualbox-5.0-3.zip -d /home/www/

Переименуем папку c веб-мордой (можно не делать, т.к. это моя хотелка):

# mv /home/www/phpvirtualbox-5.0-3/ /home/www/phpvirtualbox

# Переходим в папку:

# cd /home/www/phpvirtualbox/

Создадим файл config.php из примера:

# cp config.php-example config.php

Редактируем конфиг:

# nano config.php

Припустим, что VirtualBox и phpVirtualBox установлены на одном и том же сервере с IP 192.168.0.1.
Меняем указанные параметры:

var $username = 'vbox'; // Имя пользователя на сервере для управления virtualbox
var $password = 'pass'; // Пароль пользователя на сервере для управления virtualbox
var $location = 'http://192.168.0.1:18083/'; // Адрес сервера с VirtualBox (нужно указать внешний IP сервера)
var $consoleHost = '192.168.0.1'; // Адрес сервера с VirtualBox (нужно указать внешний IP сервера)

ВНИМАНИЕ! Если хотите работать с несколькими серверами через одну веб-морду, параметры выше можно закомментировать и использовать настройки через массив $servers (пример массива есть в config.php).

Теперь нужно создать конфиги для запуска сервиса vboxweb-service. Для этого создадим файл:

# nano /etc/default/virtualbox

И запишем в него следующее (больше информации в wiki http://sourceforge.net/p/phpvirtualbox/wiki/vboxweb-service%20Configuration%20in%20Linux/):

VBOXWEB_USER=vbox
VBOXWEB_HOST=192.168.0.1
VBOXWEB_PORT=18083

Перезагрузим сервис:

# service vboxweb-service restart

3. Создание и настройка виртуального хоста на Nginx

Для веб-морды phpVirtualBox я захотел создать поддомен и заходить по нему. Поддомен будет вида vbox.site.com. На сервере, где развернута веб-морда работает nginx.

Создадим конфиг виртуального хоста:

# nano /etc/nginx/sites-available/vbox.site.com

Напишем в него следующее:

server {
        listen 192.168.0.1:80;
        server_name vbox.site.com www.vbox.site.com;
        access_log /var/log/nginx/access-vbox.site.com.log;
        root /home/www/phpvirtualbox/;
        index index.php index.html index.htm;

        location / {
                try_files $uri $uri/ /index.html;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+.php)(.*)$;
                fastcgi_pass unix:/tmp/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

Прошу обратить внимание на параметры access_log, root и fastcgi_pass. У Вас они будут другими, т.к. настройки серверов зачастую отличаются.

Теперь подсунем nginx новый конфиг, забросив его в папку sites-enabled:

# ln -s /etc/nginx/sites-available/vbox.site.com /etc/nginx/sites-enabled/

Проверим конфиг:

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Если получили такой же ответ, это значит, что ошибок в конфиге нет и можно делать релоад nginx:

# service nginx reload

Всё, теперь можно проверять работоспособность веб-морды по адресу http://vbox.site.com/. Логин и пароль — admin.
Успехов! 🙂


2 ноября, 2015  
Tags: debian, jessie, nginx, phpvirtualbox, virtualbox, виртуалбокс

Leave a Reply

  • Рубрики

    • FreeBSD (20)
    • Linux (46)
    • MySQL (11)
    • Windows (14)
    • Железо (3)
    • Мои моды к TorrentPier II (16)
    • Настройка сервера (49)
    • Разное (33)
    • Скрипты (30)
  • Свежие записи

    • Поля форм на Yii2: textInput(), passwordInput() и hiddenInput()
    • Поля форм на Yii2: CheckboxList()
    • SpeedTest датацентров Digital Ocean
    • Патчим Gearman на Debian
    • nginx + Apache 2.4 и REMOTE_ADDR (решение проблемы)
    • Создание и подключение swap-файла в Debian
    • Запуск PhpStorm 9 x64 на Windows
    • Рекурсивная замена прав доступа для папок и файлов в Linux
    • VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)
    • Обработка сессий PHP с помощью Redis + phpredis на Debian 7.8
  • Ссылки

    • My GitHub
  • Архивы

    • Июнь 2016 (2)
    • Март 2016 (2)
    • Январь 2016 (3)
    • Ноябрь 2015 (2)
    • Август 2015 (1)
    • Февраль 2015 (1)
    • Январь 2015 (7)
    • Октябрь 2014 (1)
    • Июнь 2014 (1)
    • Май 2014 (1)
    • Апрель 2014 (7)
    • Февраль 2014 (9)
    • Январь 2014 (5)
    • Декабрь 2013 (7)
    • Ноябрь 2013 (1)
    • Октябрь 2013 (3)
    • Август 2013 (4)
    • Июль 2013 (4)
    • Июнь 2013 (3)
    • Апрель 2013 (2)
    • Март 2013 (2)
    • Февраль 2013 (6)
    • Январь 2013 (2)
    • Декабрь 2012 (1)
    • Ноябрь 2012 (2)
    • Октябрь 2012 (7)
    • Сентябрь 2012 (22)
Все права защищены © 2015 Gemini_13's Blog
G13.org.ua