Orange Pi PC Access Point Web GUI

前回のブログで紹介したOrange Pi PCのルータ化(hostapd+dnsmasq
)により、WiFi経由でPCまたは携帯端末からOrange Pi PCに直接アクセスすることができるようになりました。Raspberry Pi, Orange Piなどのコンピュータボードにおける従来のWiFiネットワーク設定(市販ルータのアクセスポイントとパスワードの入力)は、SSH接続によりターミナルからコマンド入力で設定するか、ボードにモニターを接続し画面上の表示メニューに従い設定しなければなりませんでした。しかし、コンピュータボード自体をネットワーク対応製品として成立させるためには、このネットワーク設定を他の端末から簡単に設定できるようにすることが必要条件となります。Rasberry Pi向けに配布されているRaspAPはこの条件を満たすウェブフロントエンドの一つです。今回これをマニュアルインストールすることでOrange Pi PCにも同様の機能を持たせています。
■ 対象ハードとOS
前回のブログ内容と同じ条件です。
Orange Pi PC: ARMBIAN 5.25 stable Debian GNU/Linux 8 (jessie) 3.4.113-sun8i
■ 設定プロセス
lighttpd, php5-cgi
のインストール- gitによるウェブフロントエンドダウンロード
- ウェブ画面上の各ボタン操作を有効にするためのアクセス権の設定
1. lighttpd, php5-cgi のインストール
簡易ウェブサーバとしての機能を追加するため以下コマンドによりlighttpd, php5-cgi
インストールします。
$ sudo apt-get install lighttpd php5-cgi
lighttpdのfastcgiモジュールを有効にし再起動します。
$ sudo lighty-enable-mod fastcgi-php
$ sudo service lighttpd restart
2. gitによるウェブフロントエンドダウンロード
lighttpd
のインストールにより/var/wwww/html
フォルダが作成されます。/var/www/html
フォルダの中身を全て削除し、このhtmlフォルダ内にgitによりRaspAPフロントエンドコンテンツ一式をダウンロードします。
$ sudo rm -rf /var/www/html/*
$ sudo git clone https://github.com/billz/raspap-webgui /var/www/html
htmlフォルダ内の全ての所有権をwww-data
に付与します。
$ sudo chown -R www-data:www-data /var/www/html
RaspAPの設定ファイルraspap.php
を/etc/raspap
フォルダ作成後ここにコピーしwww-data
に所有権を付与します。
$ sudo mkdir /etc/raspap
$ sudo mv /var/www/html/raspap.php /etc/raspap/
$ sudo chown -R www-data:www-data /etc/raspap
3. ウェブ画面上の各ボタン操作を有効にするためのアクセス権の設定
ネットワーク設定に関係する各種デーモンはシステムが管理しているため、www-data(ウェブサーバ)
には本来これらを操作する権限がありません。www-data
にデーモン操作の権限を付与するため/etc/sudoers
の文末に以下を追加します。
$ sudo nano /etc/sudoers
## www-data ALL=(ALL) NOPASSWD:/sbin/ifdown wlan0
## www-data ALL=(ALL) NOPASSWD:/sbin/ifup wlan0
www-data ALL=(ALL) NOPASSWD:/bin/cat /etc/wpa_supplicant/wpa_supplicant.conf
www-data ALL=(ALL) NOPASSWD:/bin/cp /tmp/wifidata /etc/wpa_supplicant/wpa_supplicant.conf
www-data ALL=(ALL) NOPASSWD:/sbin/wpa_cli scan_results
www-data ALL=(ALL) NOPASSWD:/sbin/wpa_cli scan
www-data ALL=(ALL) NOPASSWD:/sbin/wpa_cli reconfigure
## www-data ALL=(ALL) NOPASSWD:/bin/cp /tmp/hostapddata /etc/hostapd/hostapd.conf
## www-data ALL=(ALL) NOPASSWD:/etc/init.d/hostapd start
## www-data ALL=(ALL) NOPASSWD:/etc/init.d/hostapd stop
## www-data ALL=(ALL) NOPASSWD:/etc/init.d/dnsmasq start
## www-data ALL=(ALL) NOPASSWD:/etc/init.d/dnsmasq stop
## www-data ALL=(ALL) NOPASSWD:/bin/cp /tmp/dhcpddata /etc/dnsmasq.conf
www-data ALL=(ALL) NOPASSWD:/sbin/shutdown -h now
www-data ALL=(ALL) NOPASSWD:/sbin/reboot
hostapdやdnsmasqに関わる設定は変更できないようにコメントとしています(有効にするかどうかは任意)。
システムの停止・再起動、市販ルータへのアクセスに関わる箇所だけに権限を付与しています。
システムを再起動しブラウウザにホストネームまたはhostapd
によるOrange Pi PCのIPアドレスを入力して動作を確認して下さい。
アクセス後ユーザ名とパスワードを入力します。デフォルトユーザ名はadmin
、パスワードはsecret
です。
ダッシュボード画面にOrange Pi PC本体のアクセスポイントインターフェイス、IPアドレスなどが表示されます。
市販ルータとOrange Pi PCとのWiFi接続設定はここで行います。市販ルータのSSIDとパスワードを入力して下さい。ここを設定することでOrange Pi PCに接続されたPCや携帯端末からインターネットにアクセスできるようになります。
Orange Pi PCをアクセスポイントにする設定です。hostapd
による設定が表示されます。上記項目3の設定によりここは表示のみとなっています。
DHCPサーバ(dnsmasq)
の設定です。Orange Pi PCのIPアドレスと接続端末へリリースされるIPアドレスなどを設定します。上記項目3の設定によりここは表示のみとなっています。
Gateway APにブラウザからアクセスするときに必要なゲートウェイのユーザ名とパスワードの設定ページです。
システムの停止・再起動のページです。