Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Q&A技術的な質問と回答

Q.サブドメインでブログを公開したい

サブドメインでブログを公開できますか。

A.

可能です。
ただし、ご利用のホスティングサービスなどで、サブドメインを利用可能なことが前提となります。

サブドメインを利用可能な場合、Movable Type で作成する複数のブログに、それぞれ別のサブドメインを適用して公開することができます。

例えば、sub.example.com でブログを公開する際の設定を以下とします。

ドメイン 対応するディレクトリ
ウェブサイト example.com /var/www/vhost/example.com
ブログ sub.example.com /var/www/vhost/sub.example.com

上記サブドメインを適用する場合の作業は以下のとおりです。

ウェブサイトの設定

ブログはウェブサイト配下に作成する必要があるため、まずはウェブサイトを作成します。すでに作成済みの場合、この作業は不要です。

  1. 管理画面左上の ▼ をクリックし、ナビゲーションメニューから「ウェブサイトの作成」を選択
  2. 必要項目を設定し、「ウェブサイトの作成」ボタンをクリック

この例では以下のように設定します。

ウェブサイトURL example.com
ウェブサイトパス /var/www/vhost/example.com
ブログの設定

sub.example.com で公開するブログを作成します。

  1. ウェブサイトの管理画面でサイドメニュー「ブログ」>>「新規」をクリック
  2. 「ブログURL」の入力欄から初期設定のパス(BLOG-NAME/)を削除する
  3. 「サブドメインの利用」にチェックを入れる
  4. あらたに表示された入力欄にサブドメイン(ここでは「sub」)を入力する
  5. 「ブログパス」の「絶対パスの利用」にチェックを入れる
  6. 「ブログパス」にブログの絶対パス(ここでは「/var/www/vhost/example.com」)を入力する
  7. そのほかの必要項目を設定
  8. 「ブログの作成」ボタンをクリック

今回は、ブログとウェブサイトと同じ階層のディレクトリで作成しているため、「絶対パスの利用」を有効にしています。/var/www/vhost/example.com/sub のように、ウェブサイト配下のディレクトリにサブドメインを割り当てている場合は、「絶対パスの利用」チェックボックスにチェックを入れる必要はありません。

また、ウェブサイトパスの制限をおこなっている場合は、「絶対パスの利用」チェックボックスは表示されません。

環境の設定

公開するブログが以下の条件にひとつでも当てはまる場合は、ウェブサーバーの設定もしくは環境設定ファイル「mt-config.cgi」の設定が必要です。

  • コメント機能や検索機能など、Movable Type のインストールディレクトリ内にある CGI ファイルをブログ上で使用する
  • テーマ内の CSS ファイルなど、mt-static ディレクトリ内のファイルをブログ上で使用する

上記に該当する場合、以下のいずれかの対応が必要です。

■ウェブサーバーの設定

sub.example.com で、各 CGI ファイルや mt-static ディレクトリにアクセスできるように、ウェブサーバー側で設定します。

例えば、Movable Type が /var/www/vhost/example.com/mt にインストールされている場合、Apache では以下の設定のように Alias 機能を利用します。

<VirtualHost *:80>
  DocumentRoot /var/www/vhost/sub.example.com
  ServerName sub.example.com
  Alias /mt /var/www/vhost/example.com/mt
  <DirectoryMatch /var/www/vhost/.*>
    Options Includes ExecCGI FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
  </DirectoryMatch>
</VirtualHost>

※設定の反映にはウェブサーバーの設定ファイルのリロードもしくはウェブサーバーの再起動が必要です。

■環境設定ファイル「mt-config.cgi」の設定

ウェブサーバーの設定変更が許可されていない場合などは、「mt-config.cgi」内の設定を変更します。

  • 変更前
    CGIPath /mt/
    StaticWebPath /mt/mt-static/
    
  • 変更後
    CGIPath https://example.com/mt/
    StaticWebPath https://example.com/mt/mt-static/
    

複数のブログを異なるドメインで運用した場合でも、各ブログから呼び出される CGI ファイルの URL は「CGIPath」を元にした URL になります。

今回の例では、https://sub.example.com ブログ上に出力される CGI ファイルの URL は、https://example.com/mt/xxxxx.cgi になります。

https://sub.example.com/mt/xxxxx.cgi のように、ブログのドメインを元にした URL で出力する場合には「mt-config.cgi」内の設定変更では対応できません。ウェブサーバー側での対応が必要です。

Q&A検索