*

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

関連記事

no image

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

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

記事を読む

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

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

記事を読む

no image

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

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

記事を読む

no image

2週間で詰めてLPICレベル1試験に合格した

LPICちゃん / iyoupapa 本日、LPICレベル1の試験を受験し、無事合格できま

記事を読む

Cent OSにPHPフレームワークSymfonyをインストール

L1080731.JPG / simplement Nat Webサービスを作るにあたってフレ

記事を読む

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

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

記事を読む

no image

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

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

記事を読む

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

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

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

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

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

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

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

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

作りました。 HideNicoVideoNews http:/

TOKYO HACKATHONが面白そう

最近発見したTOKYO HACKATHONという学生向けハッカ

→もっと見る

  • follow us in feedly
PAGE TOP ↑