8月 19
Twitter Client Ranking by Streaming APIの構成は、
PHP5.3.3(with APC) + MongoDB1.6.1 + Apache2.2.3で、フレームワークにsyfmony1.4.6を利用しています。この構成が動く最低限の環境を構築した際のメモです。
さくらのVPSはサービスはほとんど入っていませんでしたが、gccやautoconfは既に入っていました。
#Apache
sudo yum install httpd.x86_64
#PHPのコンパイルに必要(パラメータによる)
sudo yum install httpd-devel.x86_64
sudo yum install libxml2-devel.x86_64
sudo yum install openssl-devel.x86_64
sudo yum install curl-devel.x86_64
#最新版PHP取得→コンパイル→インストール
wget http://ve2.php.net/get/php-5.3.3.tar.gz/from/jp2.php.net/mirror
tar vfxz php-5.3.3.tar.gz
cd php-5.3.3
./configure \
--enable-mbstring \
--with-apxs2=/usr/sbin/apxs \
--with-curl \
--with-openssl \
--with-config-file-path=/etc \
--enable-dom \
--with-libdir=lib64
meke
sudo make install
#symfonyのインストール
sudo pear channel-discover pear.symfony-project.com
sudo pear install symfony/symfony
#PHP拡張のインストール
sudo pecl install apc
sudo pecl install mongo
#PHP拡張の反映
sudo vi /etc/php.ini
extension = mongo.so
extension = apc.so
apc.enabled=1
PHPもRemiのリポジトリを利用すると簡単に最新版がインストールできますが、cli版がバックグラウンドで実行できない不具合があるのでソース版を利用しました。
参考
MongoDBをインストール
下記URLを参考にMongoDBのリポジトリを設定してインストールします。
参考:CentOS and Fedora Packages
sudo vi /etc/yum.repos.d/10gen.repo
[10gen]
name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/centos/5.4/os/x86_64/
gpgcheck=0
sudo yum install mongo-stable* --enablerepo=10gen
最新のstableバージョン1.6.1がインストールされます(2010年8月19日現在)。デフォルトの設定は以下の通りです。
設定ファイル:/etc/mongod.conf
ログファイル:/var/log/mongo/mongod.log
データディレクトリ:/var/lib/mongo/
起動は起動スクリプトでOK
sudo /etc/init.d/mongod start
Tagged with: apache • CentOS • MongoDB • PHP5.3 • symfony • Twitter Streaming API • さくらのVPS
12月 08
『yubitter』という携帯電話向けのTwitterクライアントサービス(ゲートウェイ)をsymfonyで作りました。(サービスの詳細はリンク先でご確認下さい。)

cloudrop発のアウトプットとして開発に取り組んだもので、初めてのリリースとなります。
タイトルにはsymfonyと書きましたが、開発には数多くのオープソースソフトウェアのお世話になっています。
できる事ならyubitterもソースを公開したいのですが、利用しているライブラリのライセンスの確認、環境依存部分の抽象化、symfony1.4系への対応、ドイヒーなコードの修正などを行う必要があり、今は難しいところです。
最終的にはそういう諸々を乗り越えての公開を目指して行きたいと思っています。
事実上のモバイル向けクライアントの標準であるモバツイッターや、多機能でアジャイルなMovatter、さらには公式の携帯版がある中で、いまさら感の否めないサービスですから、サービス自体による貢献というよりも、サービスやシステムの内部を公開することによる貢献を目指していくつもりです。
そういう意味でも、開発・運用をするにあたっての裏話はどんどん公開していきたいと思います。
もちろん、魅力のないサービスは、システムとしても魅力がないのと同じなので、
サービスとしておざなりにするということではありません。
サービスに関する質問や不具合の報告などは、Twitterで受け付けております。
お気軽にお問い合わせください。(@ms76)
最後に、利用させていただいているサービスやソフトウェアを紹介いたします。(順不同)
この場を借りて、感謝いたします。ありがとうございます。
インフラ
Rackspace Cloud Servers
Webサーバー、アプリケーションサーバー、DBサーバー、セッションサーバーとして利用。
Amazon S3
メールによる写真アップロードを受け取るストレージサーバーとして利用。
Amazon CloudFront
ストレージサーバーのフロントエンドとして利用。
OS・サーバー・ミドルウェア
CentOS 5.3
Rackspace Cloud Serversにて標準で選択できるOSを利用。
Apache 2.2.13、PHP 5.3.0
Webサーバー、アプリケーションサーバー(mod_php)として利用。
MySQL 5.0.77
DBサーバーとして認証用ユーザー情報、設定情報などの保存に利用。
Squid 2.6.STABLE21
外部API接続時のプロキシキャッシュサーバーとして利用。
Postfix 2.3.3
メール投稿、メール登録、メール送信時のメールサーバーとして利用。
flare 1.0.8
セッションサーバーとして利用。
PHP、PEARライブラリ
symfony 1.2.10
Webフレームワークとして利用。
携帯向けに下記プラグインを利用。
Mail_Mime 1.5.2、Mail_mimeDecode 1.5.1
受信したメールの処理に利用。
Net_IPv4 1.3.1
IPアドレスが特定のネットワークアドレスの範囲にあるかどうかの計算に利用。
Net_UserAgent_Mobile 1.0.0
携帯電話のUser Agentの取得に利用。
Amazon S3 PHP class 0.4.0
Amazon S3 APIとの通信に利用。
qdmail 1.2.6b
メール送信に利用。
Twitter APIのOAuth認証に利用。
QRcode image PHP scripts version 0.50g
QRコード生成に利用。
HTML_CSS_Mobile
外部CSSをインラインCSSに変換する際に利用。
Tagged with: symfony • Twitter • yubitter • オープンソース