prettyprint

2022年7月19日 星期二

FreeBSD 13.1 as a host with VirtualBox 6.1.34 and phpVirtualBox 6.1 step by step installation

在FreeBSD 13.1上安裝VirtualBox 6.1.34當Host機用,並安裝phpvirtualbox web管理介面。在安裝過程中遇到一些問題,將一步一步安裝過程與遇到問題解決方法記錄下來。

✅完整安裝過程影片:

一、安裝VirtualBox 6.1.34
安裝方式可用FreeBSD 預先編譯好的packages最為方便

# pkg install virturalbox-ose

一行指令即可安裝好,亦會安裝相關的package,如下圖。

安裝virtualbox-ose-kmod後,在/boot/modules下有三個相關的vboxdrv。但是vboxdrv卻是FreeBSD 13.0的版本。因此無法載入使用。

解決方法,只好使用FreeBSD port安裝,若在安裝FreeBSD OS時未安裝port與src,就先需安裝

  1. 安裝port:
    # portsnap fetch
    # portsnap extract
  2. 安裝src
    先安裝 svn:
    # pkg install subversion
    再下載 /usr/src: 
    # svn checkout https://svn.FreeBSD.org/base/head /usr/src
  3. 安裝virtualbox-ose-kmod
    # cd /usr/ports/emulators/virtualbox-ose-kmod
    # make install
  4. 安裝virtualbox-ose
    # cd /usr/local/emulators/virtuslbox-ose
    #make install
這樣就能安裝完成,但是build過程會花很長的時間,需耐心等待。相關過程可參閱下列影片片段:https://www.youtube.com/watch?v=2bD2QvutYkQ&t=54s

其他相關設定:
  1. /boot/loader.conf: vboxdrv_load="YES"
  2. /etc/rc.conf: vboxnet_enable="YES"
  3. # pw groupmod vboxusers -m vbox
    新增vbox user可使用VirtualBox
  4. 更改/dev/vboxnetctl owner與permisssion
    # chown root:vboxusers /dev/vboxnetctl
    # chmod 0660 /dev/vboxnetctl
  5. /etc/devfs.conf:
    own vboxnetctl root:vboxusers
    perm vboxnetctl 0660

二、安裝phpvirtualbox網頁介面管理程式

若不需要在FreeBSD Server端執行VirtualBox,亦可只安裝virtualbox-ose-nox11,無論virtualbox-ose或virtualbox-ose-nox11均會安裝vboxwebsrv服務。
  1. 安裝web server程式:
    使用lighttpd或其他web server均可
    # pkg install lighttpd
  2. 安裝 phpvirtualbox
    # pkg install phpvirtualbox
設定相關configuration檔案
✅lighttpd相關檔案
  1. lighttpd.conf:
    document root位置: /usr/local/www/data



  2. modules.conf

  3. conf.d/fastcgi.conf
✅phpvirtualbox相關檔案
  1. 將phpvirtualbox目錄移到/usr/local/www/data下
  2. /etc/rc.conf
    vboxwebsrv_user需與phpvirtualbox/config.php中的user一致
  3. config.php
    location 須改為http://localhost:18083,因為18083只有在tcp6,因此指定ipv4的127.0.0.1會無法連線。


    vrdeaddress改成實際的ip

    consoleHost改成實際的ip

✅phpvirtualbox相關問題解決:
  1. 預設英文語言錯誤:
    預設語言'en',會造成錯誤,直接將languages/source目錄下的en.dat移除或更名即可,其他語言不會有問題。

  2. 無法瀏覽選取安裝的iso檔案
    修改/usr/local/www/phpvirtualbox/endpoints/jqueryFileTree.php
    參閱下列影片片段:https://www.youtube.com/watch?v=2bD2QvutYkQ&t=834s
    function getdir($dir, $dirsOnly=false, $recurse=array()) {
    
          global $allowed_exts; // 新加入
    
    .

    .

    .

    $ext = strtolower(preg_replace('/^.*\./', '', $path));
    if(is_array($allowed_exts) && count($allowed_exts) && !$allowed_exts['.'.$ext]) continue; //約在256行更改紅色部分
  3. VirtualBox extensions未支援FreeBSD
        

遠端桌面只好搭配VNC,可參閱下列影片片段:https://www.youtube.com/watch?v=2bD2QvutYkQ&t=1140s


沒有留言:

張貼留言