StatusNetをイントラネットで動かす

StatusNetはオープンソースtwitterクローンです。

Status.net — Move Your Business Forward

おそらくインターネット上での稼動を前提にされているらしく機能が満載です... 満載すぎです。
なのでイントラネットで動かすにはいろんな機能を無効にする必要があります。

ので、その辺を... 書きます。

config.php (いろんなプラグインを無効にする)

$config['site']['timezone'] = 'Asia/Tokyo';
$config['site']['language'] = 'ja_JP';

$config['mail']['notifyfrom'] = 'Fromメアド';
$config['mail']['domain'] = 'ドメイン';
$config['mail']['backend'] = 'smtp';
$config['mail']['params'] = array(
        'host' => 'localhost',
        'port' => 25,
        );
$config['emailpost']['enabled'] = false;
$config['sms']['enabled'] = false;

$config['location']['share'] = 'never';
unset($config['plugins']['default']['Mapstraction']);

unset($config['plugins']['default']['FacebookBridge']);
unset($config['plugins']['default']['Geonames']);
unset($config['plugins']['default']['LilUrl']);
unset($config['plugins']['default']['OpenID']);
unset($config['plugins']['default']['OStatus']);
unset($config['plugins']['default']['PtitUrl']);
unset($config['plugins']['default']['RSSCloud']);
unset($config['plugins']['default']['SimpleUrl']);
unset($config['plugins']['default']['TightUrl']);
unset($config['plugins']['default']['TwitterBridge']);
unset($config['plugins']['default']['WikiHashtags']);

addPlugin('GroupPrivateMessage');
addPlugin('MobileProfile');
addPlugin('RequireValidatedEmail');

lib/default.php (マップ画面を非表示にする)

        'location' =>
        array('share' => 'never',
              'sharedefault' => false),

lib/language.php (jaの行を追加して日本語表示させる)

        'ja'      => array('q' => 0.5, 'lang' => 'ja', 'name' => 'Japanese', 'direction' => 'ltr'),
        'jp'      => array('q' => 0.5, 'lang' => 'ja', 'name' => 'Japanese', 'direction' => 'ltr'),

元々あるjpの行のコピペで大丈夫です。

メール投稿を行ないたい場合

正解は分かりませんが...
config.php

$config['emailpost']['enabled'] = false;

を書かないか、コメントアウトします。

・ scripts/maildaemon.php に実行権を与える
  $ sudo chmod +x maildaemon.php
phpのmailparseを入れる
  $ sudo apt-get install php5-dev
  $ sudo pecl install mailparse
  $ sudo echo 'extension=mailparse.so' > /etc/php5/conf.d/mailparse.ini
  $ sudo /etc/init.d/apache2 restart
・ lib/mailhandler.php をイジる

                // $msg = utf8_encode($msg);
                $msg = mb_convert_encoding($msg, "UTF-8", $parsed->ctype_parameters['charset']);

っであちこちにpostfixの設定例があるのですが... どうやらバーチャルドメインが必要な感じ。
ボクの環境ではバーチャルドメインの設定が(いろいろと)面倒なので、
発行されたメアドに対して、/etc/aliasesに

メアド: "|/StatusNet導入パス/scripts/maildaemon.php"

って個々に書いてます。


まぁ... これで何となく動いてます。

 Webやメールの日本語表記は必ずしも素晴らしくはありません...ので、これは頑張って下さい。
CentOSだと(確か)gettextのバージョンアップが必要だと思いました。
それが面倒なのでUbuntu 10.04.2で動かしてます。

補足

CentOS 5.6 + PHP 5.3環境下でも何となく動きました。

# yum -y install php53-cli php53-xml php53-devel \
php53-mbstring php53-common php53-ldap php53-bcmath \
php53 php53-odbc php53-mysql php53-gd php53-pdo \
php-pear httpd-devel ImageMagick ImageMagick-devel
# pear install -f PEAR-1.9.0
 ⇒ あえて最新の少し前のバージョンのPEARを導入
   (意味不明...)
# pear update-channels
# pear upgrade-all
# wget http://pecl.php.net/get/mailparse-2.1.5.tgz
# tar zxvf mailparse-2.1.5.tgz
# cd mailparse-2.1.5
# phpize --clean
# phpize
# ./configure
# make
# make test
# make install
 ⇒ /usr/lib/php/modules/mailpaese.so というファイルが出来る
# vi /etc/php.d/mbstring.ini ※最終行に以下(1行)を追記
 extension=mailparse.so
 ⇒ どうやら、mailparse.ini というファイル作成・記述してもダメで、
   mbstring.ini に追記するとモジュールが読み込まれるみたいです
   (少しだけ意味不明...)

# service httpd restart