Monday, May 21, 2018

VirtualBox LAMP VM

介紹一個真LAMP的練習環境,就是利用VirtualBox在本機端建立一台VM,安裝Linux作業系統,然後再安裝apache、MariaDB和PHP,這樣就可以在一台電腦裡模擬Client-Server的主從架構,安裝AppServ或XAMPP之類的架站程式雖然方便,但是因為所有檔案都在本機端,隨時可以透過檔案總管存取,所以很難模擬真正線上作業的情況。
安裝VirtualBox就不多介紹了,直接上官網下載安裝檔,執行,下一步到完成就可以了,如果有疑問的話可以參考SQL老師發的那本工具書,裡面有教如何安裝。

第一次執行Virtualbox請先進檔案→喜好設定→網路→新增一個NetWork網路,確定。
接著到全域工具→主機網路管理員→新增,建立一個VirtualBox Host-Only Ethernet Adapter,並確認DHCP伺服器有打勾,這個是本機端和VM溝通用的,設定好記得套用。
虛擬機器視為一台獨立的主機,所以預設和本機端是無法溝通的,一定要加上這個,主機才能和VM溝通。
接下來請按藍色的圓形新增,新增虛擬機器,名稱的地方隨意輸入,類型請選Linux,版本請選Arch Linux (64-bit),然後下一步。
Arch Linux是一個蠻精簡的Linux發行版本,要用什麼功能,都需要自行手動安裝,所以不會有不明所以的套件,非常節省空間。
記憶體大小也是隨意設定,端看本機(Host)端有多少RAM,能提供多少做為VM使用,但是因為Arch Linux本身很精簡,消費不了多少RAM,所以512MB或1024MB都可以運行地很平順。下一步。
硬碟的部分請選到使用現有虛擬硬碟檔案,然後用檔案總管找到ArchLinux.vdi檔案的所在位置,然後按建立就完成了。
ArchLinux.vdi檔案放在共用區,歡迎自行取用。
\\172.19.107.6\share1\107.04.19-Android手機程式設計班\學員檔案存放區\施○政\ArchLinux.vdi
虛擬機器(VM)建立完成後請先不要急著執行,先按黃色的齒輪進入設定值→網路→介面卡1,把它改成僅限主機介面卡,這是VM用來和本機溝通的介面。
然後到介面卡2,勾選啟用網路卡,附加到NAT,這個是VM對外連線用的,如果只是在本機端模擬、練習,沒有要真的架站,就可以不需要啟用介面卡2,只用介面卡1做為VM和Host(本機)之間的溝通管道即可,但是相對的,VM就沒有連網路,如果需要更新、網路校時或安裝新的套件等需要用到對外網路的功能就會無法使用。
以上都設定完之後就可以按綠色的箭頭把VM開機了。
會先看到這個Arch Linux的開機選單,直接按Enter即可。
看到這個畫面就代表開機成功了。
直接用root登入,密碼為"4rfv",看到這個畫面就是登入成功,可以用root的身分在這台VM上進行操作了,
輸入ip addr可以查詢VM目前的IP,第二個enp0s3就是僅限主機介面卡,得到的192.168.*.* IP就是VM對本機端專用的IP,只有本機端和VM互連可用。
知道了VM的IP就可以用PieTTY或PuTTY或iTerm之類的來連線到VM了,在主機名稱或IP位址的地方輸入剛才查詢到的VM的IP,然後按連線。
如果是第一次連線,會有一個警告視窗,內容大意是講沒連線過,問你是否要繼續連線並儲存金鑰,請按YES,然後就會看到這個畫面,請用user這個使用者登入,密碼一樣是"4rfv",一般Linux管理上並不建議root使用ssh遠端連線,雖然有SSL Tunnel,但仍存在風險,所以請用user登入,登入之後可以su -或是利用sudo來進行需要root權限的操作。
利用FileZilla或習慣的FTP Client把上課的範例,first.php丟到VM的/srv/http目錄底下,然後打開瀏覽器,在網址的地方輸入VM的IP然後加上檔案名稱/first.php,可以看到這個畫面就是apache和PHP有在運作。
為了方便管理,phpMyAdmin也有安裝,只要在網址列輸入VM的IP加/phpmyadmin就可以打開這個網頁,MariaDB的帳號為root,密碼一樣是"4rfv",輸入後直接就可以登入操作MariaDB啦。
SQL課練習用的myDB也建好了,這樣就是一個完全可以自由使用、練習的LAMP環境了。
檔案放在共用區裡了,歡迎自行取用喔!(檔案大小2.2G)
最後是版本資訊︰
apache (httpd) 2.4.33
MariaDB (mysql) 15.1
PHP 7.2.5

有問題可以一起討論。
P.S. VM 要關機請輸入以下指令:
shutdown -h now
非root登入:sudo shutdown -h now

No comments:

Post a Comment