2013年05月15日

yii gii 有効化で SAFE MODE Restriction

yii フレームワークにはgiiというyiiを利用したWebアプリケーションのコードを自動生成するツールが組み込まれています。

gii の有効化


giiを利用する設定をするにはアプリケーションディレクトリの
 protected/config/main.php
ファイルの以下のコメント開始・終了の行を削除してgiiモジュールを有効化します。
'password'項目の値'Enter Your Password Heer'を任意のパスワードで置き換えます。

... (省略) ...
'modules'=>array(
// uncomment the following to enable the Gii tool
/* ←コメント開始
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'Enter Your Password Here', ← gii ログイン用パスワードを指定
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
),
コメント終了 →*/
),
... (省略) ...


gii にアクセス


そして以下のURLにアクセスします。以下の例ではアプリケーションディレクトリを"mysite"、使用ドメインをwww.example.com を仮定しています。
http://www.example.com/mysite/index.php?r=gii


「SAFE MODE Restriction in effect」の対応


コアサーバーなどPHPがセーフモードで動作しているサーバーでは、以下の警告が出て、動作しません。
Warning: mkdir() [function.mkdir]: SAFE MODE Restriction in effect. The script whose uid is 1111 is not allowed to access
/virtual/coreuser/public_html/mysite/assets/5f422e5e owned by uid 1000 in
/virtual/coreuser/yii/framework/utils/CFileHelper.php on line 287

これはドキュメントルートの mysite/assets ディレクトリに "5f422e5e" という名前でディレクトリが自動生成されたのですが所有者が"apache"となっているためファイルが書き込めない状態です。
そこで、以下のステップで対応します。

  • ステップ1> assets ディレクトリをクリーンアップする

  • ステップ2> .htaccess ファイルを配置する



ステップ1> assets ディレクトリをクリーンアップする


以下の手順で mysite/assets ディレクトリをクリーンアップします

  1. コアサーバーの管理ツールで所有者の変更をします
    コアサーバー ディレクトリ/ファイルの所有者の変更」に従って所有者を"apache"からログインユーザーに変更します

  2. assets ディレクトリ内のファイルとディレクトリを削除する
    例)
    coreuser@s00:~> cd ~/public_html/mysite/assets
    coreuser@s00:~/public_html/mysite/assets> ls
    drwxrwxrwx 2 apache apache 48 2013-05-15 18:46 391fa766 ←これらのディレクトリ 
    drwxrwxrwx 2 apache apache 48 2013-05-15 18:46 5f422e5e ←はそれぞれの環境で違います
    coreuser@s00:~/public_html/mysite/assets> rm -rf 391fa766 5f422e5e




ステップ2> .htaccess ファイルを配置する


アプリケーションディレクトリ(mysite) に、以下の内容で .htaccess ファイルを作成します。
<files index.php>
AddHandler application/x-httpd-phpcgi .php
</files>

posted by ayagu at 21:55| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2013年05月01日

wordpress セーフモード対策の設定 ( xrea/coreserver 向け)

xrea/coreserver にwordpress をインストールして使っていると、何かとセーフモードに関する警告やエラーが出ます。

php がセーフモード(safe mode)で動作しているためです。
対策としては、wp-admin ディレクトリに以下の内容を「.htaccess」というファイル名で作成します。

<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files admin.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files update.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files upgrade.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files plugins.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<files themes.php>
AddHandler application/x-httpd-phpcgi .php
</files>

これでひとまずOK。

ディレクトリの書き込み権限と所有者の変更


コアサーバーの利用で。ディレクトリが新規に作成される場合、そのディレクトリにファイルをアップロードすると書き込み権限がないためにが失敗する可能性があります。
暫定的に chmod コマンドで書き込み権限を与える事で回避できますが。所有者が別のもの(apacheなど)になっていて変更不可能なときがあります。

そんなときは以下の方法で、所有者を自分自身に変更することができます。

  1. コアサーバーの管理画面にログインして、サーバー設定画面に入ります

  2. 左サイドバーの[管理メニュー]から[ツール]をクリックします

  3. [ファイル所有者の修正] ボタンをクリックします


posted by ayagu at 01:56| Comment(1) | wordpress | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。