多数のサイトを開発および保守する場合、ローカルマシンで仮想ホストを作成するには時間がかかります。
または、
スクリプトを使用して、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:動的に構成可能なマス仮想ホスティング