蝶のように舞い、蜂のように刺す動画
http://anond.hatelabo.jp/20090428143426
2分過ぎた辺りから試合が始まる。
恥ずかしいフレーズが大袈裟じゃないくらい全然パンチが当たんないし、パンチが速くて強烈。
CakePHPをインストール
まずは公式サイトからCakePHPをダウンロード&解凍。
インストール方法が開発と運用と応用の3パターンあったのでいきなり応用で試してみたら見事に玉砕。
仕方なく開発→運用→応用と順番に入れ替える作戦に変更。
開発と運用の差はDocumentRootの設定だけみたい。
こちらは難なく動いた。
さて問題の応用インストール。
とりあえずコアライブラリを移動
/var
インストール直後の状態からappフォルダ以外を/usr/lib64へ移動。
/usr
/var
- /www
- /cake_app
- /webroot
階層が変わったのでDocumentRootを変更し、webroot直下のindex.phpを修正。
define('ROOT', DS.'var'.DS.'www'); define ('APP_DIR', 'cake_app'); define('CAKE_CORE_INCLUDE_PATH', DS.'usr'.DS.'lib64'.DS.'cake_core'.DS);
ここまでは大丈夫。
アプリフォルダの場所変更
cake_app内でwebroot以外を場所homeディレクトリへ移動。
/home
- /me
- /cake_app
/usr
- /lib64
- /cake_core
/var
- /www
- /webroot
またまた階層が変わったのでDocumentRootを修正して、webroot直下のindex.phpを修正。
define('ROOT', DS.'home'.DS.'me');
この変更で画面真っ白け。
てことはアプリフォルダの設定がまずいみたい。
調べてみたら/home/meのパーミッションがme以外のユーザーが参照できないようになってたので、
PHPからでも参照できるようにパーミッションを変更。
これで無事インストール完了。
SliceHostにmemcachedをインストール
キャッシュは今までPEARのCache_Liteを使ってたけど、メモリを使ったmemcachedの方がよさげなので一応インストール。
サーバサイドに常駐するmemcachedと、PHPからキャッシュ操作を行うPECLのMemcacheが必要。
memcachedはlibeventというライブラリを使用しているので、まずはlibeventをインストール
yum install libevent-devel
memcachedはyumでインストール出来ないので、コンパイルしてインストールする。
バージョンは1.2.8を選択。
wget http://www.danga.com/memcached/dist/memcached-1.2.8.tar.gz tar zxvf memcached-1.2.8.tar.gz cd memcached-1.2.8 ./configure make make install
特に問題なくインストール終了。
memcachedを起動しておく。
rootで操作していたので、-u nobodyを付けて実行。
memcached -d -m 64 -p 11211 -u nobody
次にPECLのMemcacheをインストール
pecl install memcache
php.iniにextension=memcache.soを追加して再起動。
また例によってインストールしたのにPHP側が認識しない。
最初にyumでphp-pecl-memcacheとかインストールしたせいだろうか。
消したり入れ直したりしてたらようやく動いた。
php-pecl-memcacheはいらないみたい。
参考ページ:
・PHP: Memcache - Manual
・memcachedをインストールしphpから使用する - 適当な日々
SliceHostにTritonnをインストール
MySQLを入れたけど日本語で全文検索したいのでTritonnに差し替えてみた。
OSはCentOS 5.3。
RPMでのインストールを解説していたページがあったのでそれを参考に、tritonn-1.0.12-mysql-5.0.67をインストール。
Tritonnのインストールが無事終了したのは良いけど、php-mysqlがインストールできなくて困った。
conflictsって出てるからTritonnで入れたmysql-serverと衝突してるっぽい。
バージョン下げたりしても全然ダメ。
もうこりゃお手上げかなーって思ったら、自分のサーバ環境と違うパッケージをインストールしてた。
そりゃ衝突するわ。。。ちゃんとしたパッケージを入れ直したら衝突することなくインストール完了。
日本語で全文検索を試したらバッチリ動いた。2日も悩んだよ。。。
参考ページ:
・やすみやすみ 技術編: Tritonn (MySQL with Senna, MeCab) を CentOS 5.2 にインストール
SliceHostにPECLインストール
とりあえずImageMagickとHTTPRequestをインストール。
peclコマンドでインストールしようと思ったらnot found。
PEARを入れてなかったのが原因みたい。てことでまずはPEARをインストール。
yum install php-pear
peclコマンドでimagickをインストールしてみるとメモリ絡みでエラー。
どうやらメモリが確保できてないみたい。
php.iniでmemory_limitを修正しても何故か効かない。
調べてみると、iniファイルを変更してもダメな時は直接ini_setでmemory_limitを設定するといいみたい。
てことでpearcmd.php内に
ini_set('memory_limit', '16M');
を追加。
メモリエラーは回避したけどImageMagickが足りないみたい。
yumコマンドでImageMagickをインストール。
yum -y install ImageMagick-devel
これでインストール成功。
php.iniにextension=imagick.soを追加したら無事完了。
と思ったらphpinfo()で確認してもImageMagickが入ってない。
peclコマンドで確認するとインストールは出来てるっぽいけど、PHP側がロード出来てないのかな。
とりあえずimagickのバージョンを2.2.2から2.2.1に落としたら認識した。
PHP5.2.6でimagick2.2.2は使えないのかな〜
続いてHTTPRequestをインストールしてみると何やらいろいろ足りない模様。
zlib-develとcurl-develが足りないようなのでyumコマンドでインストール。
再度HTTPRequestをインストール。
インストールが出来たらphp.iniにextension=http.soを追加でこちらは無事完了。
参考サイト:
・PECLコマンドが成功するまでのエラー解決備忘録(imagick編) : うえちょこ@ぼろぐ
・PHPのHTTPRequestクラスを入れるのに一苦労
SliceHostに乗り換えてみる
root権限が欲しくて手頃なVPSを探していたら、SliceHostが引っ掛かってきたので登録してみた。
さくらでも良かったけどトラブルあったり、何かと制限あるからね。。。
・Sign Up // Slicehost
アカウント登録
とりあえず一番安い「256 slice」を選択。
メモリ256MB、ディスク10GBで20$。
転送量が100GB制限らしいけどそこまで規模はないので多分大丈夫。
サーバ周りの設定
こちらのサイトを参考にセットアップ。
・it : CentOS5 on SliceHost - 02 - 構築の準備とログイン
Apache、PHP、MySQLのインストール&設定まで丁寧に説明されてて、
あまりトラブルことなく無事MySQLの設定まで完了。
はまったところをメモ。
パスワード無しでのログイン
Windowsユーザーなもので、PuTTYを使用するため、
鍵の作成がちょっと違う。
PuTTYでパスワード無しのログインをやるにはこちらを参考に設定。
・PuTTY で鍵交換方式による SSH 接続
最新版PHPのインストール
こちらのサイトを参考にインストール。
・CentOS5にPHP5.2.5を割と簡単にアップデートする方法みーっけ★ - GuinEa Pig
いきなりApacheが動かなくなって焦った。
何故かリロードコマンドが失敗する。。。
仕方ないので
yum remove php
で一度PHPを削除して入れ直し。
再度リロードするも失敗。
頭に来たからリスタートに変えたら成功。
どうもApacheが動いていなかっただけみたい。
MySQLルートパスワードの設定
上手くいかなかったのでマニュアルから参照。
・MySQL :: MySQL 5.1 リファレンスマニュアル :: 2.10.3 最初の MySQL アカウントの確保
SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');