我が家では、web 公開にあたり、DMZ を設けたので、もはや左の構成では動作していないが、まぁ参考まで。
下記は、自鯖の公開にあたり修正中のメモ。
php 動かす。
a2enmod php5
ドメインで飛んできた時に、ユーザーディレクトリを DocumentRoot にする
具体的には、http://www.hadacchi.com/ で、/home/user/public_html を DocumentRoot として動作させる
VirtualHost または VirtualDocumentRoot あたりで Alias するらしい
ただし、DNS で引けないとダメ。
DNS サーバを立てる。
bind9 の設定
…前職では、職場のローカル DNS の管理してたのになぁ; さっぱり覚えとらん
master ファイルの名前の付け方は、自由にできるらしい。
最近は named.conf から import するのが主流っぽい。
bash は糞面倒くさいので、zsh 入れる。
ローカルの .zsh/.zshrc が動かないので改行コードを置換する。
vi しかエディタいれてなくて、tr は苦手なので vi で置換する。
vi::何かを改行に置換 - そらまめ備忘録 で C-v C-m で ^M を入力できることを知る。
named-checkconf が通っても、普通に起動しないことがあるので注意。例えばファイル名の指定ミスとか。
zone ファイルは、1 ファイル内に複数 zone を記載してもいいはずなのに、うまく動かなかったので、ちゃんと zone 毎に分ける。
例えば、192.168.1.1 に DNS もやってくれる R があったとして、192.168.1.2 = ns.hadacchi.com なる DNS を立てる時、
named.conf.local では次のように記載し、
zone "hadacchi.com" { type master file "hadacchi.db" } zone "1.168.192.in-addr.arpa" { type master file "1.168.192.db" }
各 zone ファイルでは、
$TTL 86400 $ORIGIN hadacchi.com. ; @ means $ORIGIN @ IN SOA ns.hadacchi.com. test.hadacchi.com. ( 2012032701 ; serial 86400 ; refresh 1200 ; retry 2419200 ; expire 1200 ) ; minimum IN NS ns ; NS is name server which defined as A record IN A 192.168.1.2 ; short for above label ns IN A 192.168.1.2 ; A record www IN CNAME ns ; CNAME is alias
とか
$TTL 86400 $ORIGIN 1.168.192.in-addr.arpa. @ IN SOA ns.hadacchi.com. test.hadacchi.com ( 2012032701 ; serial 86400 ; refresh 1200 ; retry 2419200 ; expire 1200 ) ; minimum 2 IN PTR ns.hadacchi.com.
とかいう感じ。
キャッシュは、named.conf.options で
options { directory "/var/cache/named"; forwarders { 192.168.1.1; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };
とか。
PC に LAN 内の DNS を参照させる。
まず、自分で立てた DNS 自身が外のエントリよりも自分の持つエントリを優先するように設定。
DHCP を動かしている場合、DNS 設定も一緒に配信されてしまうので、クライアント側で弾く。
Ubuntu の場合、/etc/dhcp
か /etc/dhcp3
の下に
dhclient.conf というファイルがあるので、その中のrequest 行でDNSに関する記述をコメントアウトする。
request subnet-mask, broadcast-address, time-offset, routers, # domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.name-servers, dhcp6.sntp-servers;
で、/etc/resolv.conf
を書き換える
domain hadacchi.com search hadacchi.com nameserver 192.168.x.x nameserver 192.168.x.1 # 元々の記述
それから、networking を restart
/etc/init.d/networking restart
これで、名前を引けるようになる。
自分の PC が参照する DNS をサーバにすれば、その PC からアクセスした時だけ hadacchi.com をローカルサーバに飛ばすことができるので、テスト用に良い。
VirtualHost の設定。
VirtualDocumentRoot と違って、静的に書くことになる。
しかし、他人に鯖を貸すことはあったとしても、web I/F で自動受付とかはやらないと思うので、これでいこう。
/etc/apache2/sites-available
にある default を コピーして、hadacchi とでもしておく。
hadacchi を編集して、ドメイン名とドキュメントルートを追記する。
# Other diretive <VirtualHost *:80> ServerAdmin mail@domain.com DocumentRoot /home/user/path ServerName subdomain.domain.com </VirtualHost>
これで、subdomain.domain.com でアクセスされた時には、/home/user/path をドキュメントルートとして表示し、他のアクセスでは /var/www など元のドキュメントルートを表示されるよう設定できる。
この時、追加した内容を元の記述より上に記載すると、IP アドレスでアクセスされた時に subdomain 用のドキュメントルートが表示されるので注意。
www を外向けに空ける。
FTPS を外に向けて空ける
切れたセッションに再接続するために、screen を入れようと検索していたら、tmux を知る。
Terminal Multiplexer(tmux)の紹介|サイバーエージェント 公式エンジニアブログ
とか、
時代はGNU screenからtmuxへ - Dマイナー志向
が詳しい。上のリンクの設定では、
会社でも使えそうな、Windows 上での仮想デスクトップソフトを発見した。
Windowsに仮想デスクトップを設定、拡張機能も便利「VirtuaWin 4.3」
で紹介されている、VirtuaWin - Virtual Desktops for Windows が便利。
最初は、窓の杜 - 【REVIEW】WindowsのデスクトップをAndroid風に操作できるようにする「Blacksmith」で紹介されているソフトを試してみた。
このソフト、ランチャもついているのは良いのだが…
hotkey の変更ができないことと、一部のアプリケーションが全仮想デスクトップ上に残ることが不便なため、使うのを止めた。
今のところ、上の VirtuaWin は、Windows 7 SP1 では、問題なく動作しているので、しばらくこれを使うつもり。
妻のおばあちゃんがくれた、かえりちりめんがすげー美味い。貪り食っていたら、妻からキレられた。でもうまいし。