Ushahidiセットアップ

危機情報の共有ソフト Ushahidiをセットアップしてみました。

環境

環境は以下のとおり。

項目 内容 備考
OS Ubuntu10.04 VMware環境
PHP 5.3.2-1ubuntu4.5 aptで入るバージョン
Mysql 5.1.41-3ubuntu12.6 aptで入るバージョン
Ushahidi 1.1.0 現時点(20101101)最新

参考情報

環境インストール

aptからインストール

sudo apt-get update

sudo tasksel install lamp-server
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mcrypt
sudo apt-get install php5-curl
sudo apt-get install php5-gd
sudo apt-get install php5-imap
sudo apt-get install php5-mysql

Forumを見ると「lamp-serverパッケージはバグがあるよ」っていう報告があるので、個別にいれたほうがよいのかも。

Ushahidiのtarを展開

cd /var/www
tar zxvf ushahidi.tgz
chown -R www-data.www.data ./ushahidi/*

mod_rewrite有効化、sites-enabled登録

参考ページのとおり。

a2enmod rewrite
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ushahidi
vi /etc/apache2/sites-available/ushahidi
  →編集内容は、上記の参考情報を参照
a2dissite default
a2ensite ushahidi

インストーラからお手軽版セットアップ

展開したディレクトリへブラウザでアクセスすると、対話形式でインストールが開始されます。
Mysqlのユーザ名やテーブル名、パスワード、サイトの名前などを入力して「OK」ボタンで、勝手にテーブルも作ってくれるのでラクチン。


インストーラの一番最初でディレクトリのパーミッション確認が行われるので、httpdのユーザが所有権を持っているか、確認すること。
あと、.htaccessファイルが無ければ、touchなどして作成。

管理アクセス

インストール先のディレクトリ配下の、adminディレクトリにアクセスすると、管理アクセスになります。


http://localhost/admin/


デフォルトのユーザ名とパスワードは以下のとおり。

  • ID: admin
  • Pass: admin

Mapの設定

Google APIの設定

管理画面右側の"Setting"→"Map"をクリックして、GoogleAPI keyを入力。


API keyの入手は「Google Maps API に登録する」から。
(Ushahidiページ内にも書いてあるとおり)

Mapのデフォルト地域の設定

同じく"Setting"→"Map"の右側にある地図を選択して、ページ表示時のデフォルトの表示位置を設定。

送信メール設定

設定ファイルは以下。

[ushahidiインストール先]/application/config/email.php

3種類の方法のどれかから指定します。


gmailSMTPを使いたい場合は、email.phpを以下のように設定。

$config['driver'] = 'smtp';
$config['options'] = array( 'hostname' => 'smtp.gmail.com',
'username' => 'ユーザ名',
'password' => 'パスワード',
'port' => '465',
'encryption' => 'tls'
);

ついでに、PHP5.3以降を使う場合、Swift.phpを修正。
スクリプト内で使われている split関数はdeprecatedですよ、というエラーが出てきて動かない機能があります。(具体的には、arrayを扱う時)

エラー内容
PHP Deprecated: Function split() is deprecated
修正内容
vi [ushahidiインストール先]/system/vendor/swift/Swift.php

・277行目を修正
//      $attributes = split("[ =]", $extension); ←コメントアウト
      $attributes = explode("[ =]", $extension); ←追加

Gmailからのメールインポート

"Setting"→"email"から設定する。


Google Appsをつかうなりして、専用のアカウントを使ったほうがよさそう。

使い方とか

次項に続きます。