Armadilloフォーラム

無線LANでlighttpdにアクセス

kuriha27

2017年2月13日 19時55分

栗原と申します。
いつもお世話になっております。

クライアントPCのブラウザからhttpsでArmadilloのlighttpdに、
アクセスして、クライアントPCのブラウザにwebページを
表示させたいと考えております。

しかし、Armadillo-Iot-G2の電源を入れて起動した際に、無線LANが
lighttpdの後に起動してしており、lighttpdが自動起動しない状態と
なってしまっております。

無線LANがlighttpdの後に起動した場合に、lighttpdが自動起動していない
原因として、以下の内容を/etc/lighttpd.confに設定しているためだと
考えられます。

$SERVER["socket"] == "[無線LANのIPアドレス]" {
  ssl.engine           = "enable"
  ssl.pemfile          = "/etc/lighttpd/ssl/server.pem"
  server.document-root = "/home/www-data"
}

つきましては、lighttpdの起動の前に無線LANを起動する方法、もしくは
他に手段がございましたら、お手数ですがご教授願えませんでしょうか。

以上、よろしくお願いいたします。

コメント

製品マニュアルの例だと rc.local のタイミングで 無線LAN アダプタの有効化と
upが走るので確かに遅いですね。

少し変則的ですが、eth0等と同様にnetworkingのinitスクリプトが動くタイミングで
無線LANも初期化を完了させる手順を作ってみました。

製品マニュアル 「6.2.4.3. 自動で無線 LAN インターフェースを有効化する」
の指示は一旦無視して、下記のように設定してください。

1, /etc/config/rc.local は変更しない
(もし、追記したsd-awlan-selがあれば、消しておく)

2, /etc/config/interfaces は下記例の通り変更する。
マニュアルとの違いは2点です。スペースは例の通りコピーしてください。

1, auto に awlan0 を追加すること
2, pskのセット前に二つのpre-upを追記しawlan0の初期化を待つ

auto lo awlan0
<中略>
iface awlan0 inet dhcp
        pre-up /usr/bin/sd-awlan-sel awlan
        pre-up while ! iwpriv awlan0 get_macaddr 2>/dev/null; do :;done
        pre-up iwpriv awlan0 set_psk [your psk]
        pre-up iwpriv awlan0 set_cryptmode WPA2-AES
        pre-up iwconfig awlan0 essid [your ssid]
        wireless-mode managed

3, /etc/config/awl13-firmware-load.sh は変更しない
(もし、追記したifup awlan0があれば消しておく)

以上の設定を実施して flatfsd -s コマンドで保存してください。
次回起動から、lighttpd の起動より先に awlan0 がコンフィグされ
IPが取得されているはずです。

もう一点、awlan0の初期化とは別にlighttpdの設定が正しいか
確認してみてください。

> $SERVER["socket"] == "[無線LANのIPアドレス]" {

この右辺の値は "ip:port" の形式以外はエラーとなります。
実際にはポート番号を記入しているのであれば問題ありません。

参考:https://redmine.lighttpd.net/projects/1/wiki/docs_configuration

いつもお世話になっております。
栗原です。

上記内容により、lighttpdの起動より先にawlan0がコンフィグされ、
lighttpdが正常に起動し、クライアントPCのブラウザにwebページが
表示されることを確認いたしました。

以上、ありがとうございました。