Всем привет! Решил поделиться опытом создания гипервизора на базе 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 следует обновить все пакеты и ядро:
2. Затем перезагрузимся:
3. Теперь пересоздадим sources.list с добавлением необходимых репозиториев (для 14.04, если у вас версия выше — придется ручками править trusty на ваше кодовое имя (кроме webmin, он всегда sarge)). Для удобства зайдите под root:
или
4. Затем бекапим sources.list и создаем чистый:
5. В новый файл sources.list вставляем это:
6. Скачиваем и устанавливаем ключи:
7. Устанавливаем необходимые пакеты:
8. Добавляем пользователя:
Важно! Используйте имя пользователя, имеющегося в системе, ибо именно от него будут запускаться виртуальные машины.
9. Далее скачаем и установим Extension Pack:
10. Осталось дело за вебмордой, скачиваем и устанавливаем:
11. Назначим владельца и права:
12. Теперь скопируем и отредактируем конфиг:
13. В открывшемся конфиге нас интересуют только 2 строчки, а именно
сюда вносим реальные имя пользователя и пароль от учетки, указанной в пункте 8.
14. Создаем и редактируем файл /etc/default/virtualbox:
и добавляем туда
15. Перезагружаемся:
16. На гостевую ОС требуется установить Guest additions, скачиваем образ и монтируем в привод виртуальной машины:
Для *nix машин устанавливаем необходимые пакеты:
Монтируем привод:
Для машин на Windows просто выполняем Autorun или Setup.exe
Если все прошло успешно, то после перезагрузки по адресу
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, если вы его разблокировали).