*

CakePHPディレクトリを他サーバに移転する際に困ったこと

この記事の所要時間:約4分40秒

PAK57_ichigonocake500

まだ解決できていないが、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―映像処理&解析”]

関連記事

Postfixの本をちまちま読んでいる

メールサーバはできているものの、OP25Bを乗り越えるのがうまく行かず、メールの送信だけができない状

記事を読む

http://www.centos.org/

Cent OSサーバを1から再構成しなおした。

リストアしちゃいました。 再構成するきっかけになったのは、/パーティションをなんと2GBしかと

記事を読む

no image

/var/log/clamav/freshclam.logの所有権がなぜか変わってしまう問題

深夜3時ごろに、Cron Daemonからこういうメールが送られてくる。 ERROR: P

記事を読む

DiCEの設定の仕方まとめ

DDNSを利用している皆さんはいつもお世話になるであろう、自動IP通知ツールDiCEの登録の一部始終

記事を読む

no image

外付けHDDを起動時に自動マウントする

  前エントリでフォーマットからマウントまでやったが、自動マウントの設定を忘れていた

記事を読む

no image

自前のDropbox、ownCloudをインストールしてみる

自前のサーバを用意したら、ファイルサーバを作ってみたいと思うもの。 そこでなんと、ownClo

記事を読む

no image

LPICレベル1の勉強をし始めたらわりと面白い

Max Linux Penguin / oddsock Linuxについてもっとちゃんと体

記事を読む

no image

/tmp/orbit-ユーザ名以下の謎のファイルが/tmpパーティションを圧迫する問題

これも以前から解決していなかった問題。tmpwatchの設定を変更することで解決した。 cronか

記事を読む

no image

Apacheの起動が失敗する

ブログの重さが改善されるかと思いapacheのKeepAliveをonにして、restart。 し

記事を読む

NVR500にプロバイダの固定IPサービスを設定する手順

ついに私も、固定IPサービスを使うことにしました。ルータへの設定で若干詰まったのでメモ。自鯖

記事を読む

ブログを移行しました

新しいブログはこちら http://queryok.ikuwow.co

ChefとAnsibleの比較 〜Ansibleはじめました〜

今まで個人のMacの環境構築には、Brewfileなるものを作成してい

no image
モチベ低い大学院生でも院進学で得られたもの

つい今月の頭に修士論文を提出して、長いプレッシャーから解放されました。

Apple Thunderbolt Displayを使って30分で理解した利点3つ

今まで研究室ではMac ProとDellのちゃちな21インチモニタで作

ニコニコ動画の動画上部のニュースを非表示にするSafari機能拡張

作りました。 HideNicoVideoNews http:/

→もっと見る

PAGE TOP ↑