現在さくらのVPSの2個目を借りて悪戦苦闘中。
1個目のVPSを借りた時に試し切れなかったマルチドメインやメールサーバー立ち上げ等々をコチラでテストする予定。
っていうか、VirtualHostを使ったマルチドメイン環境の作成で、見事な程ドツボにハマった。
丸2日間悩みまくった末の解決だったのでメモ。
役に立ったリンク
ネット上で拾えるLinux系の殆どの情報は、もの凄く詳しい人が書いている。初歩の初歩でつまづいた場合、殆ど情報は手に入らない。入門書を購入するか、(httpd.conf等)設定ファイルのコメントアウトしてある部分を和訳してみるのが一番。
バーチャルホストの例 - Apache HTTP サーバ
色々解るようになってから読むとスゲー役に立つ。でも一番最初に読むと全然わけわからん。
VPS側:Apache(httpd.conf)の編集
色んなサイトを読むものの、ドコも凄くアッサリとしか書いていない。ここでつまづく人は殆どいないようだ。ごく稀に「VirtualHostでマルチドメイン上手く設定できない」みたいな悩みを掲示板で発見できるが、質問の中身も解決策もなんかカオスなのばっかりだ。
自分の環境では何が問題で上手く設定できないのか、本当に悩みまくった。
解決方法 → httpd.conf内のコメントをよく読む('Α`)
:80または:8080必須。色々悩んだ挙句、これだった('Α`)NOTE: NameVirtualHost cannot be used without a portspecifier(e.g.:80) if mod_ssl is being used, due to the nature of the SSLprotocol.
注意:mod_ssl.が作動している場合はSSLプロトコルの性質上、NameVirtualHostにポート指定しなければ正しく作動しません。
NameVirtualHost xxx.xxx.xxx.xxx:80赤字部分をポート番号付きの任意のIPアドレス記入。*使って省略しちゃダメ。
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin aaa@aaa.com
DocumentRoot /var/www/html/root
ServerName xxxx.sakura.ne.jp
#ServerAlias aaa.zzz.com:8080
</VirtualHost>
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin aaa@aaa.com
DocumentRoot /var/www/html/test
ServerName test.zzz.com
</VirtualHost>
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin aaa@aaa.com
DocumentRoot /var/www/html/test2
ServerName test2.zzz.com
</VirtualHost>
1箇所でも*とか*:80とか省略して書くと上手く作動しなかった。
<VirtualHost*>とか書いて上手く行かない人は全部のVirtualHostディレクティブでIPアドレスとポート指定するだけで上手く作動するかも。
で、これプロクシ経由で読みに来る人の為にはどうすれば良いんだ?そういえばiptablesでも8080番閉じてるし、、、もっとサーバー管理が達者になるまで保留にしておこう。
ドメイン設定(さくらのドメインメニュー)
注意:
私はDNSとかゾーン編集とかサッパリな人間で、間違った事を書いているかもしれない。
アチコチのサイトをつまみ読みして「多分こうだろう」で行った設定なので、鵜呑みにしない事。
この項目は「こうやったら何故か上手く行きました」レベルです。
サイト引越しの準備も兼ねているので、さくらインターネットで既に取得しているドメインのサブディレクトリだけをVPS側に引越しさせてみる。
▲クリックで拡大
さくらインターネットでドメインを取得していた場合、会員メニュートップに「ドメインメニュー」が表示されている。
▲こんな風に各ドメインの設定が編集出来る。
(注:既にライトやスタンダードで使用しているサブドメインは編集出来ない。先に借りているレン鯖のコントロールパネルでサブドメインの設定を削除しないと以下の手順は実行出来ない。)
▲ドメインは「さくらのスタンダード」側に紐付けたまま。
「エントリ名」に「追加するサブドメイン」を、
「タイプ」は「Aレコード」を、
「データ」に「さくらのVPSのIPアドレス」を
それぞれ入力。もちろん上記の「test」「test2」は同じIPアドレス(さくらのVPS)が指定してある。
注意:
バーチャルホストによる複数サイトの同時運用(2/2)を読むと、ネームベースのマルチドメイン設定をする場合は、「1ホスト分のみAレコードで登録し、残りのホストはCNAMEレコードで別名定義する。」と記載してある。私の設定は間違っている可能性が高いが、元のドメインはスタンダード側に残したままだと、上記設定にしないと上手く行かなかった。
最後は「データ送信」ボタンをクリック。そうしなければ設定は反映されない。
細かい手順はコチラ参照:SAKURA Internet // サポート - オンラインマニュアル -さくらで取得したドメインのゾーン編集を行う
余談:さくらのネームサーバなんてサービスもあったのか。。。知らなかった。