CakePHPディレクトリを他サーバに移転する際に困ったこと
この記事の所要時間:約4分40秒
まだ解決できていないが、CakePHPで作ったアプリケーションを別のレンタルサーバーに移転したため、その時にやらなきゃならなかったことなどをまとめる。
公式ページからダウンロード出来る「cakephp」という名前のフォルダ全体がCakePHPで、通常はそのフォルダ名をそのアプリケーション名とかに変えて、ドキュメントルートに設置したりする。
サーバの移転となると、とりあえずは移転先のサーバにそのcakephpのディレクトリをコピーする。これでcakephp内の全てのデータや設定は移動できたことになる。しかしそれはcakephpの中だけの話で、そのcakephpが存在する環境がきちんとされているかどうかは別の問題。そのあたりをちゃんとセッティングしないといけない。
データベースのデータ
CakePHPディレクトリの外に保存してあるデータはもちろんCakePHPディレクトリのコピーではもっていけないので、別にデータベースを移転する必要がある。
「データベース」そのものはMySQLだとmysqldumpなんかでクエリに出力してもっていける。しかしインストール直後のMySQLなんかだとrootのパスワードを設定したり、ユーザ名とパスワードをきちんとcakephp/app/Config/database.phpを見て同じように作らなきゃいけない。
必要なライブラリ等のインストール
新しく借りたサーバに移転したけどうまく動かないという場合は、だいたいインストールしておくべきものが入っていないことが多い。PHPやApacheやMySQLなんかはyum installしてしまえばいいが、php-mysqlやphp-mbstringなどは忘れがち。入れるものは全部入れたと思っていたけど見落としていたというパターンが多い。
このパターンだと厄介なことにエラーメッセージが出ないというパターンも起こりうる。以前にWordPressを移転させた時、著しくレイアウトが崩れたが、何もエラーメッセージが出ない。なにかと思ってプラグインを全て解除したあと、一つずつプラグインを有効にしていった。そしてWP Multibyte Patchを有効にしようと思った時にやっとエラーがでる。mbstringが入っていなかったのだ。
ファイルの所有権
コピーしたファイルの所有権が狂っている可能性も非常に多い。この場合はPermission deniedがでて気づきやすい。chown -R apache.apacheするとすぐに直る。
厄介なのはSELinuxが引っかかった場合。これはrestoreconを使ってガーッとファイルごとのSELinuxの設定を直してやればいいのだが、非常に気づきにくい。多くのLinuxの本に「まずSELinuxを無効にしましょう」と書かれていることも頷ける。扱いが難しいんですね。
Apache・PHPの設定
Apacheの設定だとAllowOverride をAllにするあたりが大事だろうか。これをしておかないと.htaccessが働かず、cakephpの実によく出来たルーティングが動いてくれない。
PHPの設定ファイルはCent OSの場合は/etc/php.iniで、CakePHPに関してはタイムゾーンの設定はとりあえず必須だったりする。cakephp/app/Config/routes.phpでデバッグのところを1にしておくと、ブラウザでドキュメントルート直下のcakephpディレクトリに直接アクセスしたときに現れるページにガンガンWarningが出る。
バイナリファイルはコンパイルしなおさないといけないかも
その移動させたアプリケーションにはOpenCVで画像処理をする部分があるのだが、どうも移転後にそこがうまく動かず、ログを見るとcore dumpする。OpenCVはきちんと落としてきてビルドしたし、パスもきちんと通したので、環境は問題ないはず。おそらく、移動元と移動先のCPUのアーキテクチャの違いかなんかで、そのままでは動かないのかも。
まだこの問題は解決できていなくて焦っているので、何か心当たりのある方がいたら教えていただきたいですm(_ _)m
[amazonjs asin=”4877831843″ locale=”JP” title=”実践OpenCV 2.4―映像処理&解析”]
関連記事
-
CentOS6.4でホスト名・ドメイン名の変更に伴う諸々の設定変更
以前に新しいドメインikuwow.comを取得して、とりあえずサブのアドレスとしてホームページに飛ん
-
新サーバにMaildirディレクトリを移動させたときのトラブル
サーバを作りなおした件で、Postfix・Dovecotサーバもリストアしました。 新サーバで
-
NVR500にプロバイダの固定IPサービスを設定する手順
ついに私も、固定IPサービスを使うことにしました。ルータへの設定で若干詰まったのでメモ。自鯖
-
MacやLinuxのシェルで使えるショートカットたち
Macでは「ターミナル」、GUIのLinuxでは「端末」と呼ばれているアレです。 個人
-
USB外付けHDDをext4にフォーマットする手順
前エントリの玄人志向のHDDケースを買った。で出来上がった外付けHDDをフォーマットして、Cent
-
/tmpパーティションの領域の拡大をしてみる
今回拡大するのは/tmpパーティション。学校のデータベースの講義でDB2 express-cを使うか
-
YAMAHAのルータ NVR500を買った。
前からIO-DATAの無線LANルータWN-G300DGRの調子が悪かったので、買っちゃった
-
外付けHDDを起動時に自動マウントする
前エントリでフォーマットからマウントまでやったが、自動マウントの設定を忘れていた
-
Twitterbotのlogファイルの肥大化を防ぐためのlogrotateの設定
abrAsus 保存するメモ帳 / ytoApple信者の毒舌な妹botはcronで定期的にphpを
-
LPICレベル1の勉強をし始めたらわりと面白い
Max Linux Penguin / oddsock Linuxについてもっとちゃんと体