2011年3月24日, 21:02
前回はQNAPでeAcceleratorの高速化を紹介しました。
今回は、それに関する補足です。
eAccelerator管理画面(control.php)を使用する
eAcceleratorを有効にしても、実際にどれぐらいメモリがキャッシュされているのか、また何がキャッシュされているのかが分かりにくいと思います。
eAcceleratorではもともとそれを管理する画面(control.php)が用意されているので、QNAPに導入します。
-
phpinfo()で、eAcceleratorのバージョンを確認しておきます。
-
eAcceleratorの公式サイトから、上記で確認したバージョンと同じアーカイブをダウンロードし、解凍します。
-
解凍したフォルダの中にcontrol.phpがあるので、QNAPのQweb以下のどこか(例えばQweb/eaacelerator/など)に配置します。他のファイルは使わないので削除してOKです。
-
QNAPのphp.ini編集で、[eaccelerator]セクションの一番下に、
eaccelerator.allowed_admin_path = [配置したパス]/control.php
を追記して適用します。(上記の例だと/share/Qweb/eaacelerator/control.phpとなります)
-
デフォルトの設定だと誰でもcontrol.phpにアクセスできる設定になっているので、ファイルを開いて$authをtrueに、$userと$pwを適切に設定するか、.htaccessなどでアクセス制限をしておきます。
-
ブラウザでcontrol.phpを開いてみます。eAccelerator control panelが表示されればOKです。
画面下のボタンではキャッシュのクリアができるようですが、私の環境ではディスクキャッシュ(/.eaccelerator.tmp)のクリアができませんでした。
共有メモリサイズ(eaccelerator.shm_size)を変更する
eAcceleratorでは通常、共有メモリサイズ(eaccelerator.shm_size)を任意に指定できます。
QNAPでもphp.iniの中でパラメータeaccelerator.shm_sizeを持っていて、初期値は32(MB)となっています。
しかし、試した人は分かると思いますが、QNAPではなぜかこの値を変更しても32(MB)に戻ってしまいます。
(2011.03.24以下修正した)
調べてみると、この値は/etc/init.d/Qthttpd.shの中でハードコーディングされていることが分かりました。
Qthttpd.shを書き換えることによって、メモリサイズを書き換えられることは確認済みです(詳しくは書きません)。
以上です。
2011年3月22日, 23:12
QNAPで例えばWordPressを使っていると、「遅い!」と感じる人も多いと思います。
WordPressはPHP+MySQLで動的にコンテンツを生成するので、当然といえば当然です。
今回は、QNAPのPHPを高速化します。eAcceleratorを使い、メモリに中間コードをキャッシュするようにします。
仕組みについて詳しく知りたい方は、Googleで検索して下さい……。
では手順です。
- QNAPの管理画面に入る。
- 画面左のツリーから[ネットワークサービス] – [Webサーバ]を選択。
- 画面右で[php.iniのメンテナンス]にチェックを入れ、すぐ右のプルダウンで”編集”を選択。
- すぐ下にphp.iniの内容が表示されるので、”[eaccelerator]“の文字を探す。
- “[eaccelerator]“の直下に “extension = eaccelerator.so” を追加(ダブルクォートは抜いて下さい)。
- ちょっと下の[適用]ボタンを押す。
(2011.03.24色々修正……)
これで設定は終わりです。体感でかなり早くなるのが分かると思います。
ただし、私の環境では(TS-119)、キャッシュがルートパーティションを食いつぶし、システムが不安定になってしまいました。
なので、eaccelerator.shm_only = 0 の値を 1 に変えて(メモリのみ使う)運用しています。
以上です。
2011年3月10日, 23:45
Googleアカウントのパスワードを変更した場合に、以前はAndroid側でめんどくさい作業(最悪、ファクトリリセット)を実施しなくてはならなかったのですが、2.1以降(だと思う……)から簡単になったようです。
わざわざメモを残すまでもなく簡単なのですが、一応。
- 何らかの方法でGoogleアカウントのパスワードを変えたとします(PCからetc…)。
- Android側で、[設定]-[アカウントと同期]で設定しているGoogleアカウントを選び、何でもいいので(連絡先、Gmail、カレンダーなど)同期します。
- 通知バーに「同期に失敗した」みたいな通知が出てくるので、その通知を開く。
- 新しいパスワードを入力。おしまい。
以上です。
2011年3月5日, 01:09
はじめに
この手順では、XperiaからOpenVPN Settingsを用いてOpenVPNサーバに対して接続を行います。
Xperia以外でもAndroid端末であれば接続できると思いますが、試していないので不明です。
(IS01で確実にダメなことが分かっていますが、Google検索すると解説サイトがあるのでそちらで)
なお、本手順の使用については自己責任でお願いします。
(rootで端末をいじるので、最悪動かなくなることも考えられます。
……AndroidでOpenVPN使おうとする人なら十分承知とは思いますが(^o^;)
- OpenVPNサーバ構築
これは数多くのサイトが解説しているので割愛します。
必ず、Windows等のクライアントからOpenVPNサーバに接続できることを確認しておいて下さい。
(Xperiaを最初のクライアントにすると、問題が発生したときにサーバの問題なのか
クライアントの問題なのか切分けが難しくなります)
- Xperiaのroot取得
こちらも他サイトを参考にお願いします。
私はz4rootを使用しましたが、現在でも使える方法かは不明です。
- BusyBoxのインストール
XperiaでマーケットからBusyBoxを検索し、インストールします。
- OpenVPNモジュールの取得
Xperiaで以下URLからzipをダウンロードし、/sdcard以下に解凍して下さい。
http://dl.dropbox.com/u/15148882/openvpn.zip
- OpenVPN Settingsのインストール
XperiaでマーケットからOpenVPN Settingsを検索し、インストールします。
- Android Terminal Emulatorのインストール
XperiaでマーケットからAndroid Terminal Emulatorを検索し、インストールします。
- コマンドの実行
XperiaでAndroid Terminal Emulatorを起動し、以下のコマンドを実行して下さい。
※最後の2行は要らないかも知れません。私は実行しましたが、問題はありませんでした。
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
busybox insmod /sdcard/openvpn/tun.ko
busybox cp /sdcard/openvpn/openvpn /system/xbin/openvpn
busybox cp /sdcard/openvpn/tun.ko /system/xbin/tun.ko
chmod 700 /system/xbin/openvpn
mkdir /system/xbin/bb
busybox ln -s /system/bin/busybox /system/xbin/bb/ifconfig
busybox ln -s /system/bin/busybox /system/xbin/bb/route
busybox mount -o remount,rw /dev/block/mtdblock2 /system
busybox cp /sdcard/openvpn/chargemon /system/bin/chargemon
busybox cp /sdcard/openvpn/busybox /system/bin/busybox
- Xperiaの再起動
Xperiaを再起動します。
- OpenVPNクライアント鍵などの配置
Xperiaの/sdcard/openvpn以下に、クライアントとして必要なファイルを配置します。
私の場合は、以下のようなファイルでした。OpenVPNサーバの設定によって変わると思います。
- ca.crt
- xxx.crt
- yyy.key
- zzz.ovpn
- tls-auth.key
※ちなみに、zzz.ovpnの内容は以下です。こちらもOpenVPNサーバの設定によって内容が異なります。
Windowsなどで動作確認済みのovpnファイルがあれば、keyやlogのパスを変更するだけでOKです。
client
tls-auth /sdcard/openvpn/tls-auth.key 1
cipher AES-256-CBC
dev tun
proto udp
tun-mtu 1500
fragment 1400
mssfix
remote hoge.hoge xxxxx
ca /sdcard/openvpn/ca.crt
cert /sdcard/openvpn/xxx.crt
key /sdcard/openvpn/yyy.key
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
comp-lzo
status /sdcard/openvpn/status.log
log-append /sdcard/openvpn/log.log
- OpenVPN Settingsの設定
XperiaでOpenVPN Settingsを起動して、[Menu]ハードキー – [Advanced]をタップし、以下の設定を行います。
- [Load tun kernel module]にチェック。
- [Path to configurations]に/sdcard/openvpnを設定。
- [Path to openvpn binary]に/system/xbin/openvpnを設定。
- [TUN module settings]をタップ。
- [Load module using]で”insmod”を選択。
- [Path to tun module]に/sdcard/openvpn/tun.koを設定。
以上で設定は終了です。[Back]ハードキーを2回押して、OpenVPN Settingsのトップ画面に戻ります。
- OepnVPNの起動
いよいよOpenVPNの起動です。
- [OpenVPN]にチェックを入れます。
- zzz.ovpnにチェックを入れます(一度でチェックが入らない場合は、もう一度タップして下さい)。
- パスフレーズの設定をしている場合には、ステータスバーに通知されるので、通知を開いてパスフレーズを入力してから[OK]をタップします。
- zzz.ovpnの下に、”Connected to [OpenVPNサーバのIP] as [クライアントに割当てられたIP] “ が表示されれば接続成功です。うまくいかない場合には、ログを確認しましょう(ログの場所は、ovpnファイルで設定できます)。
以上です。
2011年3月5日, 00:06
はじめに
本書はAndroid(HT-03A)+Azilinkでテザリングを実施する手順を示す。
手順の実施については自己責任でお願いします。
(以下を参考にした……というかそのまんまだけど)
http://code.google.com/p/azilink/
※現状、通信はbizホーダイに含まれるようだが、今後どうなるかは不明。
準備
- ホストにOpenVPNをインストール
以下からインストーラをダウンロードし、ホストで実行。適当にインストール。
http://openvpn.net/index.php/open-source/downloads.html
- ホストにHT-03Aを接続
接続。
- HT-03AのUSBデバッグモード設定
HT-03Aで[設定] – [アプリケーション] – [開発]画面を開き、[USBデバッグ]をチェック。
- ホストにAndroid USBドライバをインストール
http://code.google.com/p/azilink/から”azlink-x.x.x.zip”をダウンロードして解凍する。
デバイスマネージャから、解凍した” azilink-2.0.2adbx86″以下のドライバをインストール。
※この辺の手順はよく分からなかったので適当にやった。自分がやった手順は、
- [USBコントローラ]- [USB 大容量記憶装置デバイス(Android Phone)]のプロパティ→[一覧または……]→[次の場所で……]のラジオボタンをチェックし、[リムーバブル……]のチェックを外し、[次の場所を……]をチェックし、解凍した” azilink-2.0.2adbx86″のパスを指定。
- デバイスマネージャに不明なデバイスが出現したので(1)と同じ手順を実施。
テザリング実施
- バッチ実行
解凍した” azilink-2.0.2″以下のazilink.batを実行。
- AziLinkの設定
HT-03AでAziLinkを開き、[Service active]をチェック。
- 接続開始
解凍した” azilink-2.0.2″以下のazlink.ovpnを右クリック→[Start OpenVPN on this configuration file]。
コマンドプロンプトが起動するので落ち着くまで待つ。
- 確認
接続できているはず。
以上