1つのMovableTypeをマルチドメインで運用する

MovableTypeは基本的に、1つのデータベースに1つしかインストールできません。

これは、例えばさくらインターネット等のデータベースが1つしか利用できないサーバーの場合、MovableTypeは1つのサーバーに1つしかインストールできないことになります。

そういった場合に、インストールした1つのMovableTypeを、マルチドメイン運用している各々のドメインから利用可能にする方法です。(ただし、SSHが利用できる環境に限ります)

  • さくらインターネットスタンダードプランで運用
  • test-blog.com、test-blog2.com、test-blog3.comの3つのドメインをマルチドメインで運用
  • 各々のドメインからMovableTypeを利用したい(test-blog.com/mt 等)

各ドメインは下記のようなディレクトリに対して設定されています。

  • 【test-blog.com】 /home/アカウント名/www/test-blog.com
  • 【test-blog2.com】 /home/アカウント名/www/test-blog2.com
  • 【test-blog3.com】 /home/アカウント名/www/test-blog3.com

MovableTypeをインストールする

まずはベースとなるドメインを1つ決めて、MovableTypeをインストールします。
今回は、test-blog.commt/ というディレクトリにインストールします。

シンボリックリンクを設定する

SSHでサーバーにログインし、各ドメインにシンボリックリンクを設定します。

# 設定するドメインのルートディレクトリに移動
cd /home/アカウント名/www/test-blog2.com/
# MovableTypeディレクトリへのシンボリックリンクを作成
ln -s /home/アカウント名/www/test-blog.com/mt/ mt 

これで test-blog2.com/mt でもMovableTypeの管理画面が利用できるようになります。続けて、test-blog3.comにも同様の操作を行います。

OpenPNE3をさくらインターネットで運用し始めて、cronの設定を行ったのでそのメモです。下記のような環境にインストールしていると仮定します。

  • さくらインターネット マネージドサーバー
  • アカウント名: test_account
  • インストールディレクトリ: apps/openpne3/

デイリーニュースのタスク

まずはデイリーニュースの配信タスクを設定しますので、コントロールパネルからcronの設定画面に入り、実行コマンドの欄に下記のように記述します。

/home/test_account/apps/openpne3/bin/send_daily_news.cron /home/test_account/apps/openpne3/ /usr/local/bin/php

実行タイミングは1日1回ということで、下記の画面のように設定すれば良いと思います。

誕生日のタスク

次は誕生日の通知タスクを下記のように記述します。

/home/test_account/apps/openpne3/bin/birthday_mail.cron /home/test_account/apps/openpne3/ /usr/local/bin/php

こちらの実行タイミングもデイリーニュースのように。

これでcronによってデイリーニュースなどが配信されるようになります。

ただし、デイリーニュースは最初の状態では中身が何も無いので、管理画面からガジェットを追加して内容を設定する必要があります。

WordPressの.htaccessを編集する場合の注意

WordPressでパーマリンクの設定などを行うと、WordPressのルートディレクトリに存在する.htaccessを、WordPressが自動的に書き換えてくれます。

利用している側は.htaccessを意識せずともURLの改変が行えるので非常に便利なのですが、別途mod_rewriteなどの設定を追加で記載したい場合、WordPressが勝手に上書きしてしまったりするため、気付いたら追加していた部分が消えてしまう場合があります。

WordPressを利用している場合は、下記のように #BEGIN WordPress ~ #END WordPress に囲まれている部分以外に記載することで、自動的な上書きを防ぐことができます。

Before

feedのURLをindex.rdfとしてリダイレクトさせている場合、以下だと自動的に上書きされる危険があります。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^index\.rdf$ /feed/rdf/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

After

2つの記載に分けて利用すれば問題無し。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.rdf$ /feed/rdf/ [L,R=301]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

GoogleAnalyticsのトラッキングコードを再取得する

何かの拍子にGoogleAnalyticsのトラッキングコードを消してしまった場合、Analyticsのページから再度トラッキングコードを取得する方法を紹介します。

  1. Analyticsにログイン
  2. 再取得したいアカウント名をクリック
  3. 再取得したいプロファイル名の右側にある「編集」をクリック
  4. 右上の「データを受信しています」の横にある「ステータスを確認」クリック

15分ほど場所がわからずに悩んだので、覚えておいて損はなさそうです。

OpenPNE 3.4 導入メモ

クライアントからの要望でSNSを導入する機会があり、オープンソースではメジャーなイメージのOpenPNEをインストールしてみたので、そのメモです。

インストール環境

  • さくらインターネット (マネージドプラン)
  • PHP 5.2.4
  • MySQL 5.1

CONTINUE READING