Web開発用の自動ホスト(FreeBSD)





多数のサイトを開発および保守する場合、ローカルマシンで仮想ホストを作成するには時間がかかります。



または、 スクリプトを使用して、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レベルを構成できます。



ああ!



  1. Apacheは、DOCUMENT_ROOTをcgiまたはmod_phpに誤って渡します。

    VirtualDocumentRootを計算する代わりに、httpd.confで指定されたDocumentRootを渡します。

    この変数を使用するときは、このことに留意してください。

  2. 最新のブラウザは、アドレスバーと検索バーを組み合わせています。 ドメインの入力後に検索結果が表示された場合は、末尾にスラッシュ(/)を付けてドメインを入力します(例:waka.dev/






参照資料


Apache:動的に構成可能なマス仮想ホスティング



All Articles