*

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―映像処理&解析”]

関連記事

ドメインを取得してとりあえず使えるようにする手順

ドメイン名。ウェブページの顔ですね。ちょっとネットワークに詳しい人なら結構意識していると思います。

記事を読む

OP25Bを越えてメールの送信を可能にする手順

やっと出来るようになりました。この本のお陰ですほんとに。 送信関連でやったことは、SM

記事を読む

no image

MySQLからツイートを選択してツイートするPHPコード

Twitter escultura de arena / Rosaura Ochoa Ap

記事を読む

no image

Twitterで自動フォロー返しをするPHPコード

Apple信者の毒舌な妹botで使用している自動フォロー返しのコードをメモ。前提は Githu

記事を読む

no image

Postfixに新規ユーザを追加する場合の手順

送受信どちらも問題なくできるようになり、ひとまず安心。 サブで使ってるユーザアカウントの方のア

記事を読む

no image

WordPress記事にツイートを埋め込むテスト

なんとWordPressでは何もプラグインを導入しなくても、デフォルトでTwitterのツイートを貼

記事を読む

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

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

記事を読む

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

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

記事を読む

メールサーバが少しできた。

いよっしゃああああああ!!!! 受信だけは問題なくできるようになりました。受信だけです

記事を読む

no image

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

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

記事を読む

ブログを移行しました

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

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

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

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

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

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

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

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

作りました。 HideNicoVideoNews http:/

→もっと見る

  • follow us in feedly
PAGE TOP ↑