1011
一つのMovableTypeシステムで複数のドメイン、サブドメインを運用する設定
複数のドメインやサブドメインを一つのMovableTypeで運用する場合にシステムディレクトリとかスタティックディレクトリをドメインごとに用意しないといけないのかと時々話題になったりするので、共有して一つでもできるよってやり方です。
たぶん、Webに公開されているディレクトリよりも上位のディレクトリにドメインが当てられている場合は.htaccessなどではできない気がします。(VirtualHostのドメインが下位の階層に設定される80codeみたいなサーバならできるかもしれません)
なので前提として、Apacheでの設定ができることが条件です。(この時点でできない案件が多いですが)
VirtualHostで設定します。
条件としては
- http://primary.localhost/とhttp://secondery.localhost/の2つのドメイン
- どちらのドメインでもルートパス直下に /mt/へアクセスできるようにする
- システムディレクトリを共有するので、登録ユーザやプラグインも共有されてしまう
/var/www/html <-- 一般的な公開されるディレクトリ(今回は利用していない)
/var/www/vhosts/primary_domain <-- 基本となるドメイン
/var/www/vhosts/secondery_domain <-- 2つめのドメイン
それぞれのディレクトリの中身はこんな感じ
# ls -1 /var/www/vhosts/primary_domain/*
/var/www/vhosts/primary_domain/atom.xml
/var/www/vhosts/primary_domain/index.html
/var/www/vhosts/primary_domain/mt
/var/www/vhosts/primary_domain/mt.js
/var/www/vhosts/primary_domain/rsd.xml
/var/www/vhosts/primary_domain/styles.css
# ls -1 /var/www/vhosts/secondery_domain/*
/var/www/vhosts/secondery_domain/atom.xml
/var/www/vhosts/secondery_domain/index.html
/var/www/vhosts/secondery_domain/mt.js
/var/www/vhosts/secondery_domain/rsd.xml
/var/www/vhosts/secondery_domain/styles.css
というサーバの中身でseconderyには存在しないmtへのアクセスをprimaryで代用するVirtualHostの設定をします。
/etc/httpd/conf.d/あたりに設定ファイルを放り込んで、
# ls -1 /etc/httpd/conf.d/*domain.conf
/etc/httpd/conf.d/primary_domain.conf
/etc/httpd/conf.d/secondery_domain.conf
http://primary.localhost/の場合
<VirtualHost *:80>
ServerName primary.localhost
DocumentRoot /var/www/vhosts/primary_domain
ErrorLog logs/primary.localhost-error_log
CustomLog logs/primary.localhost-access_log common
AddHandler cgi-script .cgi .pl
<Directory /var/www/vhosts/primary_domain/>
AllowOverride Options
Options ExecCGI
</Directory>
</VirtualHost>
http://secondery.localhost/の場合
<VirtualHost *:80>
ServerName secondery.localhost
DocumentRoot /var/www/vhosts/secondery_domain
ErrorLog logs/secondery.localhost-error_log
CustomLog logs/secondery.localhost-access_log common
AddHandler cgi-script .cgi .pl
Alias /mt /var/www/vhosts/primary_domain/mt # ここで/mt/にアクセスがあった場合にプライマリの/mt/へエイリアスする
<Directory /var/www/vhosts/secondery_domain/>
AllowOverride Options
Options ExecCGI
</Directory>
</VirtualHost>
これでApacheをreloadします。
このようにすると、Movabletypeのシステムディレクトリを参照するようなパスは共通のシステムディレクトリへアクセスするようにすることができますね。
これで、膨大なファイルをアップロードしたり、貴重なハードディスクを消費しなくて快適Movable Type環境のできあがり。
※Alias でやるとhttp://secondery.localhost/mt/mt.cgiとかにアクセスすると蹴られるっぽいです。
AmazonでApacheを探す









