CakePHPをさくらのレンタルサーバで公開した。

先日公開しました30日ブログは、さくらインターネットのレンタルサーバで運用しています。
レンタルサーバは「さくらのレンタルサーバ」|さくらインターネット
このブログ自体がさくらレンタルサーバなので請求を1本にまとめたいという、それだけが理由だったのですが、思いのほかCakePHPの導入が簡単に済みました。
以下、作業内容をまとめます。


1.契約
「さくらのレンタルサーバ スタンダード」を申し込みました。
PHP、MySQL、独自ドメインが可能です。また、申込してすぐ利用できます。
2.MySQLの設定
「サーバコントロールパネル」から「データベースの設定」でDBを作成すると、phpMyAdminが使用できます。
phpmyadmin.gif
3.サーバへのセットアップ
いよいよサーバに開発したアプリケーションを導入します。
ググると色々な情報があります。
さくらで CakePHP | cafe chantant blog
難しく感じますが、これは複数のアプリを運用する場合の設定であり、1ドメインで単一のCakePHPを動かす場合はもっと簡単に導入可能です。
参考は公式サイトの下記記事。
3.4.3. 高度なセットアップ:その他のインストール方法
公開サーバ向けの設定でセキュリティも高くなるのでオススメです。
3-1.ファイルのアップロード
WinSCPなどを使ってアカウントのホームに接続します。
/home/30days
ここに以下のような構成でファイルをアップします。
/home/30days/app(appディレクトリを丸ごと)
/home/30days/cake/cake(cakeディレクトリを丸ごと。/cake/cake/に注意!)
/home/30days/www(app/webrootの中身をアップ)

3-2.諸々の設定
・DBの接続先
/home/30days/app/config/database.php
公開用に設定変更
・公開サイトURL設定
/home/30days/app/config/bootstrap.php
define("appURL","http://30daysBlog.com/");

ここにappURLという定数を設定してアプリ全体で使用しています(ローカルのときはhttp://localhost/)。
・デバッグ設定
/home/30days/app/config/core.php
Configure::write('debug', 0);

不要なデバッグ情報を出さないようにします。
・/app/webroot/index.php
ここを公式サイトの設定にならって変更します。
if (!defined('ROOT'))
{
define('ROOT', dirname(dirname(dirname(__FILE__))));
}
if (!defined('APP_DIR'))
{
define ('APP_DIR', basename(dirname(dirname(__FILE__))));
}
if (!defined('CAKE_CORE_INCLUDE_PATH'))
{
define('CAKE_CORE_INCLUDE_PATH', ROOT);
}

以上で設定完了です(なんと「.htaccess」の設定はいりません!)。
URLにアクセスすれば表示される(はず)です。
3-3.その他
・書き込み権限は?
CakePHPではキャッシュのディレクトリなどに書き込み権限が必要ですが、さくらのレンタルサーバでは所有者権限でPHPを動かしているので、各所への書き込み権限設定は不要です。
30日ブログでは画像のアップロード機能もありますが、特に権限設定は不要でした)
・svnへのアクセス禁止
Subversionを使ってソースコード管理をしているので、「.svn」ディレクトリもサーバにアップされています。
この中身(ソースコード)の流出は危険なのでアクセス禁止にします。
ディレクトリトップの「.htaccess」に以下の1行を追加します。
RewriteRule (^|/)\.svn - [F]
4.おしまい
以上で作業完了です。想像していたより楽でした。
(実は下調べで見つけた、複数アプリの設定方法を参考にしていて小1時間苦戦してました・・・)
上記以外には次の方法を検討中です。
・エラーログを取得したい。
・公開サーバへの同期アップ方法を検討(今は1ファイルずつ手作業でアップなので・・・)。
・MySQLの定期ダンプ(バックアップをとらないと)
初心者がCakePHPをやる件が、一気に公開まで進んでしまいましたが、そこに至るまでの諸々は順次まとめていきます。

コメント

タイトルとURLをコピーしました