Home » PHP, Programing » さくらインターネットでsymfonyをインストール

Check     このエントリーをはてなブックマークに追加

さくらインターネットでsymfonyをインストールしてみた。

さくらインターネットでもPHP5が利用できるようになっているので、さくらインターネットコントロールパネルの「PHPのバージョン選択」で、PHP5を選択しておこう。

インストールする場所を「$HOME/local」とする。sshでサーバに入り下記のディレクトリを作成。

$ mkdir local/

まずはPEARをインストールするために、スクリプトをダウンロードし実行。

$ curl http://pear.php.net/go-pear > go-pear.php
$ php go-pear.php

下記のような選択となるので「1」のprefixのみを変更する。

1. Installation prefix ($prefix) : /home/[account名]/local
2. Temporary files directory : $prefix/temp
3. Binaries directory : $prefix/bin
4. PHP code directory ($php_dir) : $prefix/PEAR
5. Documentation base directory : $php_dir/docs
6. Data base directory : $php_dir/data
7. Tests base directory : $php_dir/tests

次にphp.iniの書き換えはできないので、「n」を選択。

Would you like to alter php.ini ? [Y/n] : n

これでPEARのインストール完了。あとは自身のシェルを書き換え、新しくインストールしたpearコマンドにパスを通す。

#bash,zshなら
export PATH=/bin:$HOME/local/bin:$PATH
#csh,tcshなら
set path = (/sbin /bin $HOME/local/bin $HOME/bin /usr/local/bin)

ポイントとしては、サーバにある「/usr/local/bin/pear」をよまないように、先に「local/bin」を設定している部分だ。

PATHを設定し、pearのバージョンを確認する。

$ source ~/.zshrc
$ pear -V
PEAR Version: 1.7.2
PHP Version: 5.2.5
Zend Engine Version: 2.2.0

PHPのバージョンが5になってれば正解だ。

ここから、symfonyのインストール

$ pear channel-discover pear.symfony-project.com
$ pear install symfony/symfony
$ symfony -V
X-Powered-By: PHP/5.2.5
Content-type: text/html

symfony version 1.0.16

これで完了!

プロジェクトの作成

さて、実際にプロジェクトの作成をしてみよう。

$ mkdir -p ~/symfony/sample
$ cd symfony/sample
$ symfony init-project sample
$ symfony init-app frontend

webディレクトリは公開ディレクトリ下に置かなければならないので、シンボリックリンクを利用する。

$ ln -s ~/symfony/sample/web ~/www/sample

さくらのコントロールパネルにある、「ドメイン設定」で利用したいドメインを「~/www/sample」へ向ける。

.htaccessでOptionsはさくらでは利用できないので、コメントアウトし、RewriteBaseのコメントをはずす。

#Options +FollowSymLinks +ExecCGI
RewriteBase /

sfの画像やデバッグツールを利用するため、シンボリックリンクを作成。

ln -s ~/local/PEAR/data/symfony/web/sf ~/symfony/sample/web/sf

で、さくらのphp.iniが「magic_quotes_gpc=on」がデフォルトなので、コントロールパネルの「PHP設定の編集」で

magic_quotes_gpc=off

を書いておきましょう。

これで設定したドメインにアクセスすると、いつもの「Symfony Project Created」が拝めるでしょう。

パフォーマンスはどうなんでしょう?

感覚的には、さくらでRailsよりは幾分ましだけど、もっさり感はやっぱありますね。。

実用に耐えうるのか。何か作ってみてまた報告します。

Check     このエントリーをはてなブックマークに追加
タグ: ,
  • symfonyでほげほげ

    さくらでsymfonyは共用の場合は当たったサーバー次第かなと思います。個人的に入れた時は「重っ!」て感じでしたが、普通にレスポンス返しているという意見も。。。

    ちなみに同じサーバーにCakePHPも入れたときに感じたのは、Cakeの方がさすがに軽量と呼ばれるだけあって軽いし、共用サーバーでも(は)使えるなという印象でした。

  • symfonyでほげほげ

    さくらでsymfonyは共用の場合は当たったサーバー次第かなと思います。個人的に入れた時は「重っ!」て感じでしたが、普通にレスポンス返しているという意見も。。。

    ちなみに同じサーバーにCakePHPも入れたときに感じたのは、Cakeの方がさすがに軽量と呼ばれるだけあって軽いし、共用サーバーでも(は)使えるなという印象でした。

  • ueblog

    CGI版のphpなのでしょうがないですね。

    何もなしで実行させたdev.phpの結果。

    type calls time (ms)
    Configuration 10 4.36
    Action “default/index” 1 0.15
    View “Success” for “default/index” 1 13.67

    いちおう平均70msは出てましたが、高負荷になると一気に落ちそうですね。

  • ueblog

    CGI版のphpなのでしょうがないですね。

    何もなしで実行させたdev.phpの結果。

    type calls time (ms)
    Configuration 10 4.36
    Action “default/index” 1 0.15
    View “Success” for “default/index” 1 13.67

    いちおう平均70msは出てましたが、高負荷になると一気に落ちそうですね。

  • Pingback: ものぐさ備忘録» ブログアーカイブ » レンタルサーバsakuraにsymfonyをインストール

  • Pingback: openforce

  • Pingback: さくらサーバーにsymfonyをインストールしましょう | Mocha オープンソースマッチングシステム

  • Pingback: 創るmetaboy

  • emikouji

    こんにちは,先日はメールで失礼いたしました。
    先日は,
    >「シェルの書き換え」を行ってパスを通すというところがあるのですが,何をすれば良いのか分
    >かりません。さくらのどこをどうするのか教えてください。
    > また,例文の
    > #bash,zshなら
    > export PATH=/bin:$HOME/local/bin:$PATH
    > #csh,tcshなら
    > set path = (/sbin /bin $HOME/local/bin $HOME/bin)
    > の「#bash,zshなら」とか「#csh,tcshなら」というのもよく分かりません。どこを参照すれば
    >よいのか教えてください。
    とお問合せさせていただきました。

    そうしたところ,次のようなお返事をいただきました。
    shellのファイルはコンソールなどでログインした際に
    実行されるファイルで、利用しているシェルによってファイル名が変わります。

    #bashの場合
    ~/.bashrc

    #zshの場合
    ~/.zshrc

    #csh,tcshの場合
    ~/.cshrc

    になります。
    このファイルが元々あれば、追記もしくは修正します。
    なければ新規作成します。

    ちなみに今利用しているShellを確認するには、下記のコマンドを使います。
    echo $SHELL

    お返事は,以上でした。
    色々と探してみましたら,私の/home/(ユーザー名)/に.cshrcという拡張子なしのファイルがあり,これをのぞいてみたら

    set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/X11R6/bin $HOME/bin)

    という行がありましたので,

    set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/X11R6/bin $HOME/local/bin $HOME/bin)

    としました。これでよろしいのでしょうか?

    ちなみに,
    次のバージョンの確認を行おうとして,
    $ source ~/.cshrc
    $ pear -V
    と入力してみても,バージョンが表示されず,pearのコマンドが沢山表示されるのみです。これって,パスが通っていないのではと不安になります。

    ご指導よろしくお願いします。

  • http://ueblog.natural-wave.com/ bonnaroo

    pear -V
    の出力結果を教えていただけますか?

    ちなみにさくらの場合、PHPの置き場所をころころと変えてしまうので、、、この例でいうと
    $HOME/local/bin/pear
    の中身を書き換える必要があるかもしれません。

    その辺の話を下記にも書いたので参考にしてみてください。
    http://ueblog.natural-wave.com/2009/08/08/dont-run-pear-on-sakurainternet/

  • emikouji

    bonnarooさん,ありがとうございます。
    pear -Vは動きました。すみません。ーVのVが小文字のvでした。お騒がせしました。出力結果は以下の通りです。
    PEAR Version: 1.9.1
    PHP Version: 5.2.14
    Zend Engine Version: 2.2.0
    ここまでは,上手く行きましたので,symfonyをインストールしました。
    滞りなく上手く行きましたので,今度は,symfonyのバージョンチェックをしました。しかし,今度は,
    symfony -V
    とタイプすると,
    env: php: No such file or directory
    と出力されます。
    $HOME/local/bin/symfony
    も生成されていますので,動くものと思っているのですが,どうしたことでしょうか?どのような原因が考えられるのでしょうか?
    勝手なお願いで申し訳ありませんが,何とぞご指導お願いいたします。

  • http://ueblog.natural-wave.com/ bonnaroo

    phpにPATHが通ってなさそうですね。
    さくらだと、
    /usr/local/bin/php
    にphpがあるようですが、私の記事中に上記のパスが含まれてませんでした。
    申し訳ないです。修正しておきました。

  • emikouji

    検証ありがとうございます。おっしゃる通りにやりましたら,symfonyのVerが表示されました。ありがとうございます。出力結果は,
    symfony version 1.4.8 (/home/〔ユーザ名〕/local/PEAR/symfony)
    となりました。
    ちなみに確認ですが(今更ですみません。)「インストールする場所を「$HOME/local」とする。」とありますが,これは,
    /home/〔ユーザ名〕/local
    のことでよろしいのですよね?…。

    その後,プロジェクトの作成に進みました。シンボリックリンクの作成まで進みました。
    $ ln -s ~/symfony/sample/web ~/www/sample
    このシンボリックリンクの意味は,~/www/sample にアクセスしてきたユーザーを,~/symfony/sample/web に誘導するということなのだと理解しているのですが,これでよいのでしょうか?
    でも,私の~/symfony/sample は,空っぽです。~/symfony/sample/web がありません。ここに誘導するということだとすると,ちょっと不安です。

    このディレクトリは,プロジェクトの作成のところで作ったのですが,
    $ mkdir -p ~/symfony/sample
    というコマンドは,/home/〔ユーザ名〕/symfony/sample というディレクトリを作ることだと理解してよろしいのですよね?何か不安です。
    $ cd symfony/sample
    で,カレントディレクトリを変更して,
    $ symfony init-project sample
    $ symfony init-app frontend
    これらのコマンドを再度実行すると,赤地の背景に白地で「Task “init-project” is not defined.」と出ます。/home/〔ユーザ名〕/symfony/sampleの中には何にもありません。空っぽです。これでよいのでしょうか?プロジェクトの作成が上手く行っていないのではと思います。

    また,私の ~/www には,.htaccess は存在していません。(さくらのサポートにお願いして,初期状態のプレーンな状態にしてもらって,現在の作業をしています。)エディター等で .htaccess を作成し,
    #Options +FollowSymLinks +ExecCGI(これは,いらないのかもしれませんが…)
    RewriteBase /
    の2行を入力して保存すれば良いのでしょうか?

    また,もう1つのシンボリックリンクの作成の方ですが,これを実行すると,
    ln: /home/horowasan/symfony/sample/web/sf: No such file or directory
    とエラーが出力されます。確かに該当するファイルやディレクトリはありません。
    これで良いのでしょうか?
    何度もすみません。重ねて長文で申し訳ありません。
    どうかご指導よろしくお願いします。

  • http://ueblog.natural-wave.com/ bonnaroo

    シンボリックリンクのくだりはその認識でOKです。
    この記事のsymfonyのバージョンは1.0系なので、1.4系の場合はプロジェクトを作成する際のコマンドが違います。
    symfony generate:project プロジェクト名
    こんな感じです。