奇蹟手工坊台灣官網 http://www.7g-sogo.com
為防範廣告信, 帳號採手動申請, 欲申請本站會員帳號, 請於申請後, 另發一封電子郵件到 lincylin@gmail.com, 說明申請帳號及申請原因, 若審核通過會回信通知
In order to prevent the advertising/spams, account application manually, to apply for membership of the site, please send for an additional e-mail to lincylin@gmail.com, explain the application for account number and application reasons, if the approved will reply by notice.
We have Google Analytics Enabled.

在 Ubuntu Linux Server 上面安裝無桌面版的 VirtualBox

站長的專長就是 IT ,也就是俗稱的 3C 或是 4C,那就提供一個園地讓大家可以交流吧.... 有相關的問題可以在這邊發問跟討論....

版主: 平凡的奇蹟

回覆文章
平凡的奇蹟
文章: 248
註冊時間: 2015年 5月 14日, 15:31

在 Ubuntu Linux Server 上面安裝無桌面版的 VirtualBox

文章 平凡的奇蹟 » 2017年 4月 11日, 16:20

因為工作上的需要, 十幾年前就開始接觸虛擬機器, 從一開始的 VMware (好吧, 老實說, 當初用 VMware 不是為了工作用, 而是遊戲用, 為免被知情的朋友吐槽, 所以我自己先招了, 當時測試了幾個虛擬機器, 發現當時只有 VMware 下面的虛擬機器可以讓我執行某套特別的線上遊戲, 以達到一台機器多開遊戲的需求, 那套線上遊戲有鎖定作業系統之下只能有一個執行副本) 開始用起, 當時的我還在 CA-Taiwan 工作, 而那時的 VMware 才剛出現沒多久, 還不那麼有名, 當時小弟還寫信給 VMware 原廠取得了經銷 (Resaller) 的授權, 別想得太複雜, 就是能幫忙銷售的權力而已, 不是所謂的代理商, 呵呵..... 總之, 從當時就開始使用了虛擬機器.... 然後, 過了 N 年之後, 接觸到 VirtualBox 這套社群軟體, 就此琵琶別抱.... 呃, 不是, 就此..... 喜歡上這套軟體, 然後就開始一直使用至今..... 算一算, 七八年以上, 估計也快十年了吧?

以前使用虛擬機器是為了開發程式及測試程式所需, 所以基本上都是安裝在工作站上, 不管是 Windows 系統還是 Linux 桌面系統, 不過最近幾年來, 除了開發程式測試程式所需之外, 也需要在伺服器端建立起虛擬機器的環境, 伺服器上要架設 VirtualBox 最大的困難就是沒有桌面系統 (呃, 別跟我嗆 Server 也是能裝桌面的, 是沒錯.... 但.... 為了裝某些東西然後在伺服器上安裝及使用桌面系統, 是不是太那個了? 至於那個啥是甚麼.... 朋友可以自由填空... 哈哈)...

好啦, 言歸正傳.... 伺服器環境下一般來說, 大多是沒有螢幕的環境....所以在啟動、關閉或是維護虛擬機器的時候, 都是透過終端機 (console) 來進行的, 所以這樣的環境, 一般叫做 Headless Mode .... 這該怎麼翻譯, 無頭模式嗎? 哈哈.... 所以我自己叫做無桌面環境吧... 感覺比較好聽點.... 大家要理解成無頭模式亦無不可.... 反正我這邊說的無桌面環境就是無頭模式一樣的意思......

經常有朋友問無桌面環境的 VirtualBox 要怎麼安裝, 通常我都會很懶得直接叫朋友去線上搜尋 VirtualBox Headless Install 就能找到資料, 但被問多了, 想想還是自己寫一篇吧.... 趁著最近又要幫客戶安裝一套, 就順便截圖下來作為範例吧...... 以後叫朋友直接看我的這邊介紹就行了...... 也省得看英文網頁還需要動用谷歌翻譯大神不是嗎? 呵呵 .....

因為我自己使用的是 Ubuntu , 所以還是用 Ubuntu 的例子吧, 其他 Linux 套件的朋友就自行做些轉換吧......

先大致說明一下在 Ubuntu Server 下安裝無桌面版本的 VirtualBox 的概略步驟吧....

1. 先將 Ubuntu Server 更新至最新狀態, 添加必須的套件 (避免可能發生的問題)

2. 將 VirutalBox 的散佈套件加入 Ubuntu Server 的套件清單中 (確定自己所要的正確 VirtualBox 版本會被安裝)

3. 安裝 VirtualBox 及擴充套件 Extension Pack

安裝到這個步驟, VirtualBox 其實已經安裝完成, 也可以使用, 但都必須使用命令列來啟動、停止、維護虛擬機器, 為了使用及維護方便, 我會再安裝網頁管理工具 phpVirtualBox , 這是一個網頁版的管理工具

4. 安裝執行 phpVirtualBox 所需的環境, 例如網頁伺服器... 等等

5. 安裝 phpVirtualBox 網頁程式

完成上述步驟之後, 我們就可以很方便的開始使用及管理無桌面版的 VirtualBox 系統了.... 後面再來介紹安裝的實際步驟吧.....
我每次安裝的系統, 都是選擇最新的版本, 所以會跟你能從網上找到的介紹文章會有些許不同.... 要跟我一樣安裝最新的版本, 還是所謂的穩定版本, 大家自己是實際上的需求看著辦吧....

平凡的奇蹟
文章: 248
註冊時間: 2015年 5月 14日, 15:31

Re: 在 Ubuntu Linux Server 上面安裝無桌面版的 VirtualBox

文章 平凡的奇蹟 » 2017年 4月 14日, 14:51

接下來繼續介紹安裝步驟.......

先用以下指令將系統更新到最新吧.....

代碼: 選擇全部

apt-get update
apt-get upgrade
apt-get dist-upgrade
更新過程的畫面我就不貼出來了, 接著再用以下指令把必須要用到的套件先安裝好

代碼: 選擇全部

apt-get install build-essential dkms unzip wget
準備好之後, 建議重新開機

接著, 用你習慣的文字編輯工具編輯 /etc/apt/sources.list 檔案, 添加 VirtualBox 正確的套件來源, 因為我目前寫這篇的時候安裝的是 Ubuntu Server 16.04.02, 所以版本是 xenial, 如果不能確定你現在是在哪個 Ubuntu Server 版本下安裝, 可以用以下指令來查詢

代碼: 選擇全部

lsb_release -a
我查詢的輸出結果如下
root@virtualhost-a01:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
最下方的 xenial 就是版本名稱, 所以把下面這行添加到 /etc/apt/sources.list 裡面

代碼: 選擇全部

deb http://download.virtualbox.org/virtualbox/debian xenial contrib
像這樣
virtualbox-a01.JPG
virtualbox-a01.JPG (71.83 KiB) 已瀏覽 54441 次

最下面這行就是新添加的, 儲存之後, 使用以下指令加入 Oracle 的公鑰

代碼: 選擇全部

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
添加完之後, 再做一次套件資料庫的更新

代碼: 選擇全部

apt-get update
之後我們就可以開始進行 VirtualBox 的安裝了, 不過安裝之前, 我要再花點時間稍微說明一下. 雖然我們可以安裝之後直接使用文字命令列 (Console Mode) 來管理及維護 VirtualBox, 但這樣卻很不方便, 現在有一套專門為了維護管理 VirtualBox 所開發出來的網頁管理程式 phpVirtualBox, 使用這套工具, 我們可以很方便地透過網頁的方式來進行管理。

不過因為 phpVirtualBox 是屬於社群軟體, 是由幾位工程師貢獻自己的時間跟精力製作出來的系統, 並不是商業化的軟體, 所以在實務上, 這套系統並不會緊跟著 VirtualBox 的腳步來發展, 以當下來說, 現在 VirtualBox 的最新版本是 5.1.18 (寫這篇文章的時候), 但 phpVirtualBox 這套程式, 目前最新的版本是 5.0.5, 理論上支援的是 VirtualBox 5.0.x 而 5.1.x 基本上是不支援的, 不過開發團隊仍在持續開發中, 所以未正式發布的開發版本中, 其實已經做了部分修正, 可以支援 VirtualBox 5.1.x 版本運作, 但還是會有一些小問題, 所以如果要用在關鍵性任務上, 會建議安裝 VirtualBox 5.0.x 版本搭配正式公佈的 phpVirtualBox 5.0.x 版本。

但是話說回來, 如果你想使用最新的技術, 還是能夠安裝 VirtualBox 5.1.x 版本並搭配 phpVirtualBox 的開發版本, 只要你願意忍受偶而跳出來的警告訊息, 以下畫面就是我之前在自己家中伺服器所安裝的環境所截圖下來的
virtualbox-a02.JPG
virtualbox-a02.JPG (49.88 KiB) 已瀏覽 54441 次

這台機器上安裝的是 VirtualBox 5.1.14 及 phpVirtualBox 5.0-6 開發版, 不過有趣的是, 仍在開發中的 phpVirtualBox 並沒有 5.1.x 版本, 但是訊息卻提示你要下載 5.1.x 版本, 這點是比較有趣的地方。

好了, 這篇就暫時先說到這, 接下來將進行實際的安裝, 當然, 安裝的是最新的 VirtualBox 5.1.x 版本。

平凡的奇蹟
文章: 248
註冊時間: 2015年 5月 14日, 15:31

Re: 在 Ubuntu Linux Server 上面安裝無桌面版的 VirtualBox

文章 平凡的奇蹟 » 2017年 4月 14日, 21:11

接下來, 使用以下指令來安裝 VirtualBox 5.1.x

代碼: 選擇全部

apt-get install virtualbox-5.1
在按下 Y 表示確定要進行安裝之後, 很快就能完成安裝程序, 安裝程序完成之後, VirtualBox 就已經可以使用了, 不過我們還是要先確定一下, 可以使用以下指令

代碼: 選擇全部

systemctl status vboxdrv
會看到如下畫面
virtualbox-a03.JPG
virtualbox-a03.JPG (103.72 KiB) 已瀏覽 54431 次

注意到畫面中綠色部分的 Active 字樣, 是已經啟用的狀態, 表示我們安裝 VirtualBox 已經成功。不過話說回來, 安裝過程中, 系統訊息捲動的非常快, 所以沒注意到被安裝的 VirtualBox 是哪個版本, 有個很簡單的方式查詢, 就是利用 dpkg 指令查詢已經安裝的套件, 使用以下指令來查詢

代碼: 選擇全部

dpkg -l | grep virtualbox
我查詢的結果輸出如下
ii virtualbox-5.1 5.1.18-114002~Ubuntu~xenial amd64 Oracle VM VirtualBox
可以看到列出了 5.1.18 這個版本編號, 所以現在我們知道是哪個版本了, 接下來我們要替所安裝的 VirtualBox 安裝擴充包, 不過這個動作會麻煩點, 首先我們要到 download.virtualbox.org/virtualbox 網頁找最新版本的擴充包網址, 理論上, 實際的網址通常是加上版本號, 換句話說, 以這次的例子所安裝的 5.1.18 版本, 擴充包的位址就會在 download.virtualbox.org/virtualbox/5.1.18/ 路徑裡面, 不過這裡面存放的是所有的檔案, 我們還要指定下載哪個檔案才行, 同樣的, 依照慣例, 擴充包會以同樣的格式規律來命名, 擴充包的名稱通常為
Oracle_VM_VirtualBox_Extension_Pack-版本編號.vbox-extpack
註:通常會有兩個檔案, 其中一個檔案還會標上更細一層的建檔版本編號, 也就是
Oracle_VM_VirtualBox_Extension_Pack-版本編號-建檔版本編號.vbox-extpack
不過兩個檔案其實相同, 要省事一點的話, 也可以從 https://www.virtualbox.org/wiki/Downloads 網頁上找到實際的下載檔案網址, 只要你覺得方便就行了, 用以下命令來下載擴充包吧

代碼: 選擇全部

wget http://download.virtualbox.org/virtualbox/5.1.18/Oracle_VM_VirtualBox_Extension_Pack-5.1.18.vbox-extpack
下載完畢之後, 用以下命令來安裝擴充包吧

代碼: 選擇全部

vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.18.vbox-extpack
記得下載跟安裝要改成你真正安裝的 VirtualBox 相對應的版本號喔。看到以下輸出就表示安裝完成
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".
接下來, 我們要安裝及設定 phpVirtualBox。

平凡的奇蹟
文章: 248
註冊時間: 2015年 5月 14日, 15:31

Re: 在 Ubuntu Linux Server 上面安裝無桌面版的 VirtualBox

文章 平凡的奇蹟 » 2017年 4月 15日, 01:24

先把執行 phpVirtualBox 所需要的環境安裝起來吧, 使用以下命令

代碼: 選擇全部

apt-get install apache2 php php-mysql libapache2-mod-php php-soap php-xml
以上命令會把所需要的網頁伺服器以及支援的程式庫安裝起來, 接著下載 phpVirtualBox 的套件吧, 之前說過, 我們會安裝開發版的 phpVirtualBox, 所以必須下載最新的開發版原始碼分支, 這個分支的網頁在 https://github.com/imoore76/phpvirtualbox , 我們可以用先前已經安裝的 git 工具來複製。另外, 我打算把 phpVirtualBox 放在 /var/www 下面的目錄, 所以直接把程式碼複製到該目錄下即可, 使用以下指令

代碼: 選擇全部

git clone https://github.com/imoore76/phpvirtualbox.git
輸出結果如下
Cloning into 'phpvirtualbox'...
remote: Counting objects: 905, done.
remote: Total 905 (delta 0), reused 0 (delta 0), pack-reused 905
Receiving objects: 100% (905/905), 4.97 MiB | 12.00 KiB/s, done.
Resolving deltas: 100% (309/309), done.
Checking connectivity... done.
查詢一下目錄看看是否已經複製成功, 使用以下命令

代碼: 選擇全部

ls -l
我這邊看到的結果是這樣
total 8
drwxr-xr-x 2 root root 4096 Apr 14 23:03 html
drwxr-xr-x 11 root root 4096 Apr 14 23:25 phpvirtualbox
接下來還要一個準備動作, phpVirtualBox 執行時需要一個使用者帳號, 這個帳號必須在 vboxusers 群組裡, 至於這個帳號使用原有的帳號或是新建帳號都可以, 這裡就建立一個新的使用者吧, 利用以下命令

代碼: 選擇全部

useradd -m vbox -G vboxusers
然後用以下命令設定這個使用者的密碼, 請記得這個密碼, 因為待會修改設定檔的時候會用到

代碼: 選擇全部

passwd vbox
接著我們要對 phpVirtualBox 進行設定, 設定很簡單, 直接拿設定檔的範例來修改就行了, 首先複製範例檔

代碼: 選擇全部

cp /var/www/phpvirtualbox/config.php-example /var/www/phpvirtualbox/config.php
之後用你習慣的編輯程式修改 config.php 檔, 如下
virtualbox-a04.JPG
virtualbox-a04.JPG (105.68 KiB) 已瀏覽 54431 次

記得修改 var $password = 'pass' ; 裡面的內容, 將 pass 改換成你剛剛設定的使用者名稱, 接著還要進行設定, 告訴 VirtualBox 的網頁服務器, 我們要使用的使用者名稱, 一樣用你習慣的編輯器吧, 我用的是以下命令

代碼: 選擇全部

vim /etc/default/virtualbox
目前這個檔案是空的, 所以直接加上一行即可, 如下

代碼: 選擇全部

VBOXWEB_USER=vbox
接下來可以重新開機, 如果因為伺服器還在跑關鍵性應用而不想重新開機, 那就重新開啟相關的服務吧, 分別利用以下指令

代碼: 選擇全部

systemctl restart vboxweb-service
systemctl restart vboxdrv
systemctl restart apache2
現在, 就打開瀏覽器指向伺服器, 看看能不能使用了, 如果看到登入畫面的話, 大致就算成功了
virtualbox-a05.JPG
virtualbox-a05.JPG (22.65 KiB) 已瀏覽 54431 次

系統內定的管理帳號跟密碼都是 admin , 進去後可以看到如下畫面
virtualbox-a06.JPG
virtualbox-a06.JPG (101.78 KiB) 已瀏覽 54431 次
如同我之前說的, 系統會出現一個警告訊息, 說 phpVirtualBox 5.0.x 版本不支援 VirtualBox 5.1.x , 按下 ok 按鈕之後就可進入, 記得進去修改系統管理員的密碼喔。

最後再補一張完成的畫面截圖吧。
virtualbox-a07.JPG
virtualbox-a07.JPG (155.74 KiB) 已瀏覽 54431 次
安裝的部分介紹到這邊就算完成囉, 以後有機會再補充一些設定上的訊息吧

回覆文章