Top > Ubuntu > Server > 9.10 > CakePHP_1.2

CakePHP 開発環境

/var/www/ 以下にフォルダを掘って、CakePHP 最新版を放り込みます。

そのままだとエラーになるため、Apache の設定を変更したりします。

Apache のモジュール有効化

以下はインストールしたての Ubuntu 9.04 の場合。ちゃんと運用しているサーバーでは適切に設定しましょう。

まず、mod_rewrite を有効にします。Ubuntu の LAMP Server の場合、モジュールは組み込み済みで有効になっていないだけです。

  0
  1
$ cd /etc/apache2/mods-enabled
$ sudo ln -s ../mods-available/rewrite.load rewrite.load

AllowOverride を All に切り替えます (本運用環境では、特定フォルダのみピンポイントで許可出します)

  0
  1
  2
  3
# 設定ファイルの場所に移動
$ cd /etc/apache2/sites-available
$ sudo cp -p default default.org
$ sudo vi default
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
 
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                # AllowOverride None
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                # AllowOverride None
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
 
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
 
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
 
</VirtualHost>

Apache 再起動。

  0
$ sudo apache2ctl restart

次に、下記のファイルを編集します。

  • (CakePHP)/.htaccess
  • (CakePHP)/app/.htaccess
  • (CakePHP)/app/webroot/.htaccess

以下のように、Root前提になってるのを書き換えます。

  0
  1
  2
  3
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

 ↓

  0
  1
  2
  3
  4
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase      /(CakePHP)
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

ほかの二つも /(CakePHP) を /(CakePHP)/app や /(CakePHP)/app/webroot に切り替えます。

橙色エラーの修正

  • 作業フォルダが書き込みできない
    Warning (512): /var/www/cakephp/app/tmp/cache/ is not writable [CORE/cake/libs/cache/file.php, line 262]
    Your tmp directory is NOT writable.
    こんなのが出てる場合は、該当フォルダを
      0
      1
      2
    
    # 777 = 読み書き閲覧の許可
    $ sudo chmod 777 /var/www/cakephp/app/tmp/cache/
    $ sudo chmod 777 /var/www/cakephp/app/tmp/
    のようにしてやれば ok です。
  • DB設定がない
    Your database configuration file is NOT present.
    Rename config/database.php.default to config/database.php

コピーした上で、データベースの設定を適切に書き換えます。

  0
  1
$ cd /var/www/cakephp/app/config
$ sudo cp database.php.default database.php
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
<?php class DATABASE_CONFIG {
/*コメント略*/
    var $default = array(
        'driver' => 'mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'user',         //IDを書き換える
        'password' => 'password',  //パスワードを書き換える
        'database' => 'database_name', //DBを書き換える
        'prefix' => '', //そのままでよい。
    );
 
    var $test = array( //テスト用設定。同じように書き換えを行う。(DBを変えてテストに用いたりする)
        'driver' => 'mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'user',
        'password' => 'password',
        'database' => 'test_database_name',
        'prefix' => '',
    );
} ?>
  • お塩さん変えようね
    Notice (1024): Please change the value of 'Security.salt' in app/config/core.php to a salt value specific to your application [CORE/cake/libs/debugger.php, line 549]
  0
<?php //CakePHP 1.2.6 の場合
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi'); ?>

既定値では危ないので、40文字の英数字混じりの何らかの別のパスフレーズに変えておきましょう。


リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 22 Jul 2011 21:58:03 JST (1525d)