8

私は Vagrant をセットアップし、CentOS 6.5 x64 を実行していますが、うまく動作します。この 1 つの VM 内で複数のサイトを実行しても問題ありません。/var/www/htmlから実行される PhpMyAdmin を除いて、すべてのサイトは/var/www/publicフォルダーから実行されます。vagrant 共有を使用して、実行中の vhost サイトにアクセスしようとしています。問題は、vagrant 共有が/var/www/htmlフォルダーの内容のみを表示していることです。

新しく作成した/var/www/publicフォルダーにアクセスするために、他に何かする必要がありますか? 別のマシンでホスト ファイルを編集して、これらのサイトに割り当てた URL を現在のファンキーな「vagrant share」アドレスに転送できるかどうかを確認しましたが、これは機能しません。私は個人的に次に何をすべきか途方に暮れています。

これが私の基本設定です。Vagrant バージョン 1.5.4、VirtualBox バージョン 4.3.8、Windows 7 x64、PuPHPet による構成ファイルですが、追加された仮想ホスト、ssh 構成、mysql、および bash ファイルのダウンロード後に高度にカスタマイズされています。

うまくいけば、他の誰かもこの問題に遭遇した可能性があります。誰かが私が向けることができる良い方向を持っていますか?

みんな、ありがとう、

c0p


自己更新

私は自分自身の質問で大きな進歩を遂げています。私がやっていることのポイントは、Vagrant マシンから人のオフサイトへのアクセスを許可することです。常に完全にアクセスできる必要はありませんが、現状を確認し、必要な変更があればお知らせください。ご存知のように、標準的な開発用のものです。だからここに私が思いついたものがあります。

一般的にウェブを調査すると、次のリンクに遭遇しました: https://groups.google.com/forum/#!topic/vagrant-up/IcEl9-V9wsU

この男は Nginx を実行しており、私と同じ質問をしているようですが、別の Web サーバーを使用しています。Nginx で似たような問題に遭遇した場合は、このページを参照してください。彼はそこに答えを持っています。Nginxについては何も知りませんが、必要なものを少し推定することができました.

そのページから私が得たのは、彼が Vagrant サイトから異常なリンクを受け取るとすぐに、Nginx の構成ファイルを編集し、Web サーバーを再起動したということでした。現在、クレイジーな URL が仮想ホスト ファイルの場所を指していたため、表示したかったページが実際に表示され、デフォルトの「ようこそ」ページが表示されるだけではありませんでした。

しばらく考えて、自分の設定を編集して何が起こるか見てみることにしました。

CentOS を実行しているので、/etc/httpd/conf/httpd.confファイルを編集しました。

このファイルの中ほどに、コメント付きの#Listen 80行があります。この行の直後に (または必要に応じてスペースを入れて)、これを追加しました。

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin some_dude@home.com
    DocumentRoot /var/www/public/sitename
    ServerName hungry-lovebird-7142.vagrantshare.com
    ServerAlias hungry-lovebird-7142
    ErrorLog /var/www/www.sitename.dev-error_log
    CustomLog /var/www/www.sitename.dev-access_log common
</VirtualHost>

アクセスしたいサイトのフォルダーを DocumentRoot に指定し、ServerName と ServerAlias をvagrant 共有リンクに設定しました。次に、ファイルを保存し、sudo service httpd restartで Apache を再起動しました

次に、Firefox (Windows 7) に戻り、このファイルを編集する前に既にアクセスしていた奇妙な vagrantshare.com ページを更新しました。実際に、 httpd.confファイルで指定したsitenameフォルダーの内容を取得しました。だからうまくいく!フリギンクール!

これに関する唯一の問題は、Apache の再起動時に次の警告が表示されたことです。

Stopping httpd:                                            [  OK  ]
Starting httpd: [Wed May 21 00:11:37 2014] [warn] NameVirtualHost *:80 has no Vi
rtualHosts

Apache は問題なく起動しますが、その警告をどうしたらよいかわかりませんでした。後で、追加したもののNameVirtualHost *:80部分を削除して、Apache を再起動しました。今回は予告なし。

これにより、個々のサイトに対するクライアントの更新のみを表示できることを理解してください。これは、静的サイトと WordPress サイトの両方で機能しました。vagrantshare.com リンクがファイルを探している場所を変更しました。httpd.confファイルを編集し、同じvagrant 共有セッション内で Apache をすべて再起動することで、複数のサイトに変更できました(それらはタイムアウトします)。私は Windows を使用しているので、2 つのgit-bash (msysgit) のコピーを同時に実行していました。1 つはvagrant 共有セッションをホストし、もう 1 つはvagrant sshで VM に接続した後にhttpd.confへの編集を受け入れます。

一部の WordPress サイトでこれを使用する場合は、そのサイトのwp_optionsテーブルも編集する必要があります。option_value列のsiteurlhome の値をvagrant shareから提供されたリンクの完全な URL に変更します。管理パネルでこれらの値を編集することもできますが、私は MySql を使用した方がはるかに高速であるため、その方法を選択しました。

わーい!わかりました。やりたかったことはほぼ達成できました。うまくいけば、私が行ったことが実際に機能する理由を誰かが明らかにすることができます。基本的にそのアドレスのリダイレクトを行っただけですか?

ところで、vagrant shareを使い終わったら、これらの行をコメントアウトすることを忘れないでください (後で必要になる可能性があるため、そのままにしておいてください)、Apache を再起動してください。クライアントが変更したいものは何でも作業に戻りましょう。

とにかく、残っている「なぜこの仕事をしたのか」という質問に誰かが答えてくれることを願っています。

ありがとう、

c0p

4

2 に答える 2

5

ServerAlias を追加して、WhateverItIs.conf ファイルを次のように変更します。

ServerName WhateverItIs.com
ServerAlias *.vagrantshare.com 

これで準備完了です。

于 2014-11-02T20:49:35.630 に答える