ラベル Server の投稿を表示しています。 すべての投稿を表示
ラベル Server の投稿を表示しています。 すべての投稿を表示

2012年2月24日金曜日

R+Ubuntu Server+Apache+PHP

R+俺=無限大の可能性?

Osaka.Rでの刺激を受け、Ubuntu ServerにRをインストールしてみたのはこないだの話。
さてそれでは一体これを使ってどう遊ぶんだ?ということで。

今WordPressってものに興味がありまして。
とりあえず「第2回WordBench大阪」参加してきます。
まだ触ったこともありませんがw

そんでもってWordPressはPHPで実装されているらしいです。
ならばRにアクセスするライブラリをとりあえずPHPで書いてみようかって思いまして。
↓こんなイメージです

はいできた!

で、とりあえずパフォーマンスは置いておくとして、ブラウザからちょっとスクリプト走らせて結果を見られるものができました。

■実行中のスクリーンショット



これ頑張って作り込めばIDEみたいなもの作れるんちゃうかな?

と思ったんですがっ!

後で知ったんですが、RStudioっていう素晴らしいIDEが既にあったようです。

まぁIDEは諦めよう。
二番煎じはなんだかイヤだ。

PHPで書いたし、WordPressと一緒に仲良く動いてくれるんちゃうかな?
WordPressまだよぅ知らんけどw

アイディアとか、ないですか?

作ったものの、活用するアイディアが今のところ思いついていませんw
なんか面白いアイディア、ないでしょうか?

作ったスクリプトを公開するかはちょっと考え中です。
実験してみたいって人は連絡下さい。
スクリプトをブン投げますお渡しします。

Rのほかに、apache2、php5、ghostscriptを使います。
インストールはRが動くUbuntu(※)があれば↓5ステップぐらいでできます。
  1. Install packages(apache2, php5, and ghostscript)
  2. Create app(web) directory
  3. Configure permission and owner to directory
  4. Copy script files
  5. Start http service(and open port no.80)
Rが動くUbuntu Serverは、前に書いたエントリが参考になるかもしれません。
実験なら別にVMware Playerでお使いのPCで仮想マシン作っても良いんじゃないでしょうか?

これ使って携帯電話でR!とかできたら、ワクワクしません?

...しませんよねぇw

2011年11月17日木曜日

Firefox用のWeaveMinimalServerを時短で作ろう

Weave Server


どうも。
いち、プログラマのyu1rowです。
今回は、ZBOXに入れたUbuntu ServerでWeave Minimal Serverを急いで作ってしまおう、って話です。

補足と注意点


[Weave Minimal Serverとは?] 
yu1rowも使っているFireFoxでブックマークや履歴などの設定をいろんなPCやスマートフォンで共有できちゃうサーバです。
Toby Elliott氏とLuca Tettamanti氏により、PHPで実装された無料のソフトウェアです。

[注意点] 

今回作るサーバはセキュリティの考慮はされておりません。
家庭内でブックマークを共有しちゃう想定の、HTTP通信をナマで行うものです。
もしセキュリティが考慮されているどこからでもアクセスできるサーバを作りたいという場合、最低でも以下の作業が必要です。
  • HTTP通信ではなく、SSLで保護された通信を行うようにApacheの設定を行う
  • HTTPSのポート(443番)を空ける
  • ルータ等をかましている場合、NATの設定を行う
  • グローバルIPを所持していない場合、DynamicDNSなどのサービスを使用する
慣れない人は、上記を行うにはちょいと敷居が高いかもしれません。
今回はあくまでライトに、ホームユーズを想定したお話ですのでご注意下さい。

手順


以前ZBOXにインストールしたUbuntu Serverでやったらうまくいきました。
なので、確認した環境はそれだけです。

以下手順です。
  1. Apache2、php、sqliteをインストール
    $ sudo apt-get -y install apache2 php5 php5-sqlite

  2. 80番ポートを開ける
    $ sudo ufw allow 80

  3. WeaveServerをインストールする
    $ sudo wget -P/var/www/ http://people.mozilla.org/~telliott/weave_minimal.tgz
    $ tar xzf /var/www/weave_minimal.tgz -C /var/www/
    $ sudo chown -R www-data. /var/www/weave_minimal
    $ printf 'Alias /weave /var/www/weave_minimal/index.php\n' | sudo tee /etc/apache2/conf.d/weave
    $ sudo /etc/init.d/apache2 restart

  4. WeaveMinimalServer初期化
    ※セオリーではブラウザからアクセスするんですが、面倒なんでコマンドラインから以下のように叩きました
    printf "GET /weave/1.0/blah/info/collections HTTP/1.0\n\n^C\n" | telnet localhost 80

    ※以下のURLにブラウザからアクセスして、出てきた認証ダイアログで「キャンセル」でも初期化できます
    http://(サーバのアドレス)/weave/1.0/blah/info/collections HTTP/1.0

  5. WeaveServerにユーザを追加する
    ※「(c)reate」を選び、メールアドレス(実はメールアドレスじゃなくてもいい)、パスワードを入力します
    $ sudo php /var/www/weave_minimal/create_user

  6. FireFoxの設定
    手元にあったFirefox 8.0でSyncサーバの設定をしてみました。
    [ツール] → [オプション]
    [Sync] → [Firefox Sync をセットアップ]
    [すでに Firefox Sync アカウントを持っています] → [接続]
    下のほうのリンク、[他の Sync デバイスを持っていない]
    ■アカウント上記で追加したユーザのメールアドレス
    ■パスワード上記で追加したユーザのパスワード
    ■サーバ[独自サーバを使用する...] -> http://(サーバのアドレス)/weave/
    ■Sync キー適当に。他の場所で設定するときに同じものを使う。ってことを覚えておこう。
    [次へ] → [セットアップが完了しました] → [完了]

ねっ?カンタンでしょ?
これもメンドイって思った人は以下の方法で。

時短っ!


チマチマ手順踏むのんも面倒って人のための対話式スクリプトを作りました。
Download script

これをダウンロードして実行権限を与えた後、直接実行して使います。
前回までの流れで作った、ZBOX nanoに入れたUbuntu Serverではうまく動きました。
きっとUbuntuならうまくいくんじゃないでしょうか?保証できませんけどw

サーバー作るのもメンドクサイって?
だまらっしゃい!

iPhoneのFirefoxHomeでつながらないよ


Weave Minimal Serverのスクリプト書き換えが必要です。
※書いてます。待ってね。