*

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

関連記事

CentOS6.4でホスト名・ドメイン名の変更に伴う諸々の設定変更

以前に新しいドメインikuwow.comを取得して、とりあえずサブのアドレスとしてホームページに飛ん

記事を読む

no image

新サーバにMaildirディレクトリを移動させたときのトラブル

サーバを作りなおした件で、Postfix・Dovecotサーバもリストアしました。 新サーバで

記事を読む

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

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

記事を読む

MacやLinuxのシェルで使えるショートカットたち

Macでは「ターミナル」、GUIのLinuxでは「端末」と呼ばれているアレです。 個人

記事を読む

no image

USB外付けHDDをext4にフォーマットする手順

前エントリの玄人志向のHDDケースを買った。で出来上がった外付けHDDをフォーマットして、Cent

記事を読む

no image

/tmpパーティションの領域の拡大をしてみる

今回拡大するのは/tmpパーティション。学校のデータベースの講義でDB2 express-cを使うか

記事を読む

no image

YAMAHAのルータ NVR500を買った。

前からIO-DATAの無線LANルータWN-G300DGRの調子が悪かったので、買っちゃった

記事を読む

no image

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

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

記事を読む

no image

Twitterbotのlogファイルの肥大化を防ぐためのlogrotateの設定

abrAsus 保存するメモ帳 / ytoApple信者の毒舌な妹botはcronで定期的にphpを

記事を読む

no image

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

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

記事を読む

ブログを移行しました

新しいブログはこちら 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 ↑