Pull to refresh

Гипервизор для чайников

Reading time 4 min
Views 13K
Всем привет! Решил поделиться опытом создания гипервизора на базе Ubuntu server 14.04 LTS и бесплатной виртуальной машине virtualbox 5.2 с вэб-интерфейсом управления как самим сервером (webmin), так и виртуальными машинами (phpvirtualbox). В сети можно найти кривоватую инструкцию по поднятию вышесказанного на ubuntu server 16.04, но эта инструкция морально устарела и предлагает версию virtualbox 5.0-5, не смотря на то, что в 16.04 в официальных репозиториях уже давно прижилась версия 5.2. Тут мы это все исправим. Данная инструкция применима как к ubuntu server 14.04, так и к 16.04. На более свежих версиях не проверял, но подозреваю что так же будет работать. Итак, начнем.

1. Для начала после установки ubuntu следует обновить все пакеты и ядро:

sudo apt-get -y update && sudo apt-get -y dist-upgrade

2. Затем перезагрузимся:

sudo reboot now

3. Теперь пересоздадим sources.list с добавлением необходимых репозиториев (для 14.04, если у вас версия выше — придется ручками править trusty на ваше кодовое имя (кроме webmin, он всегда sarge)). Для удобства зайдите под root:

su
или
sudo -i

4. Затем бекапим sources.list и создаем чистый:

cd /root
mv /etc/apt/sources.list /etc/apt/sources.list.bak
touch /etc/apt/sources.list
nano /etc/apt/sources.list

5. В новый файл sources.list вставляем это:

# 
deb http://ru.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://ru.archive.ubuntu.com/ubuntu/ trusty main restricted
deb http://ru.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://ru.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb http://ru.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://ru.archive.ubuntu.com/ubuntu/ trusty universe
deb http://ru.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://ru.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb http://ru.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://ru.archive.ubuntu.com/ubuntu/ trusty multiverse
deb http://ru.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://ru.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb http://ru.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://ru.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu trusty-security main restricted
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse
deb http://archive.canonical.com/ubuntu trusty partner
deb-src http://archive.canonical.com/ubuntu trusty partner
## deb http://extras.ubuntu.com/ubuntu trusty main
## deb-src http://extras.ubuntu.com/ubuntu trusty main
deb https://download.webmin.com/download/repository sarge contrib
deb http://download.virtualbox.org/virtualbox/debian trusty contrib

6. Скачиваем и устанавливаем ключи:

wget http://www.webmin.com/jcameron-key.asc
wget https://www.virtualbox.org/download/oracle_vbox_2016.asc
wget https://www.virtualbox.org/download/oracle_vbox.asc
apt-key add jcameron-key.asc
apt-key add oracle_vbox.asc
apt-key add oracle_vbox_2016.asc
apt-get update

7. Устанавливаем необходимые пакеты:

apt-get install mysql-server apache2 php-soap webmin mc unzip traceroute
apt-get install virtualbox-5.2

8. Добавляем пользователя:

usermod -aG vboxusers {имя пользователя}

Важно! Используйте имя пользователя, имеющегося в системе, ибо именно от него будут запускаться виртуальные машины.
9. Далее скачаем и установим Extension Pack:

wget https://download.virtualbox.org/virtualbox/5.2.26/Oracle_VM_VirtualBox_Extension_Pack-5.2.26.vbox-extpack
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.26.vbox-extpack

10. Осталось дело за вебмордой, скачиваем и устанавливаем:

wget https://github.com/phpvirtualbox/phpvirtualbox/archive/5.2-1.zip
mv phpvirtualbox-5.2-1 /var/www/html/phpvirtualbox

11. Назначим владельца и права:

chown -R www-data:www-data /var/www/html/phpvirtualbox
chmod -R 755 /var/www/html/phpvirtualbox

12. Теперь скопируем и отредактируем конфиг:

cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php
nano /var/www/html/phpvirtualbox/config.php

13. В открывшемся конфиге нас интересуют только 2 строчки, а именно

var $username = 'user';
var $password = 'password';

сюда вносим реальные имя пользователя и пароль от учетки, указанной в пункте 8.

14. Создаем и редактируем файл /etc/default/virtualbox:

nano /etc/default/virtualbox
и добавляем туда
VBOXWEB_USER={имя пользователя из пункта 8}

15. Перезагружаемся:

reboot now


16. На гостевую ОС требуется установить Guest additions, скачиваем образ и монтируем в привод виртуальной машины:
wget https://download.virtualbox.org/virtualbox/5.2.26/VBoxGuestAdditions_5.2.26.iso 

Для *nix машин устанавливаем необходимые пакеты:
sudo apt-get install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r)

Монтируем привод:
sudo mount /dev/sr0/ /media/cdrom
и стартуем от суперпользователя
cd /media/cdrom
./VBoxLinuxAdditions.run

Для машин на Windows просто выполняем Autorun или Setup.exe

Если все прошло успешно, то после перезагрузки по адресу http://{ip адрес сервера}/phpvirtualbox будет доступен интерфейс управления виртуальными машинами, а по адресу https://{ip адрес сервера}:10000 будет доступен webmin — мощный интерфейс управления сервером. Для входа в интерфейс управления виртуальными машинами используйте стандартный логин и пароль admin:admin (меняется в самом интерфейсе), а для авторизации в webmin используйте учетную запись реального пользователя с правами root (можно и непосредственно root, если вы его разблокировали).
Tags:
Hubs:
-11
Comments 30
Comments Comments 30

Articles