Link: http://firemobilesimulator.org/
近年モバイルサイトを開発することが多くなってきた。
モバイルサイトはPCとは違って、横幅のサイズが端末によって違ったり
絵文字がキャリア毎にちがったりで、慣れないと大変である。
モバイルサイトのリリースをする時点で
閲覧できるブラウザをモバイルだけに限定することが多い。
そうすると、PCからの確認作業ができなくなってしまうので
自分の携帯端末から確認するしかない。
とはいっても、パケット代が馬鹿にならない。
各種キャリアからもエミュレータ(シミュレータ)が配布されているが
どれも使い勝手はいまいちである。
Auキャリアに対応しているOpenwave SDK6.2Kは未だに公開停止だし。。。
それでもSoftbankから出ているウェブコンテンツヴューアはかなり使い心地はいいのだが、
他のキャリアでのテストを同時にしたい場合は、別のシミュレータを起動しておかないといけない。
こういうことを考えてみると、
各キャリア会社は本当にモバイルサイトを増やしたいのか?と思うほどである。
このあたりのツールをきちんと整備しているかどうかで、
その会社がどれだけこの分野に力を注いでいるかがわかってしまうような気がした。
ネットファーム・コミュニケーションズ株式会社からリリースされている
P1エミュレータはそんな問題をいっぺんに解決してくれる。
3キャリア対応で、絵文字やユーザーエージェント、画面幅などを
かなり細かくわけることができるし、キャリア毎の機種も豊富にそろっている。
しかも、新しい機種がリリースされるとともに、これらをきちんと対応機種に含んでくれる。
ところがこれは有償ソフトなので、開発案件のほとんどがPCで時々しかモバイルの案件がないような場合には
ちょっと費用対効果が少ないかもしれない。
ということでなかなかお手頃なエミュレータがないのが現状である。
閲覧するだけならfirefoxのアドオンであるUser Agent Switcherでも十分かもしれないが
絵文字の表示や、横幅の指定となるとちょっと物足りないかもしれない。
そこで登場したのがモバイル端末のエミュレーションをしてくれるfirefoxのアドオン。
FireMobileSimulatorだ。
3キャリア対応で、絵文字も表示して、横幅サイズもシミュレートしてくれます。
P1エミュレータほど機種が多くもないし、作りこんでいる感じはないですが、確認用としては十分です。
そして、オプションで緯度経度を設定できるところがなんとも素晴らしい!!
今や多くのモバイルサイトがGPSのサービスを使ったものが多いなかで、
このあたりをきちんとサポートしているところは、
よくモバイルサイトの情勢をわかっているなと感じました。
そして、やはり無償で提供しているのに感動します。
*Firefoxでの公式ページはこちら。(開発中のアドオンのためユーザー登録が必要になります。)
以下に開発者の方のコメントを引用いたします。
FireMobileSimulatorは、主要3キャリア(DoCoMo/Au/SoftBank)の携帯端末ブラウザをシミュレートして、モバイルサイト開発を容易にするために作成されたFirefoxのアドオンです。携帯端末のHTTPリクエスト、絵文字表示、位置情報送信機能などの動作をシミュレートすることができます。
モバイルサイトをPCで閲覧するために、従来からある方法として、キャリア公式シミュレータの使用、Proxyの使用、Firefoxの useragentswitcher+modify headersの組み合わせ等、色々と手段はありましたが、これらの方法はそれぞれに不足している機能があったり、またITに詳しくない人にとっては導入が面倒かつ困難という面があります。
このアドオンは、「誰でも簡単に導入できる」かつ「高機能である」ことを目的に作成された新しい携帯シミュレーターです。
おススメです。
vmware serverの2.0がリリースされました。
新しく立てたサーバはこれを使ってやってみました。
起動するとブラウザが立ち上がって、認証を求められます。
windowsの管理ユーザのidとパスワードを入力してログインします。
すると、管理画面が表示されます。
感想としては前よりもわかりやすくなったなと感じました。
新しく仮想マシンを作る時も、直感的にサクサク進みます。
しかも、仮想マシンを作ってから、ビルドする時間が非常に短くなった気がします。
Firefoxの場合は専用のプラグインをダウンロードすると
コンソールが立ち上がるようになります。
仕組みとしてはtomcatが入っていてapacheから管理画面にアクセスできるようになっているようです。
なかなかいいなと思っていると、問題が・・・。
windowsのスタートメニューからvmware serverをクリックしても
ログインページが表示されなくなってしまった。。。
自分のマシンを参照するドメインが違うのか、ポートの指定が違うのか。
いろいろやってみて、ログイン画面に入れたものの、
実際にログインしても、エラーになってしまう。
The VMware Infrastructure Web Service at “http://localhost:8222/sdk” is not responding (Connection Refused).
え~。そんな。
いろいろ調べてみると、この類の問題にぶち当たっている人は多いみたい。
スタートメニューからのショートカットはnetBiosの関係でうまく動かないとか
hostsの設定が違うとか、ネットワークの設定が違うとかなんとか。。。
結局vmware server 1.xのほうが安定してるんじゃ。。。
いろいろ試してみたけど、結果から言うと
vmware server 2.0をアンインストールして、
再インストールしたら直りました。
なんのこっちゃ。
それまで試した試行錯誤を見たい方は以下をクリックして
続きを読んでください。
新しく開発用サーバを立てることになったのでメモを残します。
いわゆるLAMP環境の設置です。
apacheをportsからインストールします。
Code:
cd /usr/ports/www/apache22 | |
make install | |
apachectl start |
すると以下のようなエラーが。
httpd: apr_sockaddr_info_get() failed for sabani.localhost
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
[Wed Nov 26 16:12:35 2008] [warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter
サーバのドメインネームが無い、ということなのでhostsファイルを編集。
Code:
vim /etc/hosts | |
127.0.0.1 yourdomain |
もう一度apacheを起動するとちゃんと動きました。
cd /usr/ports/lang/php5
Code:
make configure #apacheとmultibyteにチェック | |
make install |
インストールが終わったら
php.ini-distをコピーしてphp.iniを作る。
php.ini-recommendとはrecommendと言いつつ、phpの公式ページでは
php.ini-distを使いなさいとある。なんのこっちゃ。
ちなみにdiffると違いがよくわかる。
error_reportingとかmagic_quoteとかが微妙に違うので注意。
httpd.confに以下の一行があることを確認
Code:
LoadModule php5_module libexec/apache22/libphp5.so |
php5_moduleとlibexec/apache22/libphp5.soの間の変なタブが入っている場合は
そのタブを消してスペースで区切る。
じゃないときちんとphpと認識されないことがあるみたいです。
さらに以下の二行をhttpd.confに追加
Code:
AddType application/x-httpd-php .php | |
AddType application/x-httpd-php-source .phps |
これでapacheのリスタートをかける。
適当にphpファイルを作ってブラウザから閲覧できればOK。
さらに拡張する場合は
/usr/ports/lang/php5-extensions
に移動して
Code:
make configure | |
make install |
multibyteはともかく、必要そうなものを欲張りに入れていく。
特にMySQLとかXML-RPCとか。
参考URL
http://www.php.net/manual/ja/install.unix.apache2.php
phpの拡張でmysql-clientはすでにインストールされているので
ここではmysql-serverのみをインストールする。
Code:
cd /usr/ports/database/mysql50-server | |
make configure | |
make install |
mysqlの公式サイトによると
mysql_install_dbを実行する必要があるとのこと。
http://dev.mysql.com/doc/refman/5.1/ja/freebsd.html
これに従って以下を実行
Code:
cd /usr/local/mysql | |
bin/mysql_install_db --user=mysql | |
bin/mysqld_safe & |
topを見るとmysqldが動いているのが見えます。
mysql_install_dbを実行した際に以下のメッセージが出るので
これに従います。
/usr/local/bin/mysqladmin -u root password ‘new-password’
/usr/local/bin/mysqladmin -u root -h yourdomain password ‘new-password’
そしてこのメッセージでもマニュアルでも
起動コマンドはあくまでも mysqld_safe & にしてくれと書いてある。
なので、できるだけmysqld_safeを使うことにする。
mysqld_safe は Unix や NetWare などの環境で、mysqld サーバ ( デーモン) を起動するときに推奨しているコマンドです。mysqld_safe は、エラー発生時にサーバを再起動したり、ランタイム情報をログ ファイルに記録するなどのセキュリティ機能が加わります。
http://dev.mysql.com/doc/refman/5.1/ja/mysqld-safe.html
ただし、以下の文章がよくわからなかったので、保留事項としておく。
FreeBSD は非常に小さいデフォルトのファイル処理制限があることで知られています。項B.1.2.17. 「’File’ Not Found and Similar Errors」 参照。サーバを –open-files-limit オプションを使用して mysqld_safe に起動しするか、あるいは /etc/login.confg の mysql ユーザーの制限を上げそれを cap_mkdb /etc/login.conf で再度ビルドします。
Link: https://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?rid=7&PID=1305-8039#tejun1
会社ではパソコンがいくつか余っているので
そこにFreeBSDを入れてサーバを立てようと思いました。
そこでまずはwindowsのワークグループを同じにして
ファイルを共有できるようにせねばと思ったのですが
ファイルを共有できないどころか、
ワークグループ内の他のコンピュータを表示することもできない!
インターネットはできるのに・・・
かなり苦戦をしましたがなんとか解決できて、ネットワークに接続できました。
今後もこういうことがありそうなのでメモっておきます。
肝心の部分はこれでした。
NetBIOS over TCP/IP を有効にする
以下に手順を示します。
*windows XP home editionの場合です。(service pace 3)
NetBios over TCP/IPの設定
Computer Browserの設定
う~ん。基本的なことかもしれないけどやっと解決しました(泣)
現在の開発環境をメモしておきます。
Dell vostro200
CPU: PentiumD 1.6GHz
メモリ:1GB
OS: Windows XP Home Edition (なぜHomeなんだ・・・)
このマシンに仮想マシンを入れています。
Unixですが、いわゆるLAMP環境ですね。
VMware Server 1.0.5
仮想OS: FreeBSD 7.0
Apache 2.2.9
PHP 5.2.6
mySQL 5.1.26
これらはportsでインストールしたりコンパイルしています。
それからSambaをFreeBSDに入れています。
バージョンは3.0.31
それでapacheのドキュメントルートを共有化して
Windowsからeclipseで編集しています。
eclipseではPDTを使っています。
ここにQuantumDBプラグインを入れています。
他にも、phpMyAdminとかmysql workbenchも使っています。
それからphpのxdebugも入れています。