在Ubuntu 18.04 LTS無頭服務(wù)器上安裝Oracle VirtualBox
本教程將指導(dǎo)你在 Ubuntu 18.04 LTS 無頭服務(wù)器上,一步一步地安裝 Oracle VirtualBox。同時(shí),本教程也將介紹如何使用 phpVirtualBox 去管理安裝在無頭服務(wù)器上的 VirtualBox 實(shí)例。phpVirtualBox 是 VirtualBox 的一個(gè)基于 Web 的前端工具。這個(gè)教程也可以工作在 Debian 和其它 Ubuntu 衍生版本上,如 Linux Mint?,F(xiàn)在,我們開始。
前提條件
在安裝 Oracle VirtualBox 之前,我們的 Ubuntu 18.04 LTS 服務(wù)器上需要滿足如下的前提條件。
首先,逐個(gè)運(yùn)行如下的命令來更新 Ubuntu 服務(wù)器。
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
接下來,安裝如下的必需的包:
$ sudo apt install build-essential dkms unzip wget
安裝完成所有的更新和必需的包之后,重啟動(dòng) Ubuntu 服務(wù)器。
$ sudo reboot
在 Ubuntu 18.04 LTS 服務(wù)器上安裝 VirtualBox
添加 Oracle VirtualBox 官方倉庫。為此你需要去編輯 /etc/apt/sources.list
文件:
$ sudo nano /etc/apt/sources.list
添加下列的行。
在這里,我將使用 Ubuntu 18.04 LTS,因此我添加下列的倉庫。
deb http://download.virtualbox.org/virtualbox/debian bionic contrib
用你的 Ubuntu 發(fā)行版的代碼名字替換關(guān)鍵字 ‘bionic’,比如,‘xenial’、‘vivid’、‘utopic’、‘trusty’、‘raring’、‘quantal’、‘precise’、‘lucid’、‘jessie’、‘wheezy’、或 ‘squeeze‘。
然后,運(yùn)行下列的命令去添加 Oracle 公鑰:
$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
對(duì)于 VirtualBox 的老版本,添加如下的公鑰:
$ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
接下來,使用如下的命令去更新軟件源:
$ sudo apt update
最后,使用如下的命令去安裝最新版本的 Oracle VirtualBox:
$ sudo apt install virtualbox-5.2
添加用戶到 VirtualBox 組
我們需要去創(chuàng)建并添加我們的系統(tǒng)用戶到 vboxusers
組中。你也可以單獨(dú)創(chuàng)建用戶,然后將它分配到 vboxusers
組中,也可以使用已有的用戶。我不想去創(chuàng)建新用戶,因此,我添加已存在的用戶到這個(gè)組中。請(qǐng)注意,如果你為 virtualbox 使用一個(gè)單獨(dú)的用戶,那么你必須注銷當(dāng)前用戶,并使用那個(gè)特定的用戶去登入,來完成剩余的步驟。
我使用的是我的用戶名 sk
,因此,我運(yùn)行如下的命令將它添加到 vboxusers
組中。
$ sudo usermod -aG vboxusers sk
現(xiàn)在,運(yùn)行如下的命令去檢查 virtualbox 內(nèi)核模塊是否已加載。
$ sudo systemctl status vboxdrv
正如你在上面的截屏中所看到的,vboxdrv 模塊已加載,并且是已運(yùn)行的狀態(tài)!
對(duì)于老的 Ubuntu 版本,運(yùn)行:
$ sudo /etc/init.d/vboxdrv status
如果 virtualbox 模塊沒有啟動(dòng),運(yùn)行如下的命令去啟動(dòng)它。
$ sudo /etc/init.d/vboxdrv setup
很好!我們已經(jīng)成功安裝了 VirtualBox 并啟動(dòng)了 virtualbox 模塊?,F(xiàn)在,我們繼續(xù)來安裝 Oracle VirtualBox 的擴(kuò)展包。
安裝 VirtualBox 擴(kuò)展包
VirtualBox 擴(kuò)展包為 VirtualBox 訪客系統(tǒng)提供了如下的功能。
- 虛擬的 USB 2.0 (EHCI) 驅(qū)動(dòng)
- VirtualBox 遠(yuǎn)程桌面協(xié)議(VRDP)支持
- 宿主機(jī)網(wǎng)絡(luò)攝像頭直通
- Intel PXE 引導(dǎo) ROM
- 對(duì) Linux 宿主機(jī)上的 PCI 直通提供支持
從這里為 VirtualBox 5.2.x 下載最新版的擴(kuò)展包。
$ wget https://download.virtualbox.org/virtualbox/5.2.14/Oracle_VM_VirtualBox_Extension_Pack-5.2.14.vbox-extpack
使用如下的命令去安裝擴(kuò)展包:
$ sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.14.vbox-extpack
恭喜!我們已經(jīng)成功地在 Ubuntu 18.04 LTS 服務(wù)器上安裝了 Oracle VirtualBox 的擴(kuò)展包?,F(xiàn)在已經(jīng)可以去部署虛擬機(jī)了。參考 virtualbox 官方指南,在命令行中開始創(chuàng)建和管理虛擬機(jī)。
然而,并不是每個(gè)人都擅長(zhǎng)使用命令行。有些人可能希望在圖形界面中去創(chuàng)建和使用虛擬機(jī)。不用擔(dān)心!下面我們?yōu)槟銕矸浅:糜玫?phpVirtualBox 工具!
關(guān)于 phpVirtualBox
phpVirtualBox 是一個(gè)免費(fèi)的、基于 web 的 Oracle VirtualBox 后端。它是使用 PHP 開發(fā)的。用 phpVirtualBox 我們可以通過 web 瀏覽器從網(wǎng)絡(luò)上的任意一個(gè)系統(tǒng)上,很輕松地創(chuàng)建、刪除、管理、和執(zhí)行虛擬機(jī)。
在 Ubuntu 18.04 LTS 上安裝 phpVirtualBox
由于它是基于 web 的工具,我們需要安裝 Apache web 服務(wù)器、PHP 和一些 php 模塊。
為此,運(yùn)行如下命令:
$ sudo apt install apache2 php php-mysql libapache2-mod-php php-soap php-xml
然后,從 下載頁面 上下載 phpVirtualBox 5.2.x 版。請(qǐng)注意,由于我們已經(jīng)安裝了 VirtualBox 5.2 版,因此,同樣的我們必須去安裝 phpVirtualBox 的 5.2 版本。
運(yùn)行如下的命令去下載它:
$ wget https://github.com/phpvirtualbox/phpvirtualbox/archive/5.2-0.zip
使用如下命令解壓下載的安裝包:
$ unzip 5.2-0.zip
這個(gè)命令將解壓 5.2.0.zip 文件的內(nèi)容到一個(gè)名為 phpvirtualbox-5.2-0
的文件夾中?,F(xiàn)在,復(fù)制或移動(dòng)這個(gè)文件夾的內(nèi)容到你的 apache web 服務(wù)器的根文件夾中。
$ sudo mv phpvirtualbox-5.2-0/ /var/www/html/phpvirtualbox
給 phpvirtualbox 文件夾分配適當(dāng)?shù)臋?quán)限。
$ sudo chmod 777 /var/www/html/phpvirtualbox/
接下來,我們開始配置 phpVirtualBox。
像下面這樣復(fù)制示例配置文件。
$ sudo cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php
編輯 phpVirtualBox 的 config.php
文件:
$ sudo nano /var/www/html/phpvirtualbox/config.php
找到下列行,并且用你的系統(tǒng)用戶名和密碼去替換它(就是前面的“添加用戶到 VirtualBox 組中”節(jié)中使用的用戶名)。
在我的案例中,我的 Ubuntu 系統(tǒng)用戶名是 sk
,它的密碼是 ubuntu
。
var $username = 'sk';
var $password = 'ubuntu';
保存并關(guān)閉這個(gè)文件。
接下來,創(chuàng)建一個(gè)名為 /etc/default/virtualbox
的新文件:
$ sudo nano /etc/default/virtualbox
添加下列行。用你自己的系統(tǒng)用戶替換 sk
。
VBOXWEB_USER=sk
最后,重引導(dǎo)你的系統(tǒng)或重啟下列服務(wù)去完成整個(gè)配置工作。
$ sudo systemctl restart vboxweb-service
$ sudo systemctl restart vboxdrv
$ sudo systemctl restart apache2
調(diào)整防火墻允許連接 Apache web 服務(wù)器
如果你在 Ubuntu 18.04 LTS 上啟用了 UFW,那么在默認(rèn)情況下,apache web 服務(wù)器是不能被任何遠(yuǎn)程系統(tǒng)訪問的。你必須通過下列的步驟讓 http 和 https 流量允許通過 UFW。
首先,我們使用如下的命令來查看在策略中已經(jīng)安裝了哪些應(yīng)用:
$ sudo ufw app list
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
正如你所見,Apache 和 OpenSSH 應(yīng)該已經(jīng)在 UFW 的策略文件中安裝了。
如果你在策略中看到的是 Apache Full
,說明它允許流量到達(dá) 80 和 443 端口:
$ sudo ufw app info "Apache Full"
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.
Ports:
80,443/tcp
現(xiàn)在,運(yùn)行如下的命令去啟用這個(gè)策略中的 HTTP 和 HTTPS 的入站流量:
$ sudo ufw allow in "Apache Full"
Rules updated
Rules updated (v6)
如果你希望允許 https 流量,但是僅是 http (80) 的流量,運(yùn)行如下的命令:
$ sudo ufw app info "Apache"
訪問 phpVirtualBox 的 Web 控制臺(tái)
現(xiàn)在,用任意一臺(tái)遠(yuǎn)程系統(tǒng)的 web 瀏覽器來訪問。
在地址欄中,輸入:http://IP-address-of-virtualbox-headless-server/phpvirtualbox
。
在我的案例中,我導(dǎo)航到這個(gè)鏈接 – http://192.168.225.22/phpvirtualbox
。
你將看到如下的屏幕輸出。輸入 phpVirtualBox 管理員用戶憑據(jù)。
phpVirtualBox 的默認(rèn)管理員用戶名和密碼是 admin
/ admin
。
恭喜!你現(xiàn)在已經(jīng)進(jìn)入了 phpVirtualBox 管理面板了。
現(xiàn)在,你可以從 phpvirtualbox 的管理面板上,開始去創(chuàng)建你的 VM 了。正如我在前面提到的,你可以從同一網(wǎng)絡(luò)上的任意一臺(tái)系統(tǒng)上訪問 phpVirtualBox 了,而所需要的僅僅是一個(gè) web 瀏覽器和 phpVirtualBox 的用戶名和密碼。
如果在你的宿主機(jī)系統(tǒng)(不是訪客機(jī))的 BIOS 中沒有啟用虛擬化支持,phpVirtualBox 將只允許你去創(chuàng)建 32 位的訪客系統(tǒng)。要安裝 64 位的訪客系統(tǒng),你必須在你的宿主機(jī)的 BIOS 中啟用虛擬化支持。在你的宿主機(jī)的 BIOS 中你可以找到一些類似于 “virtualization” 或 “hypervisor” 字眼的選項(xiàng),然后確保它是啟用的。
本文到此結(jié)束了,希望能幫到你。如果你找到了更有用的指南,共享出來吧。
還有一大波更好玩的東西即將到來,請(qǐng)繼續(xù)關(guān)注!