インストールは、通常 ssh や telnet や コマンドプロンプト のようなコマンドライン上から行います。 ここでのインストール先はLinux環境を想定し、次のディレクトリ構成を基に説明します。
/home/hoge … ホームディレクトリ /home/hoge/public_html … ドキュメントルート /home/hoge/src … ダウンロードしたアーカイブファイルを保存するディレクトリ /home/hoge/SyL … 新規インストールするSyLフレームワークディレクトリ /home/hoge/projects/webapp … 新規インストールするプロジェクトディレクトリ
ダウンロードページ から、SyLのアーカイブをダウンロードします。
ダウンロードしたアーカイブファイルを解凍します。
(ここでは /home/hoge/src にダウンロードしています)
$ cd /home/hoge/src
$ ls
SyL-X.X.X.tar.gz
$ tar xvzf SyL-X.X.X.tar.gz
...
$ ls
SyL SyL-X.X.X.tar.gz
※ X.X.Xはバージョン番号です
解凍/展開後は、任意のディレクトリに移動します。(ここでは /home/hoge/SyL に移動します)
$ mv SyL /home/hoge/SyL
プロジェクトは、複数のアプリケーションをまとめた1つの単位で、SyLフレームワークで開発する上で最初に作成します。
プロジェクトの作成は、SyL/bin ディレクトリにある setup.php コマンドを使用します。
下記コマンドで、プロジェクトを作成します。
※ 必要に応じて php コマンドにパスを通しておいてください。
$ cd /home/hoge/SyL/bin $ php setup.php -s project -d /home/hoge/projects/webapp -n example -c
オプションの意味は
-s <name> ・・・ 「project」でプロジェクトを作成します
-d <dir> ・・・ 新規作成するプロジェクトディレクトリ
-n <name> ・・・ 新規作成するアプリケーション名
-c ・・・ フロントコントローラファイルを作成する
となります。
コマンドを実行すると、プロジェクトに必要なファイルやディレクトリが作成され、作成ログがコンソールに表示されます。
$ php setup.php project -d /home/hoge/projects/webapp -w example
-c /home/hoge/public_html/example_controller.php create project (/home/hoge/projects/webapp/) [Y/n]: > Y creating directory /home/hoge/projects/webapp/apps creating directory /home/hoge/projects/webapp/config creating directory /home/hoge/projects/webapp/lib ... creating file /home/hoge/projects/webapp/apps/test/actions/index.php copying file /home/hoge/projects/webapp/apps/test/templates/index.html $
コマンドが正常に実行されたら、実際にブラウザにスタートページを表示してみます。
プロジェクトを作成したディレクトリ直下の、public ディレクトリにコントローラファイルが作成されているので、 ドキュメントルート以下の公開されているディレクトリに移動します。
$ cd /home/hoge/projects/webapp/public/example $ mv example.php /home/hoge/public_html
移動したファイルに、ブラウザからアクセスします。
http://localhost/example.php
※ 「localhost」 はインストールした環境により変更してください
スタートページが表示されれば、インストール完了です。
また、開発したプロジェクトを本番環境に展開する場合は、下記3つのまとまりをコピーします。
(1) SyLフレームワークディレクトリ (ここでは /home/hoge/SyL)
(2) プロジェクトディレクトリ (ここでは /home/hoge/projects/webapp)
(3) コントローラファイル (ここでは /home/hoge/public_html/example_controller.php)
基本的に(1)(3)は、特に理由がない限り初回限り展開します。 逆にアプリケーション側が(2)なので、アプリケーションに変更が入るたびに展開します。