先日からPHPをCGIとして動かしていますが、せっかくなのでFastCGIの設定までやることにしました
FastCGIとは、CGIのプロセスをメモリ上に残しておくことで起動の遅いCGIプロセスを高速に実行出来るようにするCGIの動作仕様の1つです
FastCGI - Wikipedia
今回は解説サイトに従って簡単に設定出来ました
参考にしたのはこちら
Apache/FastCGI - Linux Tips
なんとなくfastcgiよりfcgidのほうが良さそうだったのでfcgidを入れました
必要なかった手順もあるので簡単にまとめておきます
Debian lennyの場合
BASH:
-
# aptitude install libapache2-mod-fcgid
-
# a2enmod fcgid
-
# vim /etc/apache2/sites-available/your-profile
-
-------------------------------------------------------------
-
PHPを使用するVirtualHostの設定ごとに以下を追記
-
<IfModule mod_fcgid.c>
-
AddHandler fcgid-script .php
-
<Directory "/path-to-your-php-script-dir">
-
FCGIWrapper /usr/bin/php-cgi .php
-
-
Options +ExecCGI
-
AllowOverride All
-
Order allow,deny
-
Allow from all
-
</Directory>
-
</IfModule>
-
-------------------------------------------------------------
-
# /etc/init.d/apache2 restart
ps ax | grep php-cgi
としてプロセスが存在すれば多分有効になっているんじゃなかろうか
#fcgid入れる前に試してないので良くわからない;
apache, php
何でこんなことになったのか…
ふとML115のApache2を見ると、それはpreforkだった
preforkはシングルスレッドで動作するモードだ
マルチスレッドの方がパフォーマンスいいんだからそっちを入れよう!
マルチスレッドに対応しているのはworkerなのだが、これにmod-phpが対応していないらしく、
workerを入れたらpreforkと一緒にmod-phpが消されてPHPが動かなくなった
かくして、仕方なくphp-cgiの設定をする羽目になったのである
ネットを彷徨っても断片的な設定しかなく、本当に辛かった
とりあえず自分が設定した内容をまとめておく
更新中は500エラーを返すなど、酷いことになっていたかと思います
申し訳ございませんでした
Debian lennyの場合
BASH:
-
# aptitude install php5-cgi apache2-mpm-worker
-
# a2enmod cgid
-
# a2enmod actions
-
# vim /etc/apache2/conf.d/php-cgi.conf
-
--------------------------------------------------------
-
下記内容で保存
-
<IfModule modactions.c>
-
Action application/x-httpd-php /cgi-bin/php5
-
</IfModule>
-
--------------------------------------------------------
-
-
ここまでの作業は
-
# gunzip /usr/share/doc/php5-cgi/README.Debian.gz
-
# less /usr/share/doc/php5-cgi/README.Debian
-
の内容を参照されたし
-
-
# vim /etc/apache2/sites-available/your-profile
-
--------------------------------------------------------
-
<VirtualHost *80>
-
~省略~
-
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
-
<Directory "/usr/lib/cgi-bin">
-
AllowOverride None
-
Options ExecCGI -MultiViews +FollowSymLinks
-
Order allow,deny
-
Allow from all
-
</Directory>
-
</VirtualHost>
-
--------------------------------------------------------
-
# /etc/init.d/apache2 restart
疲れた
apache, php
PHP(というかWordPress)高速化のためにAPC(Alternatice PHP Cache)入れた - IDEA*IDEA ~ 百式管理人のライフハックブログ ~
こちらに倣ってAPCを入れました
その作業ログ
1.php5-dev,php-pearを入れる
2.pecl install apc
3.php.iniにextension=apc.soを追記
でphpinfo()で確認すれば完了です

apc_installed
php
現在公開されているCakePHP1.2RC3では標準でユーザー認証を行うためのコンポーネントが付属しています
ログインの処理が空のloginメソッドを用意するだけで良いなど、かなり楽になりそうだったので使ってみることにしました
その際に詰まった点としてパスワードのバリデーションが挙げられます
デフォルト設定のAuthComponentではどうやらモデルにデータが渡った時点でパスワードがハッシュ化されているらしく、
betweenやalphaNumericなどのバリデーションを通過出来ません;
そこでコミュニティで紹介されていた記事を参考にしたところ上手く行ったのでうちでも紹介させて頂きます
コミュニティの紹介記事がこちら
"AuthComponentの注意点" フォーラム - CakePHP Users in Japan
実際の記事がこちら
Introduction to CakePHP features (build an app in less than 15 minutes) « nuts and bolts of cakephp
非常に参考になり、バリデーションも上手く行きました!
CakePHP, php
Open Source PHP | OpenMicroBlogger
オープンソースで開発されているマイクロブログ
マイクロと言ってもtwitterほどシンプルではなく、タグ付けやファイルのアップロードといった機能もあり、どちらかと言うと普通のblogっぽいです
インストールしていないので日本語が通るか分かりませんが、中々シンプルで使い易そうです
twitterのfollowみたいな機能があるのか気になりますね
#subscribeという機能がそれっぽいですね、タイムライン状に表示されるのかは分かりませんが
OpenSource, php