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ディレクトリにアクセスすると、管理アクセスになります。
デフォルトのユーザ名とパスワードは以下のとおり。
- ID: admin
- Pass: admin
Mapの設定
Google APIの設定
管理画面右側の"Setting"→"Map"をクリックして、GoogleのAPI keyを入力。
API keyの入手は「Google Maps API に登録する」から。
(Ushahidiページ内にも書いてあるとおり)
Mapのデフォルト地域の設定
同じく"Setting"→"Map"の右側にある地図を選択して、ページ表示時のデフォルトの表示位置を設定。
送信メール設定
設定ファイルは以下。
[ushahidiインストール先]/application/config/email.php
3種類の方法のどれかから指定します。
gmailのSMTPを使いたい場合は、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); ←追加
使い方とか
次項に続きます。