top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_1075

symfony:開発サーバーで構築していた、symfonyによるプロジェクトを今構築中のVPSサイトに移植。SAFE MODE だから、少々やっかいなんだよな ・・・ 【仮想サーバー】

 2009-08-29
 VPSサーバー利用した構築。引き続き進めているけれど
 デフォルトで、phpSAFE MODE 動作なので少々やっかい。

 他の開発環境で進めていた、
 symfonyによる構築プロジェクトを移植したけれど、
 結構アラートを吐く。
 ひとつひとつ、つぶしてゆく・・・


  追記に ▼


 ※ところで、こちらは・・・


◇今日のGoogle:8月29日
今日のGoogle(2009/08/29)
  ほんと楽しいな、Googleロゴ。

FC2ブログランキング にほんブログ村 IT技術ブログ Webサイト構築へ ブログ王ランキング 人気ブログランキング 人気ホームページランキングへ


more

************************************************
◎ symfonyプロジェクト移植:VPSサーバー構築
************************************************


 すでに、
 ・PEARを利用できる設定
  ・PEAR:「使えるネット」で、PEARを使えるように。やり慣れた作業だけど環境違うとほんと面倒 ・・・ 【仮想サーバー】
 ・symfony を利用するための PHPバージョンアップ
  ・yum:yum というパッケージ管理システムがある。これ本当に便利。構築中のVPSに用意してphpのバージョンをあげておこう ・・・ 【仮想サーバー】
 は、終えている。


 ・symfony自体も組み込んだ。


 ■プロジェクト構築


  随分慣れてきたコマンドだ。
  ・プロジェクトディレクトリに移動して
symfony generate:project (プロジェクト名)
 おぉ、Warning が吐き出される。
PHP Warning:  set_time_limit(): Cannot set time limit in safe mode in /*****/symfony/command/sfCommandApplication.class.php on line 512
PHP Warning: realpath(): SAFE MODE Restriction in effect. The script whose uid is 0 is not allowed to access /*****/symfony/tsukurun owned by uid 10001 in /*****/symfony/config/sfProjectConfiguration.class.php on line 46
 おぉ、Warning が吐き出される。

  ■set_time_limit() (PHP マニュアル:set_time_limit
   ・実行時間の最大値を制限
   ・デフォルトの制限値は 30 秒
   ・ゼロをセットした場合、時間制限は行われない
   ・PHPがセーフモードで実行さ れている場合には実効がない


   【対応】
    ・SAFE MODE をオフにすることも考えたが、セキュリティ的に
     それは、「後」にして、
     この set_time_limit() 自体、この場面ではさほど(今は)
     必要ないと判断。ファイル自体の記述を変更する。


/*****/symfony/command/sfCommandApplication.class.php on line 512
    // PHP ini settings
/* 20090826 edit
set_time_limit(0);
*/
ini_set('track_errors', true);
ini_set('html_errors', false);
ini_set('magic_quotes_runtime', false);
 コメントアウト。

  が!
  ■realpath() (PHP マニュアル:realpath
   ・絶対パス名を返す
   ・シンボリックリンクを全て展開
   ・ファイルが存在しないなどの失敗時に FALSE


   【対応】
    ※いろいろやったけど、記述範囲が広い。
     うむ、やはり、セーフモードをオフにするしかないか。
      (PHP マニュアル:セキュリティとセーフモード
     ・PHP 6.0.0 で削除 されるらしいし。


    ・で。


/etc/php.ini
safe_mode = Off
 コメントアウト。

 ■(symfony)アプリケーション作成(front_end)


symfony generate:app --escaping-strategy=on --csrf-secret=UniqueSecret frontend
 コメントアウト。

 ■ルーティング


  ルートにアクセスした際に
   http://(ドメイン名)
  ・symfony
   構築したプロジェクト・webディレクトリにアクセスするよう
   ルーティングを変更する。

  これ、探し方が良くなかったのだろう。なかなか方法が
  わからなかった。
   ほとんどのサイト上の上は、
   public_html 以下の特定ディレクトリに用意するものが多く
   ・ほぼ、ln などを利用してシンボリック作成
   ・もしくは、mod_rewrite のものだった。


  今回は、サイトそのもの(ドメイン、ルートそのもの)に
  アクセスした際、用意した symfony のwebディレクトリに
  アクセスさせるものだから


  > httpd.conf 書き換えが必要なのだろう。


  □(しかし)利用している 使えるねっと
   VPSなので、ちと勝手が違う。


   ・ドメインごとに用意されている
    ・vhost.conf
    に変更を加える。


    ※httpd.include こちらは変更しては
     駄目なようだ。
/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=
(ドメイン名)
 を実行すると元に戻ってしまう。

   【vhost.conf の編集】
    場所は、/var/www/vhosts/(ドメイン名)/conf 以下だ。


ServerName (ドメイン名):80
ServerAlias www.(ドメイン名)
DocumentRoot "/var/www/vhosts/(ドメイン名)/symfony/(プロジェクト名)/web"
DirectoryIndex index.php,index.html,index.htm
php_admin_value open_basedir "/var/www/vhosts/(ドメイン名)/symfony/(プロジェクト名)/web:/tmp:/*****/PEAR"

   ・編集保存後、Apacheのリスタート。


/etc/init.d/httpd restart
 OK。

 ****************************
 ・・・と、ここまで書いたが、
 これはうまくゆかなかった。


 ルーティング自体はうまくゆき、
 ・http://(ドメイン名) とアクセスすると
  用意した symfony のプロジェクト・webディレクトリ
  が表示される。


 しかし!
 ・phpファイルが動作しない
  (例の)
  いきなりダウンロードが始まってしまうのだ。


 おかしい。


 ・Apacheのphp動作については、


LoadModule php5_module modules/libphp5.so
 は確実に終えており
AddType application/x-httpd-php .php
 はもちろん vhost.conf に加えている。
 (PHP マニュアル:Apache 2.0 (Unixシステム用)
 いくら、
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
Addtype application/x-javascript js
AddType application/x-httpd-php .php .html
AddType application/x-httpd-php .php3
 などと
 すべて入れても動作しない。

 おそらく、ルートの httpdocs 以下ではなく
 それと並列に用意した symfony ディレクトリ以下
 だから駄目なのだろう。
 ・open_basedir あたりだとは思うが
  VPSサーバー特有の何かあるのかもしれない。


 ****************************
 ・・・で、さっさと退却。


 上記は、記録のために残すが、結局
 ・httpdocs 以下に作り直し。


   【vhost.conf の再編集】


ServerName (ドメイン名):80
ServerAlias www.(ドメイン名)
DocumentRoot "/var/www/vhosts/(ドメイン名)/httpdocs/(プロジェクト名)/web"
DirectoryIndex index.php,index.html,index.htm
php_admin_value open_basedir "/var/www/vhosts/(ドメイン名)/httpdocs/(プロジェクト名)/web:/tmp:/*****/PEAR"

 ****************************
 phpinfo() を記載した、phpファイルを用意し
 アクセス > 確認OK。


 やれやれ。これで準備完了。


使えるねっとのVPS(仮想専用サーバー)月2480円~

commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/1075-16f05b9a
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。