6

/var/www. これは仮想ホストで実行できます。

各プロジェクトは .dev で終わる必要があります

それぞれデータベースを持つ 1 つのプロジェクトをサポートする各ビルドを作成するという考えに耐えられません。

Puppet や Chef で頭や尻尾を作ることができません。私はむしろそれを避けますが、レポから複製して喜んでいます。

アドバイスが必要か、正しい方向に向けてくれます。

ありがとう

4

3 に答える 3

15


Vagrant LAMP 複数の vhosts - UPDATED!


以下の更新情報を参照してください

Web 開発ワークフローを改善する方法を探しています。現在、Theming Projects などで LAMP、Webmin、Filezilla などのさまざまなツールやアプリを使用しています。そして、Vagrantと呼ばれるこの素晴らしいツールの存在を発見し、自分のプロジェクトでそれをテストした後、私はそれに恋をし、現在のローカル Web 開発環境に統合することにしました。そして、私はさらに掘り下げて、選択したベースボックスを使用してVagrantでマルチ Vhostsセットアップを作成およびセットアップする方法の可能性を探しました。Google を検索すると多くの結果が返されますが、stackoverflow からのリンクをクリックすることにし、この質問にたどり着きました。に記載されているリンクをたどったUbuntu 12.04 Precise Pangolin 32-bitDimitri KouvdisGithub Repoであるの答え。私はそれをテストし、同様の問題にDimitri Kouvdis遭遇しました。しかし、彼のコメントのおかげで、それはすでに解決されています。しかし、複数の仮想サポートを備えた理想的な Vagrant Box を探している間に、Github からいくつかのリポジトリを検索してテストし、自分に合ったリポジトリを見つけました。Puppet と Chef を使用して独自の開発サーバーをプロビジョニングする方法がまだわからないため、これらのリポジトリを探し出したのはそのためです。

私のために働いた別のGithubレポを見つけました

このレポのおかげで

onema / vagrant-lamp-development

https://github.com/onema/vagrant-lamp-development

Github リポジトリをテストするDimitri Kouvdisと、いくつかの問題が発生しました。その間、作業を停止し、Github から同様のリポジトリを検索することにしました。いくつか見つけて、Nino Paolo のレポ ( https://github.com/paolooo/vagrant-lamp )を含むいくつかをテストしました。中に特にいくつかの問題が発生しましたvagrant uponemaのレポを見つけて正常にセットアップするまで、別のレポを検索することにしました。最終的に、このソリューションを使用して、Web 開発の実践環境で現在のワークフローに統合することにしました。onemaのレポが好きになりました。

  • 特に私のような初心者や自己学習者にとって、指示に従うのは簡単なので、セットアップは簡単です.
  • いくつかのドキュメントとセットアップ例があります。
  • 何よりも、新しい仮想ホストの追加は、私がテストした他の仮想ホストに比べて簡単です。
  • ソース サイト/プロジェクト フォルダーとして、ローカル ドライブ内の任意のフォルダーを選択してセットアップできます。
  • 不要な (私の場合) アドオン (node.js、less など) がなくても簡単です。LAMP スタックに加えて、vhost サポートと phpmyadmin が必要でした。

セットアップ方法 - 初心者および自分のような自己学習者向け

上で述べたように、Github Repo ページにある指示を読んでそれに従うことで、セットアップは簡単です (特に私のような初心者や自己学習者にとって)。- https://github.com/onema/vagrant-lamp-development . ダウンロードしたzip ファイルを使用するか、ファイルをローカル ドライブgit clone https://github.com/onema/vagrant-lamp-developmentにコピーするために使用するかを選択できます。Vagrant

これが私が設定した方法です(私の* nixマシン、Ubuntu 12.04 x64で);

  1. ダウンロードした zip ファイルを使用するかgit、基本的な Vagrant と VirtualBox のセットアップを実行して、ファイルをローカル ドライブにダウンロードします。Github Pageから手順を読み、さらに以下の手順を実行します。

  2. 私のセットアップではVagrantile、少し編集しました。line: 70origVagranfleファイルの に、コメント#を付けて NFS を無効にしました。

    config.vm.synced_folder "~/Sites", "/vagrant", nfs: true

    ということで、今はこんな感じ…

    #config.vm.synced_folder "~/Sites", "/vagrant", nfs: true

    そして、コメントアウト...

    #config.vm.synced_folder "~/Sites", "/vagrant"

    line: 140元からVagrantfile

    ということで、今はこんな感じ…

    config.vm.synced_folder "~/Sites", "/vagrant"

    これを行っているのは、私のマシンで 中にvagrant up、理解できない NFS 関連のエラーがいくつかスローされるためです。

  3. ここで、この例のために、およびそのレポ ページの例から、フォルダーを作成し、名前を付ける必要がありますSites。これは、ユーザー アカウントのフォルダー ルートまたはホーム フォルダーに配置する必要があります。

    /home/your-user-account-home-folder/Sites

    私の場合、(その大文字のSに注意してください)

    /home/gary/Sites

    • A.

      サンプルの dev-site/vhost を作成し、という名前の新しいフォルダーを作成し、wordpress.devこれを vhost のドキュメント ルートとしてwordpress.dev作成します。次に、ここにプロジェクト ファイルを追加します。以下の例を参照してください。

      /home/gary/Sites/wordpress.dev

    • B.

      次に、新しく作成した vhost の簡単なスプラッシュ ページを作成して、ブラウザーから開発サイトにアクセスしたときに、構成が宛先の vhost ルート フォルダーにリダイレクトされていることを確認できるようにします。もちろん、設定が正しければ、スプラッシュ ページが表示されます。これが私のスプラッシュページの作り方です。

      ファイルを作成し、index.phpその中にいくつかのコードを入れました。

      <?php echo "Success!!! Your wordpress.dev looks fine"; ?>

      したがって、仮想ホストに正常に到達すると、メッセージが表示されますSuccess!!! Your wordpress.dev looks fine

  4. 次に、Vagrant Box の IP アドレスをファイルに追加し、開発サイトをそれにhostsマッピングします。 注:は Vagrant Box のデフォルトで構成された IP アドレスです。これを好みに合わせて変更し、ファイルを更新することができます。 私の場合、次のように言います。wordpress.dev

    192.168.50.4 wordpress.dev

    192.168.50.4hosts

    • A

      10.10.10.10 wordpress.dev- 私のホストファイルでは、



    • config.vm.network "private_network", ip: "10.10.10.10"

      私のVagrantfileのB。

      この設定は、内部を調べてVagrantfileこの行のすぐ下に移動

      # Host-Only networking required for nfs shares

      することで見つけることができます。 次に、そこから設定を変更し、IP と一致するようにファイルを ip:更新します。hosts

  5. もう一度編集Vagrantfileして vhost 設定を追加し、開発サイト フォルダーを指すように、これらのコード ブロックを次のように追加します。

    :wordpress => {
       :name => "wordpress",
       :host => "wordpress.dev", 
       :aliases => ["wordpress.dev"],
       :docroot => "/wordpress.dev"
    }
    



    コードを orig に追加すると、次のVagrantfileようになります。

     :vhost => {
        :localhost => {
        :name => "localhost",
        :host => "localhost", 
        :aliases => ["localhost.web", "dev.localhost-static.web"],
        :docroot => ""
      },
        :wordpress => {
        :name => "wordpress",
        :host => "wordpress.dev", 
        :aliases => ["wordpress.dev"],
        :docroot => "/wordpress.dev"
      }
    


    したがって、Vagrantfile次のようになります。,のすぐ上wのコンマ:wordpressと閉じ中括弧の右側に注意してください}。別の vhost を追加するときは、wordpress

    の閉じ中括弧の右側に別のコンマを追加する必要があります。}

      Vagrant.configure("2") do |config|
      config.vm.box = "precise32"
      config.vm.box_url = "http://files.vagrantup.com/precise32.box"
      config.vm.host_name = "localhost"
      config.vm.provision "chef_solo"  do |chef|
        chef.cookbooks_path = "cookbooks"    
        chef.add_recipe "vagrant_main"
        #####################################
        # MONGODB
        # https://github.com/edelight/chef-cookbooks
        #####################################
        chef.add_recipe "mongodb::10gen_repo"
        chef.add_recipe "mongodb::default"
        #####################################
        # REDIS
        # https://github.com/phlipper/chef-redis
        #####################################
        chef.add_recipe "redis"
        chef.json.merge!({
          :mysql => {
            :server_root_password => "root",
            :server_debian_password => "root",
            :server_repl_password => "root"
          },
          #####################################
          # YOU WILL NEED TO ADD THESE DOMAINS 
          # TO THE LIST OF HOSTS IN YOUR LOCAL 
          # ENVIRONMENT FOR THESE TO BE PROPERLY 
          # ROUTED
          #####################################
          :vhost => {
            :localhost => {
                :name => "localhost",
                :host => "localhost", 
                :aliases => ["localhost.web", "dev.localhost-static.web"],
                :docroot => ""
            },
            :symfony => {
                    :name => "symfony",
                    :host => "symfony.web", 
                    :aliases => ["symfony"],
                    :docroot => "/symfony/web"
            },
            :wordpress => {
                :name => "wordpress",
                :host => "wordpress.dev", 
                :aliases => ["wordpress"],
                :docroot => "/wordpress.dev"
            }
          }
        })
      end
      config.vm.network "forwarded_port", guest: 80, host: 8080
      config.vm.network "forwarded_port", guest: 3306, host: 3307
    
      ##########################################################################
      # UNCOMMENT IF NFS IS DISABLED
      ##########################################################################
      config.vm.synced_folder "~/Sites", "/vagrant"
    
      ##########################################################################
      # NFS 
      # Enable if you have performance issues with large projects. 
      # see the following links for more info:
      # http://forum.symfony-project.org/viewtopic.php?t=52241&p=167041#p147056
      # http://docs.vagrantup.com/v2/synced-folders/nfs.html
      # http://www.phase2technology.com/blog/vagrant-and-nfs/
      ###########################################################################
      # Host-Only networking required for nfs shares
      config.vm.network "private_network", ip: "10.10.10.10"
      #config.vm.synced_folder "~/Sites", "/vagrant", nfs: true
    
    
      config.vm.provider :virtualbox do |vb|
        #   # Don't boot with headless mode
        #   vb.gui = true
        #
        #   # Use VBoxManage to customize the VM. For example to change memory:
        vb.customize ["modifyvm", :id, "--memory", "512"]
      end
    end
    
  6. これで、Vagrant Box を起動する準備が整いました。ターミナル ウィンドウ

    ctrl + alt + tを開いて入力し、

    cd vagrant-lamp-developmentディレクトリをvagrant-lamp-developmentフォルダーに変更して入力します。

    vagrant up

    これで、Vagrant Box VM を起動し、完全に起動するのを待ちます。最初の初期起動には数分かかります。起動が成功したら、ブラウザーを開いて

    http://wordrpress.devに移動します。前のステップ 3 B

    で作成した Web スプラッシュ メッセージが表示されます。

  7. 新しい Vhosts を追加するには、内部に新しいフォルダーを作成して/home/your-home-folder/Sites/new-project-folderから...

    • 手順 3B、4A、5 を繰り返します。

    • VagrantfleVM ボックスの実行中に Vhosts の変更または追加を行った場合は、端末に.. と入力

      vagrant provision

      して変更を有効にします。

    • VagrantfileVM Box がOFFのときに仮想ホストの変更または追加を行った場合は、端末に... と入力

      vagrant up --provision

      して変更を有効にします。

      注:このVagrantfileガイドで使用されている は をダウンロードします。設定を から に変更する64-bit Precise Pangolin Basebox Base Boxことで に変更できます。私の場合は、32 ビットのベース ボックスを既にダウンロードしていたので、これを行いました。32ビットに変更したので、再度ダウンロードする必要はありません。 変化する... 32-bit Precise Pangolin BaseboxVagrantfile





      Vagrant.configure("2") do |config|
           config.vm.box = "precise64"
           config.vm.box_url = "http://files.vagrantup.com/precise64.box"
      




      Vagrant.configure("2") do |config|
              config.vm.box = "precise32"
              config.vm.box_url = "http://files.vagrantup.com/precise32.box"
      

      終わり!


私がテストした他の Vagrant LAMP リポジトリは機能しましたが、必ずしも複数の仮想ホストをサポートしているわけではありません

その他の Vagrant LAMP リポジトリ

R8 の Vagrant-LAMP Repo を使用する場合 - マルチ Vhosts の目的で

r8/vagrant-ランプ

新規追加方法はこちらvhosts

  1. .json目的の開発サイト名に一致する新しいファイルを作成します。例: wordpress.devin
    vagrant-lamp/data_bags/sites

    だから、次のようになります...
    vagrant-lamp/data_bags/sites/wordpress.json

  2. 新しく作成されたファイルを編集しwordpress.json、以下を追加します (例のみ)。

    {
        "id": "wordpress",
        "host": "wordpress.dev",
        "aliases": [
            "www.wordpress.dev"
        ]
    }
    
  3. wordpress.devinsideという名前の新しいフォルダーを作成します。次のvagrant-lamp/public
    ようになります...
    vagrant-lamp/public/wordpress.dev

  4. ファイルを編集hostsして追加およびマップする192.168.33.10``wordpress.dev
    ため、次のようになります... 192.168.33.10 wordpress.dev

  5. これで準備完了です... vagrant を起動してvagrant up --provision、ボックスがオフになって
    いる場合は と入力します。手順を実行したときにボックスがオンになっている場合は、vagrant provision代わりに入力します。

  6. この後、ブラウザを起動して設定をテストし、http://wordpress.dev.
    そこにいくつかのインデックスファイルを配置してください。

更新: Github から新しいリポジトリを追加しました。

皆さん、私の Linux Mint 13 (Ubuntu 12.04 ベース) 開発ボックスが壊れました。そのため、OSを最初から再インストールする必要がありました(私の悪い...偽のRAIDを使用しており、バックアップがありません)。今回はUbuntu 14.0.4 LTSベースのLinux Mint 17を使用しました。

そのため、すべてを最初から再インストールし、Web 開発環境をすばやくセットアップしました。しかし、vagrant を使用した以前の作業セットアップが機能しなくなったことが判明しました。そこで、Ubuntu 14.04 LTS で動作する別の Web 開発環境をセットアップする方法についての解決策を探しました。そして幸運なことに、別のGithubレポを使用して動作するセットアップを見つけましたCPT Server

セットアップ

これがあなたがそれを設定する方法です。

  • このレポをクローンします: cptserver
    または、zip ファイルをダウンロードします
  • リポジトリを複製またはダウンロードした場所を参照します (zip ファイルを解凍します)。
  • config/config.yaml を開き、必要に応じてカスタマイズします。私の場合、デフォルトの構成には何も触れず、vhost を追加しただけです。
  • ターミナルから、ダウンロードした場所を参照するか、リポジトリを複製して、vagrant up

それでおしまい!最初の起動には時間がかかります。

新しい仮想ホストの追加は簡単

config/config.yaml を編集して、ファイルの一番下の部分に移動するだけです。行を探して、vhost:次のように新しい仮想ホストを挿入します。

 ServerName: mydevsite.dev
    ServerAlias: mydevsite.dev
    DocumentRoot: /var/www/mydevsite.dev
    ServerAdmin: webmaster@localhost

次に、内部に新しいフォルダーを作成しwww、ServerName または DocumentRoot フォルダーに一致する名前を付けます。mydevsite.dev

vagrant の実行中に新しいホストを追加した場合は、これを実行します。vagrant provision vagrant ボックスの実行中に config.yaml の上部を変更する場合は、次のようにします。vagrant reload --provision

ホスト マシンのホスト ファイルを更新することを忘れないでください。仮想ホストが vagrant の IP を指すようにします。

それだけです。

于 2013-11-27T13:39:05.803 に答える
0

最もシンプルで直接的な Vagrant セットアップ

https://github.com/fideloper/Vaprobash

仮想ホストの作成のクイック スタートについては、「Apache Virtual Hosts Configuration」ビデオをご覧ください。

インストールする前に、好みのDBタイプのコメントを外すことを忘れないでください:)

おまけ: Sequel Pro で db に数秒で接続できる唯一の vagrant セットアップ

于 2015-02-09T18:20:26.267 に答える