スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
タグ :

アクセス解析OSSの「snowfinch」をインストール 続き

 2011-06-19
アクセス解析OSSの「snowfinch」をインストールの続きです。

前回の続き


前回はDB初期化で失敗していましたが、理由は簡単でした。
DBが起動していませんでした。

以下でmongodbを起動させます。

$ sudo /etc/init.d/mongod start


さらにPostgraySQLも起動させます。
$ sudo /etc/init.d/postgresql initdb
データベースを初期化中: [ OK ]
$ sudo /etc/init.d/postgresql start
postgresql サービスを開始中: [ OK ]


前回失敗したセットアップです。
$ rake db:setup
(in /home/mikky3/app/snowfinch)
db/test.sqlite3 already exists
db/test.sqlite3 already exists
db/development.sqlite3 already exists
db/development.sqlite3 already exists
-- create_table("sensor_hosts", {:force=>true})
-> 0.5275s
-- add_index("sensor_hosts", ["sensor_id"], {:name=>"index_sensor_hosts_on_sensor_id"})
-> 0.0064s
-- create_table("sensors", {:force=>true})
-> 0.0096s
-- add_index("sensors", ["site_id"], {:name=>"index_sensors_on_site_id"})
-> 0.0066s
-- create_table("sites", {:force=>true})
-> 0.0090s
-- create_table("users", {:force=>true})
-> 0.2689s
-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true})
-> 0.0081s
-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true})
-> 0.0086s
-- add_index("users", ["unlock_token"], {:name=>"index_users_on_unlock_token", :unique=>true})
-> 0.0098s
-- initialize_schema_migrations_table()
-> 0.0193s
-- assume_migrated_upto_version(20110410155204, "db/migrate")
-> 0.0427s

無事テーブルが作成されました。



次にsnowfinchを動かすためにPassengerを使用します。
まずはインストールします。
$ gem install passenger

次にApacheが必要とするモジュールをインストールします。
$ sudo passenger-install-apache2-module

Welcome to the Phusion Passenger Apache 2 module installer, v3.0.7.

This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.

Here's what you can expect from the installation process:

1. The Apache 2 module will be installed for you.
2. You'll learn how to configure Apache.
3. You'll learn how to deploy a Ruby on Rails application.

Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.

Press Enter to continue, or Ctrl-C to abort.


--------------------------------------------

Checking for required software...

* GNU C++ compiler... found at /usr/lib/ccache/g++
* Curl development headers with SSL support... found
* OpenSSL development headers... found
* Zlib development headers... found
* Ruby development headers... found
* OpenSSL support for Ruby... found
* RubyGems... found
* Rake... found at /usr/local/bin/rake
* rack... found
* Apache 2... found at /usr/sbin/httpd
* Apache 2 development headers... not found
* Apache Portable Runtime (APR) development headers... not found
* Apache Portable Runtime Utility (APU) development headers... not found

Some required software is not installed.
But don't worry, this installer will tell you how to install them.

Press Enter to continue, or Ctrl-C to abort.


親切なことに、必要なライブラリやヘッダーがあるか調べてくれます。今回は3つあります。

fedoraなのでyumで解決させます。
$ sudo yum install libapreq2-devel

今回はこれで他の2つも解決します。

またインストールにチャレンジです。
$ sudo passenger-install-apache2-module
・・・

Checking for required software...

* GNU C++ compiler... found at /usr/lib/ccache/g++
* Curl development headers with SSL support... found
* OpenSSL development headers... found
* Zlib development headers... found
* Ruby development headers... found
* OpenSSL support for Ruby... found
* RubyGems... found
* Rake... found at /usr/local/bin/rake
* rack... found
* Apache 2... found at /usr/sbin/httpd
* Apache 2 development headers... found at /usr/sbin/apxs
* Apache Portable Runtime (APR) development headers... found at /usr/bin/apr-1-config
* Apache Portable Runtime Utility (APU) development headers... found at /usr/bin/apu-1-config


--------------------------------------------
The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
PassengerRuby /usr/local/bin/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

Press ENTER to continue.

--------------------------------------------
Deploying a Ruby on Rails application: an example

Suppose you have a Rails application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:

<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
<Directory /somewhere/public>
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
</Directory>
</VirtualHost>

And that's it! You may also want to check the Users Guide for security and
optimization tips, troubleshooting and other useful information:

/usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/doc/Users guide Apache.html

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
http://www.modrails.com/

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.

途中でEnterを押して勧めます。

その途中でhttpd.confに追加する設定が出てくるので追加します。

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
PassengerRuby /usr/local/bin/ruby

今回はこれになります。

あとはバーチャルホストを使うなりして、snowfinchのpublicを指定します。

<VirtualHost *:8081>
DocumentRoot /home/mikky3/app/snowfinch/public
<Directory /home/mikky3/app/snowfinch/public >
AllowOverride all
# Options -MultiViews
RailsEnv development
</Directory>
</VirtualHost>

今回はこんな風にしました。
今回は8081ポートを使用しています。あと/home以下を指定する場合は、読み取れるよう権限も忘れず付与して下さい。

それと、developmentで実行しています。どうもprductionは上手くいかなかったので。
そのためsnowfinchの設定も変えておきます。
snowfinchディレクトリ/config/snowfinch.yml
development:
host: "192.168.0.8:8081"
collector_uri: "http://192.168.0.8:8081/collector"
mount_collector: true
mailer_sender: "snowfinch@example.com"
mongo_database: "snowfinch"

初期設定だと3000ポートになっていますが、snowfinchが動いているポートにします。



サイト設定



指定のアドレスとポートでアクセスすると以下の画面が表示されます。
snowfinch_01_signin.png
メールとパスワードは変えてないので以下の通りです。

Email: user@snowfinch.net
Password: snowfinch


ログイン後の画面は以下になります。
snowfinch_02_top.png
Add Siteで追加します。

snowfinch_03_add_site.png
サイトの名前と時間は適宜指定してください。

snowfinch_04_added_site.png
トラッキングコードが発行されるので、解析したいサイトの
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
後に追記します。

試しに2回アクセスしてみた結果が以下になります。
snowfinch_05_view_log.png
アクティブユーザ(どうやら見ているとき時間のUU)とPVとUUなのでとてもシンプルです。

それとアクセスするとすぐに結果が反映されます。これがどうやらリアルタイム解析の根拠ですね。
以下が試しに3回アクセスした結果です。
snowfinch_06_realtime.png


仕組みはどうなっているのか気になるので、
次回はソースコードを読みながら仕組みを理解したいと思います。
スポンサーサイト
タグ :
コメント












管理者にだけ表示を許可する
トラックバック
トラックバックURL:

http://mikky3.blog40.fc2.com/tb.php/153-62e00c0f

≪ トップページへこのページの先頭へ  ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。