さくらのVPSで、もともとサーバに付与されているipアドレスを生かしたまま、複数の独自ドメインを運用する手順を説明します。
環境
LAMP環境をすでに構築してあるものとします。
さくらVPSにLAMP環境を構築する手順は過去記事を参考にどうぞ。
手順
ここでは例として、追加したいドメインは下記の2つとします。
DNSレコード設定
上記のドメインはさくらで取得していたので、さくらの管理画面からAレコードの指すipアドレスをVPSサーバに付与されているものに変更するだけでした。5分程度で反映されました。
NameVirtualHost
Apacheが同じサーバ上で別々のドメインのサイトを運用する方法の一つが名前ベースのバーチャルホストです。Apacheは、クライアント(ブラウザ)から送られてくるHTTPHost
ヘッダを頼りに、どの独自ドメイン宛のリクエストなのかを判別します。
NameVirtualHostの有効化
/etc/httpd/conf/httpd.conf
を開き
#NameVirtualHost *:80
先頭の#を外します。
ドメインとの対応付け
ドメインに対するアクセスを、どのディレクトリに対応付けるかを設定します。
/etc/httpd/conf/httpd.conf
に書いてもよいのですが、ここで、/etc/httpd/conf.d/
下にある.conf
で終わるファイルが、apacheの起動時にhttpd.confと同様に読み込まれることを利用します。
/etc/httpd/conf.d/moiranographia.com.conf
を新規作成し、下記を書きます。
<VirtualHost *:80> ServerName moiranographia.com DocumentRoot "/var/www/moiranographia.com/public_html" DirectoryIndex index.html index.php ErrorLog /var/log/httpd/moiranographia.com_error_log CustomLog /var/log/httpd/moiranographia.com_access_log combined AddDefaultCharset UTF-8 <Directory "/var/www/moiranographia.com/public_html"> AllowOverride All </Directory> </VirtualHost>
独自ドメインが複数ある場合、同様にファイルの作成を繰り返します。
もともとサーバに付与されているipアドレスを生かす
Apacheの公式ドキュメントにもある通り、VirtualHostを有効にすると、もともとサーバに付与されているipアドレスの直打ちではアクセスできなくなります。
メインホストはなくなります
既にあるウェブサーバにバーチャルホストを追加する場合、 既存のウェブサーバに対しても
ブロックを作らなければなりません。このバーチャルホストの ServerName と DocumentRoot は、グローバルな ServerName と DocumentRoot と同じものにします。また、このバーチャルホストを設定ファイルの中で先頭に置いて、デフォルトホストとして動作するようにします。
http://httpd.apache.org/docs/current/ja/vhosts/name-based.html より引用
ですので、httpd.confを編集します。
/etc/httpd/conf/httpd.conf
を開き、NameVirtualHost *:80
の下あたりに、下記を追加します。
<VirtualHost *:80> ServerName xxx.xxx.xxx.xxx DocumentRoot "/var/www/html" DirectoryIndex index.html index.php ErrorLog /var/log/httpd/error_log CustomLog /var/log/httpd/access_log combined AddDefaultCharset UTF-8 <Directory "/var/www/html"> AllowOverride All </Directory> </VirtualHost>
xxx.xxx.xxx.xxx
: もともとVPSに割り当てられていたipアドレス
この設定により、たとえばxxx.xxx.xxx.xxx/example.html
へのリクエストに対して、apacheは/var/www/html/example.html
をレスポンスとして返します。
apacheを再起動します。
service httpd restart