##Orange Pi Zero とは
PC watch で約700円の超小型開発ボードとして紹介されていた Orange Pi Zero を AliExpress で購入してみました。
Raspberry Pi互換を謳う GPIO 付きの超小型 Linux ボードです。とっても小さいです。
(ただし、GPIO ポートは空きパターンのみでピンヘッダは付いていませんでした)
Orange Pi Zero にはメモリサイズの違いで 256M / 512M の 2種類があるようです。今回は 512M 版を購入しました。
・Orange Pi
http://www.orangepi.org/orangepizero/
http://linux-sunxi.org/Xunlong_Orange_Pi_Zero
動作確認を兼ねて、OSインストールから Webサーバの起動までを行ってみました。
##Armbian のインストール
###イメージのダウンロード
http://www.armbian.com/download/
機種の一覧から、Orange Pi Zero を選択します。
Stable releases から jessie server か Xenial server を選んでダウンロードします。
今回は jessie server を選択しました。
###ファイルの展開
ダウンロードしたイメージは 7zip で圧縮されているので、展開します。
7z の展開に対応したアーカイバがない場合は、p7zip を brew でインストールします。
$ brew install p7zip
$ 7z e Armbian_5.24_Orangepizero_Debian_jessie_3.4.113.7z
###SDカードのフォーマット
用意した microSD を SD Formatter でフォーマットします。
Mac で作業をしている場合、フォーマット完了後自動的にマウントされるので、アンマウントします。
$ sudo diskutil unmountdisk /dev/disk2
###イメージの書き込み
dd コマンドでイメージを書き込みます。of= に指定するデバイス名を間違えないように。
$ sudo dd if=Armbian_5.24_Orangepizero_Debian_jessie_3.4.113.img of=/dev/rdisk2 bs=1m
###起動
イメージを書き込んだ microSD を装着します。
また、LANケーブルを挿しておきます。電源の Micro USB ケーブルをつなぐと電源が入ります。
しばらくすると DHCP でアドレスが割り当たるので、DHCPサーバのログからIPアドレスを探します。
###ログイン
ssh でログインします。
初回ログインでは、デフォルトのパスワードで rootログインできます。
Login: root
Password: 1234
___ ____ _ _____
/ _ \ _ __ __ _ _ __ __ _ ___ | _ \(_) |__ /___ _ __ ___
| | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | | / // _ \ '__/ _ \
| |_| | | | (_| | | | | (_| | __/ | __/| | / /| __/ | | (_) |
\___/|_| \__,_|_| |_|\__, |\___| |_| |_| /____\___|_| \___/
|___/
Welcome to ARMBIAN Debian GNU/Linux 8 (jessie) 3.4.113-sun8i
System load: 0.15 Up time: 9 min
Memory usage: 9 % of 494Mb IP: 192.168.1.101
CPU temp: 53°C
Usage of /: 7% of 15G
root@orangepizero:~$
ログイン後、rootパスワードの変更と、一般ユーザの作成を求められるのでそれぞれ指示に従って対応します。
ユーザを作成したあと、一般ユーザから sudo で root に昇格できるので、rootユーザのパスワードは無効にしておくと良いでしょう。
$ sudo passwd -l root
##無線LANの停止
Orange Pi Zero には wifi が内蔵されていますが、技適認証がないので日本国内では使用できません。
そのため、wifi を停止します。
$ sudo echo "blacklist xradio_wlan" > /etc/modprobe.d/disable_xradio_wlan.conf
$ sudo reboot
再起動した後、ログインして wlan0 インタフェイスが無効になっていることを確認します。
$ ifconfig wlan0
wlan0: error fetching interface information: Device not found
Avahiのインストール
Orange Pi Zero に固定IPアドレスを割り振らない場合、毎回IPアドレスを探すのは面倒なので mDNS でアクセスできるようにします。
$ sudo apt-get install avahi-daemon libnss-mdns
$ sudo systemctl enable avahi-daemon
$ sudo systemctl start avahi-daemon
$ ps -ef |grep orangepi
avahi 12345 1 0 07:04 ? 00:00:00 avahi-daemon: running [orangepizero.local]
これで、Orange Pi Zero へ "orangepizero.local" でアクセスできるようになりました。
##CADDY のインストール
動作確認を兼ねて Webサーバをセットアップしてみます。
CADDY: The HTTP/2 web server with automatic HTTPS
https://caddyserver.com
###ダウンロード
$ cd ~
$ mkdir caddy
$ cd caddy
$ curl https://caddyserver.com/download/build\?os=linux\&arch=arm\&features=|tar zxpf -
###インストール
$ cd ~/caddy
$ sudo cp caddy /usr/local/bin/
$ sudo cp init/linux-systemd/caddy.service /etc/systemd/system/
$ sudo mkdir -p {/etc,/etc/ssl,/var/log}/caddy
$ sudo chown www-data:www-data {/etc/ssl,/var/log}/caddy
###セットアップ
以下の内容で Caddyfile を作成します。
*:8080
gzip
log /var/log/caddy/access.log
root /var/www/html
Caddyfile を配置します。
$ sudo cp Caddyfile /etc/caddy/
ダミーの HTMLファイルを作成しておきます。
$ sudo mkdir -p /var/www/html
$ sudo echo "Hello orange pi!" > /var/www/html/index.html
systemd へサービス登録します。
$ systemctl enable caddy
$ systemctl start caddy
###動作確認
Webブラウザでアクセスしてみます。
http://orangepizero.local:8080/
Hello orange pi!