Главная страница \ Статьи \ Администрирование сетей \ Установка VirtualBox на Ubuntu 22.04

Установка VirtualBox на Ubuntu 22.04

Статья не претендует на полноценный мануал и является скорее заметкой на будущее.

В связи с тем, что планируется использовать систему как хост для виртуальных машин, то начинается всё с установки Ubuntu 22.04 в виде минималистичного сервера, без каких-либо дополнительно предустановленных пакетов.

Все последующие команды выполняются в режиме супер-пользователя, так что начинается всё

sudo su
# Updating
apt-get update
apt-get upgrade

Сразу ставим firewall и разрешаем подключение по ssh

# Firewall
apt-get install ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp

Установка VirtualBox 7.0 из репозитория

# Loading key for repository
wget -c https://www.virtualbox.org/download/oracle_vbox_2016.asc -O oracle_vbox.asc
# Adding repository key
apt-key add oracle_vbox.asc
# Adding repository
add-apt-repository 'deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian jammy contrib'
# Updating sources
apt-get update
# Installing VirtualBox
apt-get install virtualbox-7.0
# Adding current user to vboxusers group
usermod -aG vboxusers $SUDO_USER
# VirtualBox Extensions
wget -q https://download.virtualbox.org/virtualbox/7.0.8/Oracle_VM_VirtualBox_Extension_Pack-7.0.8.vbox-extpack
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.8.vbox-extpack
# User for VirtualBox Web Service
useradd -m wvbox -G vboxusers
# Set the generated password (for example, 123qweasd)
passwd wvbox
# VirtualBox Web Service settings, if you will install nginx locally - use 127.0.0.1
echo $'VBOXWEB_USER=wvbox\nVBOXWEB_HOST=0.0.0.0\nVBOXWEB_PORT=28394\nVBOXAUTOSTART_DB=/etc/vbox\nVBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg' > /etc/default/virtualbox

Включения автостарта машин при запуске

# Enabling VirtualBox AutoStart
su - wvbox -c "VBoxManage setproperty autostartdbpath /etc/vbox"
chown wvbox:vboxusers /etc/vbox
chmod 1775 /etc/vbox
echo $'default_policy = deny\nwvbox = {\nallow = true\n}\n' > /etc/vbox/autostart.cfg
chgrp vboxusers /etc/vbox/autostart.cfg
su - wvbox -c "VBoxManage modifyvm uuid|vmname --autostart-enabled on"
su - wvbox -c "VBoxManage modifyvm uuid|vmname --autostop-type acpishutdown"

Включение сервиса удалённого управления

# Enabling VirtualBox Web Service
systemctl enable vboxweb-service
# Enabling VirtualBox AutoStart on boot
systemctl enable vboxautostart-service
# Restarting VirtualBox Web Service
systemctl restart vboxweb-service
 

Установка phpVirtualBox

# Installing nginx and phpVirtualBox
apt-get install unzip
apt-get install nginx php8.1 php-fpm php8.1-xml
#wget -c https://github.com/phpvirtualbox/phpvirtualbox/archive/master.zip -O vboxphp.zip
wget -c https://github.com/BartekSz95/phpvirtualbox/archive/main.zip -O vboxphp.zip
unzip vboxphp.zip -d /var/www
#mv /var/www/phpvirtualbox-master /var/www/pvb
mv /var/www/phpvirtualbox-main /var/www/pvb
chown -R www-data:www-data /var/www/pvb
# Set the IP! It is important
echo $'server {\n  listen *:80;\n  root /var/www/pvb/;\n  index index.php index.html;\n  location / {\n    try_files $uri $uri/ /index.html;\n  }\n  location ~ \.php$ {\n    try_files $uri =404;\n    fastcgi_split_path_info ^(.+.php)(.*)$;\n    fastcgi_pass unix:/var/run/php/php-fpm.sock;\n    fastcgi_index index.php;\n    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n    include fastcgi_params;\n  }\n}\n' > /etc/nginx/conf.d/pvb.conf
systemctl restart nginx
cp -p /var/www/pvb/config.php-example /var/www/pvb/config.php
# Update /var/www/pvb/config.php:
# 1. Set username = wvbox
# 2. Set password = 123qweasd
# 3. Set location = http://127.0.0.1:28349
# 4. Set vrdeaddress = your_ip
# 5. Uncomment and set consoleHost = your_ip
# 6. Uncomment enableAdvancedConfig
# If you use version below PHP 8.0 - apply fix from https://github.com/phpvirtualbox/phpvirtualbox/pull/292/files

Вопросы? Предложения?

Powered by Elise