WordPressマルチサイト、サブドメイン設定

WordPressの基本機能であるマルチサイト機能、サブドメイン機能を利用してみます。設定に際しのapacheコンフィグをいじる必要があります。また、BINDのDNS設定について解説します。個別にWordPressを立ち上げる場合との違いはDBを個別に構築するかです。マルチサイト機能、サブドメイン機能を利用する場合は、DBは一つです。個別にWordPressを設定する場合はDBも分ける必要があります。また、マルチサイト機能、サブドメイン機能に完全対応したプラグインかそうでないかで、プラグインの挙動も変わります。業務利用する場合は、利用したいプラグインがどういう振る舞いをするかしっかり確認する必要があります。

wordpress-logo-hoz-rgb

一行を追記

usr/share/wordpress# vi wp-config.php
define(‘WP_ALLOW_MULTISITE’, true);

上記を追加する事でネットワークの設定が表示されます
WordPress管理画面で「ツール」→「ネットワークの設置」

画面に書かれている手順でファイルを変更する

blogs.dirのパーミッションを変更する

/var/lib/wordpress/wp-content# chmod -R 707 blogs.dir/

マルチサイト機能を利用する場合は、特にapacheの設定をいじる必要はありません。

サブドメイン機能を利用します。サイトではなくドメインをいじります。(サイトはディレクトリ、ドメインで表現しているのはホストと捉えてください)

*.hoge.hanakohoge.comにアクセスさせたい

apacheの設定

# egrep -v '^\s*$' wordpress.conf |egrep -v '^\s*#' |egrep -v '^
/'
NameVirtualHost *:80
<VirtualHost *:80>
 ServerName hoge.hanakohoge.com
 ServerAlias hoge.hanakohoge.com *.hoge.hanakohoge.com
 ServerAdmin webmaster@localhost
 DocumentRoot /var/www/wordpress
 <Directory />
 Options FollowSymLinks
 AllowOverride None
 </Directory>
 <Directory /var/www/wordpress>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory>
 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 <Directory "/usr/lib/cgi-bin">
 AllowOverride None
 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 Order allow,deny
 Allow from all
 </Directory>
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

BINDの設定

ワイルドカードDNSを利用します
一行追加(hanakohoge.comを設定しているbindで)

*.hoge               IN      A               ipアドレス

関連コンテンツ