這裡介紹如何在樹莓派(Raspberry Pi)中安裝 Node.js 與 MongoDB 資料庫。
Node.js 加上 MongoDB 資料庫是目前很熱門的網頁應用程式架構,但是由於官方並沒有針對 Raspberry Pi 平台提供編譯好的安裝檔,以下我整理了一些比較簡單的安裝方式,讓您可以快速把開發應用程式的環境建立起來。
Node.js
要在 Raspberry Pi 中安裝 Node.js,可以從官方網站上下載原始碼來編譯並安裝,不過這種方式比較花時間。
比較快速的方式是直接下載編譯好的安裝檔來安裝,在 node-arm 的網站上有提供 Node.js 最新版本編譯好的安裝檔,使用這個安裝檔來安裝會快很多。
首先下載打包好的 .deb
檔:
wget http://node-arm.herokuapp.com/node_latest_armhf.deb
安裝 .deb
檔:
sudo dpkg -i node_latest_armhf.deb
最後檢查一下 Node.js 的版本:
node -v
這裡所提供的 Node.js 安裝套件幾乎都是最新的,頂多只會比官方最新版差一點點:
v0.12.6
MongoDB
MongoDB 的安裝則比較麻煩,官方似乎沒有提供適用於 Raspberry Pi 的版本,大部分人都是下載 RickP/mongopi 這個第三方所修改的專案來自己編譯安裝,雖然可以使用,但缺點是他的版本有點舊,但是目前大概也沒有其他比較好的辦法了。
先安裝編譯用的套件:
sudo apt-get install build-essential libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev scons libboost-all-dev python-pymongo git
下載原始碼:
git clone git://github.com/RickP/mongopi.git
編譯:
cd mongopi scons
將 MongoDB 安裝至 /opt/mongo
:
sudo scons --prefix=/opt/mongo install
設定 PATH
,在 ~/.bashrc
中加入:
export PATH=$PATH:/opt/mongo/bin
在 GitHub 上還有幾個類似的專案,如果 RickP/mongopi 不能用的話,也許可以嘗試看看:
另外如果您不想自己編譯的話,以嘗試 Barryrowe/mongo-arm 這個已經編譯好的版本,下載後解加縮即可使用,這樣可以節省非常多的時間。以下是 Barryrowe/mongo-arm 的安裝流程。
用 git
下載整個專案:
git clone https://github.com/Barryrowe/mongo-arm.git
建立 mongo
這個使用者帳號:
sudo useradd mongo sudo passwd mongo
將編譯好的 MongoDB 放到適當的位置:
sudo cp -R binaries/2.1.1 /opt/mongo
設定檔案權限:
sudo chown -R mongo:mongo /opt/mongo
建立存放資料的目錄:
sudo mkdir -p /data/db
設定目錄權限:
sudo chown mongo:mongo /data/db
接著要設定系統啟動的指令稿:
sudo cp config/mongodb /etc/init.d/mongodb
這個指令稿必須依照自己的安裝設定進行修改,在第 50 行左右的地方,請依照自己的設定修正 MongoDB 安裝路徑:
DAEMON=/opt/mongo/bin/mongod
在第 95 行左右,如果您剛剛上面所新增的使用者不是 mongo
,那在這裡就要把 mongo
修改成自己指定的使用者名稱:
DAEMONUSER=${DAEMONUSER:-mongo}
設定檔案權限:
sudo chmod 755 /etc/init.d/mongodb
將 config/mongod.conf
複製到 /etc/mongod.conf
:
sudo cp config/mongod.conf /etc/mongod.conf
註冊 mongodb
這個新的系統服務:
sudo update-rc.d mongodb defaults
啟動 MongoDB 資料庫:
sudo service mongodb start
設定一下 PATH
,在 ~/.bashrc
中加入:
export PATH=$PATH:/opt/mongo/bin
這樣 MongoDB 就安裝好了,最後測試一下:
mongo
輸出為
MongoDB shell version: 2.1.1 connecting to: test >
雖然這個版本有點舊,但是對於一般的應用應該是足夠的,最重要的是安裝快速又方便。