2011年4月22日金曜日

symfony1.4をubuntu10.10のxampp環境にインストールしてみる

まんまsymfonyのサポートチュートリアルドキュメント通りですが
自分なりにまとめてみました!
前回のsymfony1.2よりは読みやすなってます

なにはともあれxampp環境にbinファイル(実行ファイル)を環境パスに設定する
  1. 下記コマンドを実行して、環境設定パスに追記
    1. export PATH=$PATH:/opt/lampp/bin
  2. とりあえず本当に追加されたか下記コマンドから確認
    1. export
    「declare -x PATH=.........」という項目に「/opt/lampp/bin」というパスがあれば追加OK!
    これでいちいち「/opt/lampp/bin/php」なんていうパス指定をしなくても、「php」だけのコマンドでxampp内のbinのphpを実行できるようになる
  3. 早速Pearのバージョンを確認してみようと思うので、下記コマンドを実行
    1. pear -V
次にPEARのバージョンを最新に更新
  1. 下記コマンドを実行して、PEARを最新版に更新
    1. pear upgrade PEAR
とりあえず下準備は終わったので、次にsymfonyの最新版をPEARコマンドからインストール
  1. 下記コマンドを実行して、PEARにまず「symfony」チャンネルを追加する
    1. pear channel-discover pear.symfony-project.com
    ちなみに下記コマンドで現在PEARに追加されたチャンネルのリストがズラっと表示される
    1. pear list -a
    ※こんな感じのが最後の方にあるので、それが今回追加したチャンネルということ
    Installed packages, channel pear.symfony-project.com:
    =====================================================
    Package Version State
    symfony 1.4.11  stable

    Installed packages, channel pecl.php.net:
    =========================================
  2. 下記コマンドで「symfony」をインストール
    1. pear install symfony/symfony
    ※ちなみに今インストールしたチャンネルのアンインストールコマンドは下記コマンド
    pear uninstall symfony/symfony
では早速新規プロジェクトを生成
  1. まずプロジェクトを保存するプロジェクトディレクトリを生成して、その生成したディレクトリ内に移動
    1. mkdir jobeet
    2. cd jobeet
    ※ここから下記コマンドはあくまでプロジェクトディレクトリ内のルートディレクトリ上にいることでの想定でのコマンドとなるので、最後のディレクトリ移動は忘れないように!
  2. 次にプロジェクトディレクトリ内にsymfony初期構成を設定
    1. php /opt/lampp/bin/symfony generate:project jobeet
    そうすると下記ディレクトリが自動的に生成
    ディレクトリ 説明
    apps/ プロジェクトのすべてのアプリケーションを格納する
    cache/ フレームワークによってキャッシュされるファイル
    config/ プロジェクトの設定ファイル
    lib/ プロジェクトのライブラリとクラス
    log/ フレームワークのログファイル
    plugins/ インストールされたプラグイン
    test/ ユニットテストと機能テストのファイル
    web/ Web 公開ルートディレクトリ
  3. とりあえず今回は公開ディレクトリのみシンボリックリンク対応してみる
    1. ln -s (jobeetディレクトリパス)/web (設定したい公開ディレクトリルート)/htdocs
    ※本当はApache側の設定で公開ディレクトリ設定を行ったり、物理的にsymfonyディレクトリを移動して公開用とバックエンドと切り分けることが、セキュリティ的にもよいが、今回はこれでいくことで!
  4. つぎにアプリケーション環境を生成
    1. symfony generate:app frontend
    すると下記のようにアプリケーションディレクトリが生成される
    ディレクトリ 説明
    config/ アプリケーションの設定ファイル
    lib/ アプリケーションのライブラリとクラス
    modules/ アプリケーションのコード (MVC)
    templates/ グローバルテンプレートファイル
  5. では早速「http://(symfony設定環境用のドメイン)/index.php」でページが表示されるかブラウザからみてみる!
という感じで設定完了です
次は早速プロジェクトを作ってみることにしまっす!

参考サイト
http://www.symfony-project.org/jobeet/1_4/Doctrine/ja/01

    2011年4月19日火曜日

    symfony1.2のファイル構造

    参考サイト:
    http://develop.ddo.jp/symfony/book/jp/1.0/file_structure.html

    ルートツリー構造
    apps/
    :アプリケーションファイルを保存
      fo/
      bo/
    batch/
    :コマンドラインやバッチプロセスを走らせるためのスケジュールを呼び出すためのPHPファイルを保存
    cache/
    :プロジェクトのキャッシュファイルを保存
    config/
    :一般的なプロジェクトの設定ファイルを格納
    data/
    :プロジェクトのデータファイル(データベーススキーマやテーブル作成のSQLファイルやもし必要であれば SQLite データベース自身)を保存
      sql/
    doc/
    :プロジェクトのドキュメントを保存
      api/
    lib/
    :外部クラスやライブラリのためにとっておかれ、ここにアプリケーションを通して共有する必要があるコードを保存
      model/
      :プロジェクトのオブジェクトのオブジェクトモデルを保存
    log/
    :アプリケーション、SQLなどプロジェクト全体にかかわるログファイルが保存
    test/
    :プロジェクトのテストワーク用のファイルを保存
    web/
    :Web公開ディレクトリファイルを保存
      css/
      images/
      js/
      uploads/

    アプリケーション構造
    config/
    :アプリケーションレベルの環境設定値が保存
    i18n/
    :グローバル対応ファイルを保存
    lib/
    :アプリケーションレベルに特化したクラスやライブラリを保存
    modules/
    :アプリケーションの特徴を保持したモジュールファイルを保存
    templates/
    :アプリケーション用のグローバルテンプレートを保存
      layout.php
      error.php
      error.txt

    モジュール構造
    actions/
      actions.class.php
      :全てのアクションを保存してあるファイル
    config/
    :ローカルパラメータをもつカスタム設定ファイルを保存
    lib/
    :モジュールに特化したクラスやライブラリを保存
    templates/
    :モジュールのためのカスタムテンプレートを保存
      indexSuccess.php
    validate/
    :フォームのバリデーション用の専用ファイルを保存

    ウェブ構造
    css/
    :CSSファイルを保存
    js/
    :JSファイルを保存
    images/
    :画像ファイルを保存
    uploads/
    :ユーザーによってアップロードされたファイルを保存

    symfony1.2をxampp for linux環境にPEARからインストールしてみる(ubuntu10.10)

    Pearの初期設定
    参考サイト:
    http://yakinikunotare.boo.jp/orebase/index.php?PHP%2FPEAR
    1. xampp for linux内の実行ファイルディレクトリを環境設定に追加
      # export PATH=$PATH:/opt/lampp/bin
      ※/etc/rc.localファイルに上記設定値を追記しておけば起動のタイミングで自動設定可能

      実際に環境設定値が反映されているか下記コマンドから確認
      # pear -V
    2. PEAR自体のバージョンアップ
      # pear upgrade PEAR

      各Pearインストール確認コマンド
      • インストール済みパッケージの表示( pearチャンネルのみなら )
        # pear list
      • インストール済みパッケージの表示( 全チャンネルなら )
        # pear list -a
      • インストールできるパッケージの一覧表示
        # pear list-all
      • アンインストール
        チャンネルとパッケージをスラッシュで繋いで指定
        # pear uninstall チャンネル名/パッケージ名
        ※チャンネル名を省略した場合はpearパッケージから検索される
    symfonyをPEARからインストール
    参考サイト:
    http://yakinikunotare.boo.jp/orebase/index.php?PHP%2Fsymfony%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB#x3885003
    1. PEARへsymfonyチャンネルの追加
      # pear channel-discover pear.symfony-project.com
    2. symfonyのインストール
      # pear install symfony/symfony-1.2.9
      ※1.3系以上だと新規プロジェクトを作成した際に「」とエラーが表示される。1.3系からかなり仕様が変更されたことと、文献が少ないためにやむを得ず1.2.9系でセットアップを行う
      ※ちなみに1.2.9系と指定しないで、最新インストールを行った場合は下記コマンドでアンインストール可能
      # pear uninstall symfony/symfony
    新規プロジェクトを設定
    参考サイト:
    http://develop.ddo.jp/symfony/book/jp/1.0/project_creation.html
    1. プロジェクト用のディレクトリを作成
      # mkdir (プロジェクトディレクトリ)/myproject
    2. 初期基本ファイルと初期ライブラリをプロジェクト用のディレクトリに生成
      # symfony init-project myproject
      ※下記ディレクトリが生成されている
      apps/
      batch/
      cache/
      config/
      data/
      doc/
      lib/
      log/
      plugins/
      test/
      web/
    3. アプリケーションを初期化
      # symfony init-app myapp
      ※下記ディレクトリが生成されている
      apps/
        myapp/
          config/
          i18n/
          lib/
          modules/
          templates/
    4. Apache側の設定で追記するもの
      Alias /sf /$sf_symfony_data_dir/web/sf 
    5. モジュールのセットアップ
      # symfony init-module myapp mymodule
    6. 動作確認
      URL:http://myapp.example.com/index.php/mymodule
      ※独自ビューの作成
      1. myproject/apps/myapp/modules/mymodule/actions/actions.class.php
        上記ファイルの「$this->forward('default', 'module');」をコメントアウト
      2. myproject/apps/myapp/modules/mymodule/templates/indexSuccess.php
        上記ファイルに「Heollo」と記述
      3. http://myapp.example.com/index.php/mymoduleから動作確認

        2011年2月18日金曜日

        VirtualBoxのゲストOS(Win, Ubuntu)に割り当てたディスク容量を増やす

        参考サイト
        http://blog.brainhearts-next.com/2010/01/virtualboxos.html
        http://ankyo.blog.so-net.ne.jp/2011-02-20

        ubuntuの場合のパーティション変更
        https://wiki.ubuntulinux.jp/UbuntuTips/Install/ResizePartitionSize

        参考になりました!

        2011年2月6日日曜日

        ゲストOSがubuntuの場合のvdiファイルの最適化コマンド

        1. ゲストOS上で下記コマンドを実行
          dd if=/dev/zero of=zero bs=4M; rm zero
        2. ホストOS上で下記コマンドを実行
          (VirtualBoxフォルダ)/VBoxManage modifyhd (最適化vdiファイル) --compact
        12GBちかくのが5GBに・・・・
        ゲストOS上でファイル消しても断片してるってわけね・・・・

        共有フォルダをゲストOS上でマウントするコマンド

        mount -t vboxsf (共有フォルダ名称) (マウント先フォルダ)
        マウントフォルダを削除すると当然マウント元のファイルも削除される・・・
        はまったww

        仮想ディスクのコピーコマンド

        (VirtualBoxディレクトリ)/VBoxManage clonevdi コピーされる.vdi コピー先.vdi
        物理コピーではコピーはできないんだって…