読者です 読者をやめる 読者になる 読者になる
スポンサーリンク

フリーのブログソフト「WordPress」で,マルチサイトの独自ブログを立ち上げる手順

CMS 環境構築

オープンソースのブログソフト,「WordPress」の導入方法。

インストール作業は1回だけで,サーバ上に複数の自前ブログを開設できる。(=マルチサイト機能)


作業手順:

(0)WordPressの位置付けを理解


WordPress(WP)は,フリーのブログツール。

ライセンスはGPLで,世界シェアはトップ。

競合製品であるMovable Type(MT)を追い抜いた。


要約すると,WPとMTにはそれぞれ次のような特徴がある。

  • WordPress:いつでも無料。言語はPHP,DBはMySQL。一般人にとって利用しやすい。
  • MovableType:法人利用や商用利用は有償。言語はPerlと,独自言語MTML。Oracleなんかとも連携可能なので,エンタープライズ向けのサイト構築案件なんかではあえて利用する場合もある。

WordPress と Movable Type との比較 (2011年の情報)
http://wpnavigator.com/superiority-of...

  • 「正のスパイラルに乗っている WordPress と、負のスパイラルに陥っていく Movable Type」シックスアパート社の関与の前後でシェア転換
  • 無料で公開されているプラグインやテーマの種類は、Movable Typeとは比較にならないほど多い
  • ネットは一人勝ちの世界で,何でもトップに良いリソースが集まると。


WordPressとMovable Typeを比較、というかWPのススメ
http://www.jweb-seo.com/blog/wordpres...

  • 「MT→WPへの乗り換え記事は山ほどありますが、その逆の記事は少ない」
  • WordPressのテーマやプラグインを一から作成する場合を除きPHPの知識はさほど必要ない
  • SEOの観点では差が無い


WordPressが世界一のブログソフトウェアである証拠となる統計データ (2010年の情報)
http://wpnavigator.com/basic-knowledg...

  • 世界のブログランキングで,上位ランクしているブログの多くがWordPress製


MovableTypeを3年愛用してきたプログラマーが最新のWordPressに触れて気づいたことをまとめてみた。
http://inspire-tech.jp/2011/06/movabl...

  • WPへの移行話。MTではHTMLに酷似した独自のテンプレート記述言語MTMLを使い,テンプレートにはPerlは利用できず,MTMLとPerlの両方習得が必要。ドキュメント少ない。だがOracle連携とかエンタープライズ用途なら選択肢として有


なお,WordPressもMovableTypeもCMSの一種であり,主にブログ作成用途である。

もし会員制ポータルサイト・コミュニティサイトのような物を作りたい場合は,同じくフリーのCMSであるXOOPSを使うとよい。

Windows Vista上に XAMPP と XOOPS Cube をインストールし,サイトをカスタマイズする手順
http://language-and-engineering.hatenablog.jp/entry/20110730/p1

(1)Windows上に,Apache+PHP+MySQLの環境を作成

Windows上にXAMPPをインストールすればよい。

手順は下記のエントリを参照。

Windows Vista上に XAMPP と XOOPS Cube をインストールし,サイトをカスタマイズする手順
http://language-and-engineering.hatenablog.jp/entry/20110730/p1

  • (2)XAMPPをインストールする。

(2)WordPress用のデータベースを作成

XAMPPのphpMyAdminを開く。


※CUIだけでMySQLを使っていた場合,下記のエラーでphpMyAdminが開けない場合がある。対処法は下記の通り。

スレッド: エラー#1045に関して
http://support.exxaxon.co.jp/index.ph...

  • 「MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください」
  • CUI経由でrootのパスワードを設定したため。config.inc.phpを書き換えればよい

phpMyAdminで「新規データベースを作成する」の部分に,

データベースのスキーマ名として「wordpress」など適当な名前を入力し,「作成」を押下。

(照合順序はutf8_general_ciのままでよい。)


「データベース 〜 を作成しました。」のメッセージが出れば成功。


(3)WordPressのインストール

まず,Apacheの公開ディレクトリhtdocsの中のindex.phpをリネーム。

index_.phpとでもしておく。

このファイルは,http://localhost/ から http://localhost/xampp/ にジャンプさせるためのファイルに過ぎないから,XAMPPを使う上で余り重要ではない。



WordPress公式サイトを開く。

トップページから,最新版のzipをダウンロードする。

ここでは,Version 3.4.1を想定。

完了したら,解凍。



wordpressフォルダが現れる。

このフォルダの中身を,Apacheの公開ディレクトリhtdocsの中に丸ごとコピペ。

(※もしwordpressフォルダごとコピーした場合,1ブログの運用のみ可能。複数ブログを運用するマルチサイト機能は使えない。)

全部で12MBぐらいある。



コピーが完了したら,下記のURLを開く。

  • http://開発マシンのIPアドレス/


※URLは,localhostでアクセスしてはならない。
インストール時の設定が「localhost」のまま進んでしまうと,WordPressの設定項目中に,自分のドメイン名はlocalhostとして登録されてしまう。
もし本番環境であれば,IPアドレスではなく,ドメイン名でアクセスするべきだ。
特に,マルチサイト機能を有効にしてしまったあとでは,localhost以外のサイトドメインに変更する事が困難になる。
localhostのままで進めると,外部のマシンからサイトの表示確認ができない。他のデバイス(スマホやタブレット)などでの表示確認もできない。
だから,最初からlocalhost以外の,外部からのアクセスを前提とした名前でセットアップすべきなのだ。

どや!?あなたも躓くかもしれない「ワードプレスマルチサイトでのドメイン変更」の手順書
http://www.doya-doya.com/word-press/2...

  • 通常WordPressでは、「一般設定」画面で「WordPress のアドレス (URL)」「サイトのアドレス (URL)」などでURLの変更が管理画面で可能
  • マルチサイト化を行うと「一般設定」にはこの項目がなく、「特権管理者」の中にも同様な項目がなくなる。DBを変更しなければならない

WordPressのindex.phpが表示されて,WordPressの初回セットアップ画面になる。


「wp-config.php ファイルが見つかりません。開始する前にこのファイルが必要です。」
と表示されるので,
「設定ファイルを作成する」を押下。



「WordPress へようこそ。作業を始める前にデータベースに関するいくつかの情報が必要となります。以下の項目を準備してください。」
と表示されるので,
「さあ,始めましょう」を押下。



「以下にデータベース接続のための詳細を入力してください。」
という画面になる。

  • データベース名には,先ほどphpMyAdminで作成したスキーマの名前を入力。
  • ユーザ名とパスワードは,MySQLの管理者ユーザ(root)の認証情報を入力。
  • データベースのホスト名は,localhostのままでよい。
    • サーバのIPアドレスが何であれ,WPが動いているApacheから見れば同一マシンつまりlocalhostのDBなので。
  • テーブル接頭辞は,wp_ のままでよい。
    • セキュリティを気にする場合は,自由に変えてよい。


次へ進む。
「この部分のインストールは無事完了しました。」の表示になる。
「インストール実行」を押下。



「5分でできる WordPress の有名なインストールプロセスへようこそ !」の画面になる。
サイトのタイトル,WordPressの管理者ユーザ名とパスワード,メールアドレスを入力。

「検索エンジンによるサイトのインデックスを許可する。」の部分は,
普通はチェックしたままにする。
(チェックを外すケースというのは,専ら個人的に利用するサイトで,サーバに負荷もできるだけかけたくないような場合だろう。)
「WordPressをインストール」を押下。



「WordPress がインストールされました。もっと何か作業をしたかったですか ? がっかりさせてゴメンナサイ。これだけです !」
と表示される。

「ログイン」を押下。


WordPressの管理者ログイン画面が表示される。
ユーザ名とパスワードに,先程設定した情報を入力して,ログインを押下。


WordPressの管理画面(ダッシュボード)が表示される。

画面の左上に,サイト名が表示されている。
そこをクリック。



初期状態でのブログが表示される。

Hello world!というテスト記事が投稿されている。



ここまでの参考:

『最新版』XAMPP上にWordPressを簡単インストール
http://www.tatuo-web.com/wordpress/xa...


ローカル環境にXAMPPでサーバを構築して、WordPressをインストールする方法
http://oxynotes.com/?p=2090


ここまで来たら,普通はブログの初期設定を行なう。

だが,今回は複数ブログを運用する前提なので,先にそちらの設定を行なう。


(4)マルチサイト設定を有効化

1つのWordPressで複数のブログを運用する事を,マルチサイトという。

マルチサイトの実現方式としては,URLのサブドメインで分割する方法と,

URLのサブディレクトリで分割する方式がある。


ここでは後者のサブディレクトリ方式になる。



htdoc内のwp-config.php内で,「認証用ユニークキー」を設定している部分の上あたりに,下記の行を追加。

define ('WP_ALLOW_MULTISITE', true);


こうすると,管理画面の「ツール」の項目に,「ネットワークの設置」というリンクが現れる。

リンクを押下。



「WordPress サイトのネットワークの作成」という画面になる。

ここでいうネットワークとは,マルチサイトで管理する複数のブログ全体のまとまりの事を言う。

グループのようなもの。


ネットワークのタイトル,つまり複数ブログの所属するグループ名として,適当な名前を入力。
そのままでもよい。

「インストール」を押下。



「ネットワークを有効化中」という画面になる。

いろいろ指示が書かれているので,その通りに行なう。


まず,htdocs\wp-content内に,blogs.dirというフォルダを作成。


次に,htdocs\wp-config.php内の
「編集が必要なのはここまでです ! WordPress でブログをお楽しみください。」
と書かれている行よりも上に

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
$base = '/';
define('DOMAIN_CURRENT_SITE', 'マシンのIPアドレス');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);


次に,htdocs\.htaccess内の「# BEGIN WordPress」から「# END WordPress」の間の記述を削除し,下記の記述を代わりにペーストする。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

これで,マルチサイト機能が有効になる。



次に,画面上の右下の「ログイン」リンクを押下し,ログインし直す。

入力する認証情報は前回と同じ。


ログインすると,ダッシュボードの左上に「参加サイト」>「サイトネットワーク管理者」>「サイト」というリンクがたどれるようになっているので,遷移する。


このサイトネットワーク内に参加しているサイトが,一覧表示される。

現在,「/」(ルートディレクトリ)を利用しているサイトだけが存在する。

ここから,サブディレクトリを使ったサイトを増やしてゆく。


(5)複数のブログを開設

前述の通り,「参加サイト」>「サイトネットワーク管理者」>「サイト」が,サイト一覧画面。

「新規追加」ボタンを押下。


「サイトを追加」画面になる。

サイトのアドレスとして,マシンのIPアドレス/ から下の部分のURLを聞かれるので,好きな名前を入力。

サブディレクトリは,ドメインに対するサブドメインのようなものだ。

ここではhogeとしてみる。


サイトのタイトル,管理者メールアドレスも合わせて入力。

「サイトを追加」を押下。


「サイトを追加しました。ダッシュボードを表示するか、またはサイトを編集してください。」
のような成功メッセージになる。



ここで「ダッシュボードを表示」のリンクをクリックすると,新規開設したブログの管理画面が表示される。

また,左上の「参加サイト」のメニューの中にも,先程追加したサイトのタイトルが追加されている。

ブログごとに管理画面にジャンプできるようになったのである。



ここで,新規ブログを追加すると,追加直後,そのブログの管理画面は英語になっている。

ブログ自体も,メニューなどが英語化されている。

  • http://マシンのIPアドレス/hoge/


言語設定を変えるには,ダッシュボード(=管理画面)の左サイドから

Settings>Generalを選び,「Site Language」を「Japanese」にすれば,

管理画面もブログも日本語になる。


※なお言語設定は,サイトごとに個別に設定できる。



上記のような手順を繰り返せば,1つのWordPressで,設定の異なる複数のブログを開設できる。



参考:

WordPressのマルチサイト機能で複数のブログを管理する
http://mage8.com/multiple-blogs-on-wo...

  • 特権管理者の呼称は、WordPress 3.1 から ネットワーク管理者 (サイトネットワーク管理者) へと変更
  • ページ下部に表示される サイトを追加 の項目に必要事項を記入し、サイトを追加のボタンをクリックすれば新しいサイト(ブログ)を作成可能
  • WordPress のマルチサイト機能を使うと WordPress.com や他のレンタルブログの様にWEB上で利用者を募集し、他人にブログを貸し出して使用させる事ができる


WordPress 3.x マルチサイト機能有効化の作業メモ
http://blog.infinity-dimensions.com/2...

  • サイトネットワーク管理者のダッシュボードといった専用メニューから、各サイトを追加したりといった管理作業が行える
  • 新規サイト追加時に言語設定がデフォルトで英語になっていますので、初期設定言語を英語→Japaneseに変更するのを忘れないように

(6)独自テーマの作成

各サイトは,デザインのテーマを持っている。

ダッシュボードの概観(Appearance)から「テーマ」を選択すると,初期状態では「Twenty Eleven」というテーマが選択されている。


ここでは,テーマ作成作業の入門として,既存のテーマを改変して自作のテーマを作る方法を述べる。

※改変時には,元のテーマのライセンスに注意すること。


WordPressにインストールしてあるテーマは,

htdocs\wp-content\themes

の中にフォルダ単位で存在する。

最初は,twentyelevenとtwentytenしかない。



ここで,twentyelevenをフォルダごとコピーして,「fuga」のようなフォルダ名にリネームしてみよう。

そしてそのフォルダ内に存在するstyle.cssを開き,冒頭の

/**
Theme Name: Twenty Eleven

*/

という記述を見つける。

ここには,テーマの作成者や,テーマの名称などの情報が書かれている。

WordPressは,各フォルダのstyle.cssの冒頭のコメントを読み取り,それぞれ個別のテーマ情報を識別しているのである。


Theme Name: のあとの部分を,独自テーマ名として「fuga」と書き変えてみる。

これで,WordPressはこのフォルダを独自のテーマとして識別できるようになった。

(※本当にデザインをカスタマイズする場合は,CSSの中身や,同一フォルダ上の各種PHPファイルの中身も書き換える。ここでは,まだそれはしない。)


さっそく,このテーマをWordPressから使えるようにする。


ダッシュボード左上の「サイトネットワーク管理者(Network Admin)」を選択。

テーマ>インストールされているテーマ に遷移。


一覧表示されたテーマの中に「fuga」も存在するはずだ。

fugaの「ネットワーク有効化」リンクを押下。

「1 個のテーマを有効化しました。」と表示される。

これで,ネットワーク(=複数ブログ)中で,このテーマを利用可能になる。



ダッシュボード左上の「参加サイト」の中から,テーマを適用したいサイトを選択。

外観>テーマ を選択すると,画面下部で,先程作成した「fuga」というテーマが利用可能になっている。

fugaで「有効化」を押下。

「新しいテーマを有効化しました。」と表示され,現在のテーマがfugaになる。


こうやって,独自テーマを作成して,各サイトに適用していく事ができる。

テーマはサイトごとに適用されるので,複数ブログに対してそれぞれ別個のテーマを適用する事ができる。

WordPressのオリジナルテーマ作成フロー・基本マニュアル
http://kachibito.net/wordpress/theme-...

  • style.cssというファイル名にしてください。これがないとテーマを認識してもらえません
  • 冒頭にコメントアウトで書くことで、管理画面→外観に反映されます

(7)サイトごとにデザインをカスタマイズ

前項で,1つのテーマに相当するフォルダをコピーによって作成し,WordPressに認識・適用させる手順を述べた。

次は,具体的にデザインやレイアウトを調整する。



まず,管理画面から行なえる分のデザイン変更。


まず,サイトのタイトルとキャッチフレーズは,
ダッシュボードの設定>一般 から変更できる。

また,ブログの各投稿記事の投稿日付のフォーマットも,
その画面の「日付のフォーマット」や「時刻フォーマット」から変更できる。



設定>ディスカッション からは,
トラックバックやコメントの受付・拒否に関する設定が可能。

とくに,「コメント表示条件」の欄で
「管理者の承認を常に必要とする」のチェックはONにしておいた方がよいだろう。
スパムコメントが表示されるのをブロックできる。



設定>パーマリンク設定 からは,ブログの各投稿記事のURLを設定できる。



次に,ブログのサイドバーの表示内容を変えてみよう。

外観>ウィジェット から設定できる。

画面中央に「利用できるウィジェット」,画面右側に「メインサイドバー」という枠がある。

サイドバーに表示する内容は,ドラッグドロップで並び変えたり調整できる。


もし任意のテキストやHTMLをサイドバーに表示したい場合,

中央の「テキスト」をサイドバーのエリアにドラッグドロップする。

すると,タイトルと内容を入力できる。内容欄には,自由にHTMLを記述してよい。



外観>背景 あたりからは,サイトの背景色を設定できる。


メディア>新規追加 などとすると,画像とかをアップロードできる。

各画像にはURLが与えられるので,ブログ内でimgタグを使って画像表示することもできる。



次に,管理画面ではなくPHPソースファイルから行なうデザイン変更。

twentyelevenをコピー元としてテーマを作成した場合,PHPのテンプレートファイルの中身はHTML5である。

主なテンプレートファイルは次の通り。

  • index.php:
    • トップ画面。
  • single.php
    • 個別記事の画面。
  • header.php:
    • 全画面共通のヘッダ部分。HTMLタグの開始から,画面上部の画像表示,グローバルナビの表示,メイン部分の開始まで。
  • footer.php
    • フッタ部分。


ここで,「個別記事の画面にサイドバーを表示させたい」と思う場合,single.phpの内容を編集すればよい。

具体的な編集手順は下記を参照。

個別記事にサイドバーを表示-ワードプレスtwentyelevenカスタマイズ
http://webshufu.com/wordpress/twentye...


以上。

あとは,記事やコンテンツを投稿して,ブログを充実させてゆけばよい。