3

これが私の状況です。PHP Fog で開発サーバーと本番サーバーをセットアップしています。ローカル マシンに 1 セットのファイルがあり、それを処理して PHP Fog 上の 2 つのサーバーのそれぞれにプッシュできるようにしたいと考えています。

ただし、従来の htpasswd/htaccess メソッドを使用して、開発サーバーを保護したいと考えています。これは、本番サーバーが作業コピー内のこれら 2 つのファイルを無視する必要があることを意味します。

コミットが行われたときにこれらの 2 つのファイルを無視するように運用サーバーに指示する方法はありますが、開発サーバーにプッシュするときは通過させますか?

4

1 に答える 1

2

私もしばらく前にこれを調べていて、この記事を使用しました。git について心配するのではなく、複数のサイトで単一の htaccess を使用する方法を説明する必要があります。

ブログ投稿: 「開発サーバーと運用サーバーの両方の git リポジトリ内の単一.htaccessファイル」 by Mark Alan Evans

彼はこの問題を次のように説明しました。

問題:

あなたは持っていたいと思ってdev.yoursite.comいますが、一般に公開しwww.yoursite.comたくありませんdev.yoursite.com

解決:

あなたがApacheを使用している場合(私たちの多くはそうです)、.htaccessそして.htpasswd救助に。ファイルに次を追加
します。.htaccess

SetEnvIf Host yourstagingserver.com passreq 
AuthType Basic 
AuthName “Staging Server” 
AuthUserFile /path/to/.htpasswd 
Require valid-user 
Order allow,deny 
Allow from all 
Deny from env=passreq 
Satisfy any

開発と本番の両方でパスワード ファイルを構成する

ファイルを指定する場所はどこでも/path/to/.htpasswd、コンソールからそのフォルダーに移動し、「<code>htpasswd -c .htpasswd mark」と入力します。ここで、mark は、ログインを作成する最初のユーザーです。
追加の人物ごとに「<code>htpasswd .htpasswd linda」と入力します。ここで、 はファイルlindaに追加する次のユーザー名です。 毎回、作成したユーザー名の横に暗号化されたパスワードを 2 回入力するよう求められます (パスワードはファイルに保存されます)。.htpasswd
.htpasswd

ノート:

AuthUserFileは絶対パスを想定していますが、パスをスラッシュで開始しない場合は、httpd.confファイルで指定したディレクトリがデフォルトになりますServerRoot

于 2012-05-18T15:28:14.960 に答える