多数のサイトを開発および保守する場合、ローカルマシンで仮想ホストを作成するには時間がかかります。
または、 スクリプトを使用して、Apacheの設定とホストファイルを更新できます。
別の解決策は、トップレベルゾーンを使用して独自のDNSサーバーを構成することです。
これが私たちが今やることです。
そのため、「。dev」ゾーンを作成します(FreeBSDでnamedおよびapacheデーモンを使用)
/etc/namedb/named.confファイルを編集します。
オプション{ ディレクトリ "/ etc / namedb"; pid-file "/ var / run / named / pid"; ダンプファイル "/var/dump/named_dump.db"; 統計ファイル「/var/stats/named.stats」; //外部DNS //現在のDNSを指定します //または会社のサーバー<s>悪</ s>の善: フォワーダー{8.8.8.8; }; }; //私たちのゾーン zone "dev" {タイプマスター; ファイル「master / dev」; };
新しいゾーンファイル/ var / named / etc / namedb / master / devを作成します。
$ TTL 3600; 1時間 開発者 SOA ns1.devで。 admin.www.dev( 2009112601; シリアル 10800; リフレッシュ 3600; 再試行 604800; 期限切れ 86400; 最小TTL ) ; DNSサーバー NS NS ns1.dev 127.0.0.1で ; マシン名 ns1 IN A 127.0.0.1 * 127.0.0.1で
namedbを再起動し、127.0.0.1をDNS(/etc/resolv.conf)として指定すると、 .dev アドレスは127.0.0.1になります。
しようとしていますか?
%dig any-address.dev ... ;; 回答セクション: \ 208 \ 187 \ 209 \ 142 \ 208 \ 177 \ 208 \ 190 \ 208 \ 185- \ 208 \ 176 \ 208 \ 180 \ 209 \ 128 \ 208 \ 181 \ 209 \ 129.dev。 3600 IN A 127.0.0.1 ... %ping waka.dev〜 PING waka.dev(127.0.0.1):56データバイト 127.0.0.1から64バイト:icmp_seq = 0 ttl = 64 time = 0.024 ms ^ C
ここで、Apacheを教える必要があります。 httpd.confで、ファイルの最後に書き込みます。
UseCanonicalNameオフ VirtualDocumentRoot / www /%-1 /%-2
apacheを再起動した後、ブラウザのアドレスhttp://habrahabr.dev/を入力します-apacheは/www/dev/habrahabr/index.htmlを発行します
このファイルを事前に作成し(それ以外の場合は404エラーが表示されます)、httpd.confで/ www / dev /(それ以外の場合は403エラーが表示されます)へのアクセスを許可します。
<ディレクトリ "/ www / dev /"> オプションインデックスにはFollowSymLinksが含まれます すべてを許可 すべてから許可 </ Directory>
他のコンピューター
さらに、このスキームを仮想マシンおよびローカルネットワークで使用可能にすることができます。 これを行うには、/ etc / namedb / master / devファイルで、127.0.0.1をコンピューターのIPに変更し、必要なコンピューターでDNSとして指定します。
ウェブスタジオ
勤務先の会社では、各従業員が1つのDNSサーバーを使用して独自のドメイン1または2レベルを構成できます。
ああ!
- Apacheは、DOCUMENT_ROOTをcgiまたはmod_phpに誤って渡します。
VirtualDocumentRootを計算する代わりに、httpd.confで指定されたDocumentRootを渡します。
この変数を使用するときは、このことに留意してください。
- 最新のブラウザは、アドレスバーと検索バーを組み合わせています。 ドメインの入力後に検索結果が表示された場合は、末尾にスラッシュ(/)を付けてドメインを入力します(例:waka.dev/
参照資料
Apache:動的に構成可能なマス仮想ホスティング