Building the MoodleBox
MoodleBox一開始就是設定在Raspberry Pi 3上執行運作,讓使用者可以隨身帶著一個Raspberry Pi 3及行動電源就可以使用Moodle教學平台,MoodleBox官網有做動的img檔可供使用者下載,然後燒錄到Raspberry Pi 3,或者可以透過手動建置的方式,在剛開始官方所提供的是一步一步的指令去修改設定,接著又轉換成使用script自動安裝(github中切換到Branch:https),現在則改用Ansbile自動化組態管理把Moodle安裝到Raspberry Pi 3中。
在官方的Github中有以下10點的安裝步驟
To build a MoodleBox from scratch with this script, you need a Raspberri Pi 3 (Wi-Fi!) and follow these instructions.
Clone Rasbpian Stretch Lite on your microSD card.
Create a
ssh
file on theboot
partition, e.g. usingtouch ssh
Insert the microSD card into your Raspberry
Connect your Raspberry to your Ethernet network and boot it.
Install Ansible on your computer.
Clone this repository to your local drive.
Create a
keys
directory in the repository folder and copy your public key into it, under the nameid_rsa.pub
.Get the IP address of your RaspberryPi and change it in the
hosts.yml
file. Do not change anything else, unless you know what you're doing. You're on your own.Run
ansible-playbook moodlebox.yml
from the repository folder.Wait 30–50 minutes, depending on your SD card and Internet bandwidth. You're done.
因為目前是要使用MoodleBox安裝在BananaPi M64上,而官方是預設安裝於Raspberry Pi 3上所部分安裝內容會不同,以下我們依順說明
1. Clone Rasbpian Stretch Lite on your microSD card.
在Raspberry Pi 3的話就是直接到官方網站下載Raspian Stretch Lite(https://www.raspberrypi.org/downloads/raspbian/),這邊要改用Banana Pi M64所以要到BananaPi官方網站下載BPI-M64(http://forum.banana-pi.org/c/BPI-M64/M63image),目前測試使用ubuntu作業系統,如下圖官網上列出最新的為「BPI-M64 new image:2017-08-14-ubuntu-16.04-mate-......」開頭的檔案,但使用後會有些問題,最後在Gitbook中找到https://bananapi.gitbooks.io/bpi-m64/content/en/linuximageforbpi-m64.html,有新的版本「2018-01-05-ubuntu-16.04-mate-desktop-v1.0-bpi-m64-sd-emmc.img.zip」,2018-01-05這個版本在燒錄好開機後就有ssh可以連線,下載完後Mac作業系統可以使用Etcher軟體燒錄到sd卡中,Windows作業系統可以使用Win32DiskImager燒錄。
2. Create a ssh file on thebootpartition, e.g. using touch ssh
此動作在Raspberry Pi 3,燒到sd卡後,要先執行指令「touch ssh」產生ssh檔案開機後會啟動ssh服務,而在BananaPi M64燒錄「2018-01-05-ubuntu-16.04-mate-desktop-v1.0-bpi-m64-sd-emmc.img.zip」此版本,開機就有啟動ssh服務,所以可以跳過此步驟。
3. Insert the microSD card into your Raspberry
IMG檔燒錄完成後,接著就是把microSD卡插入設備的microSD插槽,Raspberry Pi 3和Banana Pi M64這兩台設備的使用方式有點不用,Raspberry Pi 3直接把microSD卡推到最底就可以,取出的方式是直接拔出microSD,而Banana Pi M64的插槽有自動彈回的功能,所以在microSD卡推到最底時,還要再用力按壓一下,會自動卡住,而取出的時後,也是要再按壓一下後會自動彈回,再拔出microSD卡即可。
4. Connect your Raspberry to your Ethernet network and boot it
Raspberry Pi 3及Banana Pi M64都內建RJ-45網路介面,這個步驟只要把網路線線上,及插上電源,會自動開機。
5. Install Ansible on your computer.
目前Ansible測試於Mac系統,請參考Mac 安裝 Ansible 的安裝步驟
6. Clone this repository to your local drive.
在本機電腦中安裝好Ansible後,接著就是從GitHub上Clone Repository(復製儲存庫),moodlebox官方的github網址「https://github.com/martignoni/moodlebox」,git的網址「https://github.com/martignoni/moodlebox.git」,如果安裝於Raspberry Pi 3請直接clone官方的設定檔即可,要注意的就是記得使用RASPBIAN STRETCH LITE,因為Ansible自動化配置文件是依raspbian作業系統所撰寫的,要直接安裝於Banana Pi M64是不能使用的,所以這邊有另外依Banana Pi M64上的「2018-01-05-ubuntu-16.04-mate-desktop-v1.0-bpi-m64-sd-emmc.img」作業系統客製一個版本,目前也是放在github上,所以執行的方式是相同的,只是git網址要修改成「https://github.com/GXiangCo/moodlebox-bpi.git」
打開終端機,然後切換到要存放的路徑,輸入指令「git clone https://github.com/GXiangCo/moodlebox-bpi.git」
切換路徑到moodlebox-bpi,檢查是否有檔案
7. Create akeys
directory in the repository folder and copy your public key into it, under the nameid_rsa.pub
keys
directory in the repository folder and copy your public key into it, under the nameid_rsa.pub
這個步驟主要讓Raspberry Pi 3或Banana Pi M64可以免輸入密碼登入,讓Ansible執行安裝過程中不用再輸入密碼,首先在moodlebox-bpi目錄中建立一個名稱為keys的資料夾
使用ssh-keygen指令產生公開金鑰,產生過程會問要儲存的路徑及密碼,都不設定,用預設值即可,注意一下預設存放的路徑,一般都是在使用者帳號下的「.ssh」資料夾中,ssh-keygen產生過程如下:
執行完ssh-keygen後,預設檔名為id_rsa,會產生兩個檔案id_rsa及id_rsa.pub於「使用者目錄/.ssh」中,確認一下是否有產生所要的檔案,如下:
idrsa為私鑰,這就如登入的密碼,此檔案是放在本機電腦中,而id_rsa.pub為公鑰,此檔案要放在遠端的電腦中認證用,所以要把id_rsa.pub檔案複製到所建立的「keys」資料夾中,在執行Ansible時,會把此檔案放到遠端的設備中,最後檢查keys資料夾中是否有id_rsa.pub檔
8. Get the IP address of your RaspberryPi and change it in thehosts.yml
file. Do not change anything else, unless you know what you're doing. You're on your own.
hosts.yml
file. Do not change anything else, unless you know what you're doing. You're on your own.接著要設定moodlebox專案中的「hosts.yml」檔,此檔案主要是設定要連線的設備ip及登入的帳號及密碼,原始內容如下:
目前moodlebox-bpi專案中的檔案內容如下,因為Banana Pi系統的預設密碼為「bananapi」,如同官方文件的說明,只要修改設備的ip,就是hosts.yml中的ansible_host參數,其他如果不知道或沒必要請不要修改
如果Raspberry Pi 3及Banana Pi M64在沒有外接螢幕的狀況下要如何連線並且取得設備的ip呢?接下來就試範當設備燒錄好後,接上網路線並且開機後要如何連線取得設備ip,注意本機電腦和遠端的設備需要在同一個網段下。
Raspberry Pi 3
在終端機中執行指令「ssh pi@raspberrypi.local」,預設密碼為「raspberry」
使用「ifconfig」指令查詢
使用「ip addr」指令查詢
Banana Pi M64
在終端機中執行指令「ssh pi@bpi-iot-ros-ai.local」,預設密碼為「bananapi」
使用「ifconfig」指令查詢
使用「ip addr」指令查詢
9. Runansible-playbook moodlebox.yml
from the repository folder.
ansible-playbook moodlebox.yml
from the repository folder.將目錄切換到moodlebox專案目錄,然後執行以下的指令開始執行安裝作業,注意,Banana Pi M64需要在最後面加入「--ask-sudo-pass」
Raspberry Pi 3
Banana Pi M64
10. Wait 30–50 minutes, depending on your SD card and Internet bandwidth. You're done.
整個安裝過程大約30~50分鐘,這個時間會因為使用的microSD卡讀寫的速度與網路頻寬的速度而有所不同。
進入Moodle平台
以上十個步驟完成後,會自動重開機,此時就可以拿出行動裝置或有無線網卡的電腦進行連線,打開無線網路設定會看到一個SSID為「MoodleBox」的連接點,點選後預設密碼為「moodlebox」,連線完後打開瀏覽器,輸入以下的網址就可以進入moodle平台 ,預預管理者帳號:「admin」,密碼:「Moodlebox4$」
Raspberry Pi 3預設網址: http://moodlebox.home
Banana Pi M64網址:http://moodlebox.bpi
SSH進入Moodlebox
如果要ssh到安裝好的MoodleBox時,連線的網址會不同,被修改成moodlebox開頭,另外在未連MoodleBox的wifi時,都要用[「moodlebox.local」,連wifi後的網址後面原本在Raspberry Pi 3原本是用「.home」而Banana PI M64修改成「.bpi」,連線網址及帳號密碼,請參照下方的對照表
連線網址對照表
設備連線網址
官方預設值
安裝MoodleBox
連moodlebox wifi後
Raspberry Pi 3
raspberrypi.local
moodlebox.local
moodlebox.home
Banana Pi M64
bpi-iot-ros-ai.local
moodlebox.local
moodlebox.bpi
連線的帳號密碼對照表
設備連線帳號 / 密碼
官方預設值
安裝MoodleBox
Raspberry Pi 3
pi / raspberry
moodlebox / Moodlebox4$
Banana Pi M64
pi / bananapi
moodlebox / Moodlebox4$
連線後的畫面會多一個樹梅派的logo,正常連線後會看到如下圖的畫面
Last updated