無意在 /etc/init.d 下看到 vboxweb-service 這個服務,好奇的把名字丟到 google 去找,才知道是 virtualbox 要提供給 phpvirtualbox 使用的服務。
安裝方法不難,不過我還是搞了好一陣子 (大約4個小時吧),以下是我所參考的文件。
- How To Install VirtualBox On A Headless Ubuntu 14.04 Server And Manage It With phpVirtualBox
- Windows 安裝 phpVirtualBox
- VirtualBox 啟用遠端桌面 VRDP (VirtualBox Remote Desktop Protocol)
- Managing A Headless VirtualBox Installation With phpvirtualbox On nginx (Ubuntu 12.04)
我遇到的問題:
- nginx + php5-fpm 只為特定 location 啟用 PHP :這部份卡了我好一陣子,後來是找到這篇:php – nginx projects in subfolders,參考裏面的作法去設定。大致是這樣:
location /wiki { root /var/www/wiki/public; } location ~ /wiki/.+\.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /var/www/wiki/public$fastcgi_script_name; }
- 無法啟動 vboxweb-service,出現 “vboxwebsrv: error: failed to initialize COM”:原本以為是沒加 dialout 群組的關係,後來根據某篇討論(網址不小心被我丟了)仔細推敲以後,發現是因為 VBOXWEB_USER 所指定的使用者沒有 HOME 資料夾,幫這個使用者建立 HOME 以後,就可以順利啟動 vboxweb-service 了。
- 無法登入 phpvirtualbox:這是我自己搞錯了,原本以為 config.php 裡指定的 username 跟 password 就是用來登入 phpvirtualbox 的帳號跟密碼,但後來才知道這組帳密是讓 phpvirtualbox 與 vboxweb-service 溝通用的,預設的 phpvirtualbox 帳密是 admin/admin。要修改的話,登入以後再變更就可以。
- RDP(Remote display) 不能用:這要先查到 virtualbox 的版本號碼,然後到Virtualbox download site下載對應的 .vbox-extpack 檔案,再用 vboxmanage extpack install 安裝。安裝完成以後,要重新啟動 vboxweb-service 與 vboxdrv 這兩個服務。最後用瀏覽器開啟 phpvirtualbox 頁面,去設定指定的 VM,就可以看到 Remote display 可以設定了。啟動 VM 以後,就可以用遠端桌面連線連上並看到這台 VM。連線所指定的 IP 是 host phpvirtualbox 這台機器的 IP,port 則是 3389。
另外,啟動所需要的光碟 ISO 檔案或是已經有打包好的 disk image 無法透過 phpvirtualbox 上傳,必須要事先透過 SSH、FTP 等傳輸協定放到 host 上。
其他參考資料 (與 nginx/php5-fpm 相關的):
- nginx目录设置 alias 和 root | Snow Blog:主要解釋 alias 與 root 的不同
- Nginx – Enable PHP-FPM Status Page:可以利用這個判斷 php5-fpm 到底有沒有在運作。
- 關於 location