2012-03-28 2 views
1

私はUbuntu 11.10で基本的なLAMPサーバをセットアップしており、ウェブホスティングのディレクトリ構造についていくつか質問がありました。私の「要件」は、2つのWebサイト(www.site1.comとwww.site2.com)をホストしたいと思っていることと、Zendフレームワークを使いたいということです。ウェブホスティング用のZendディレクトリ構造を持つUbuntu LAMP

現在、パブリックフォルダは/ var/www /です。一般的にZendプロジェクトフォルダ(パブリック、テスト、ライブラリなど)で構成されるWebアプリケーションコードをすべて "Projects"フォルダに格納するのは一般的ですか?

「通常はZendフレームワークフォルダはどこに保存しますか? 〜/ディレクトリに格納し、各プロジェクトのライブラリフォルダからZendライブラリフォルダへのシンボリックリンクを作成することを考えていました。これはお勧めですか?

私はこれに新たなんだとちょうどセットアップを得るが、ここで私はこれまで考えていたものです:

は、あなたのホームディレクトリにプロジェクトフォルダを作成します(〜/)。その下に、さまざまなWebアプリケーション(〜/ Projects/site1〜〜/ Projects/site2)を用意してください。 〜/ Projects/site1/Publicを指す/ var/www/site1からsymlinkを作成し、site2も同じようにシンボリックリンクを作成します。 DocumentRootを/ var/www/site1に設定し、site2を同じに設定して仮想ホストファイルをセットアップします。

誰でもこの可能性のある落とし穴にどのような光を当てることができますか?これはいいですか?どんな勧告?私はあなたがここにディレクトリを設定する必要がある方法の多くのバージョンがあることを知っていますが、これらの事柄を具体的に扱う答えを見つけることができなかったので、これが繰り返しであれば謝ります。

何か助けていただければ幸いです。

答えて

3

はい、ちょうどいくつかのことを覚えておいて、それを行うための方法はたくさんあります。

  • HTML/PHPファイルを所有するユーザーがウェブを実行するユーザーと同じにするべきではありませんが、サーバープロセス。
  • ZFプロジェクトファイルは、Webサーバーのドキュメントルートの外側にある必要があります。
  • 複数の開発者を抱えるようにセットアップすると、後で大きな変更を加える必要はありません。

私は通常、通常の/ home/siteディレクトリを持つ「サイト」ユーザーを作成します。これにより、サイトファイルが個人用のファイルとは別のものになり、ログインする必要のある複数の管理者/開発者を簡単にサポートすることができます。これを/ opt/siteまたは/ usr/local/siteまたはどこに置くこともできます。シェルのスケルトンファイルがすでに存在しているので、私は/ homeが好きです。アクセスしたい人のSSHキーを簡単に追加できます。

/home/site/ 
    library/ 
     fuel/ 
     geshi/ 
     sencha-touch-2.0.0-gpl/ 
     ZendFramework/ 
      ZendFramework-1.11.10/ 
      ZendFramework-1.11.11/ 
      latest -> ZendFramework-1.11.11 
    site/ 
     domain1.com/ 
      application/ 
      library/ 
       MyApp/ 
       Zend -> /home/site/library/ZendFramework/latest/library/Zend 
      public/ 
      scripts/ 
     domain2.com/ 
      application/ 
      library/ 
       MyApp/ 
       Zend -> /home/site/library/ZendFramework/latest/library/Zend 
      public/ 
      scripts/ 

次に、あなたのバーチャルホストのドキュメントルートの設定が/home/site/site/domain1.com/publicと/home/site/site/domain2.com/public

するポイントになります。私のようなものがあるでしょう
1

ディレクトリ構造は、多くの人々がさまざまな方法でそれを行う、行うには正しいか間違った方法があることを何かではありません、ここで鉱山はUbuntuといくつかのCakePHPのアプリ

/srv 
    /site1/ 
      /app 
      /webroot 
      /cache 
      /tmp 
    /site2/ 
      /app 
      /webroot 
      /cache 
      /tmp 
    /share/ 
      /CakePHP 
        /1.3/ 
        /2.0/ 

である2つの主要な部分私はWebルートの正確な場所を/srv/site1/webroot/に設定して、次にvhostにphp_value include_path ".:/share/cakephp/2.0/lib"を使ってインクルードパスにCakePHPを入れます(Zendと同じことができます)。 config。

メンテナンスリリースのあるCakePHPをすべてのサイト(つまり何も破壊してはならないもの)にアップグレードすることができ、新しいリリースで新しいフォルダ(2.1など)が保証され、サイトをアップグレードすることができますそれを使用するには、単にapacheのconfig(または.htaccess)を編集し、サーバーを再起動する必要があります。

これは私のアプリ(とバージョンコントロール)にインクルードパスを入れなくても済むようにするため、異なるdev/staging設定で可能な限り移植性があります。

もちろん、私が言ったように、「正しい」方法は1つありません。

+0

私は一般的な仮想ホストに関する質問をしています:そのファイルはリダイレクトを処理しますか?あなたのルートフォルダ(/ var/www)に何かがありますか?または、仮想ホストファイルはサーバ名に基づいて自動的にパブリックフォルダにリダイレクトされますか?ありがとうございます –

+1

[vhostsの設定](http://www.thegeekstuff.com/2011/07/apache-virtual-host/)に目を通すと、サーバーのドメインを好きなDocumentRootにセットアップできます。私は決して '/ var/www'に触れていません – Dunhamzzz

関連する問題