【追記:2011年09月09日】
下記の関して、詳細な手順が「WebMatrix の歩き方 by 武田正樹 – Site Home – MSDN Blogs::[MEMO] WebMatrix で WordPress を Linux のレンタルサーバーに発行する方法」として公開されました!もうこれで完璧!?っと思っていますが・・・実際に実行してどうなるかを後ほどレポートします!(私のような素人が出来るんでしょうか!??)

【追記】
朝方まで掛って、WebMatrix で開発した WordPress ブログを FTP を利用して発行したのですが、残念ながら機能しない・・・Twitter で同じことをつぶやいたら・・・素晴らしい!Masaki Takeda (@masakit555)さんから、発行の方法を「連ツイ」で頂きましたので参考までに転載しておきます。ちなみに、私個人ではまだ実行していませんが・・・時系列に Tweet を掲載します。

FTP の時はデータベースの移行、wp-config.php のデータベースに関する設定の書き換え作業が追加で必要になります。

  1. パッと調べた感じですとないですね。なので、メモ残します。c:\Program Files\MySQL\MySQL Server 5.1\bin にある mysqldump.exe を実行します。
  2. mysqldump -u root –password データベース名 > wp.sql で mysqldump.exe のあるフォルダーに wp.sql が作成されます。
  3. このファイルをレンタルサーバーの phpmyadmin を使ってインポートします。ここはお使いのレンタルサーバーによってやり方は違うかもしれません。
  4. そして、wp-config のデータベースの接続設定を変更します。DB_NAME, DB_HOST, DB_USER, DB_PASSWORD の値を変更します。最後にFTPでレンタルサーバーにコピーすれば完了です。手順は近々にブログにまとめます。

(追記)上記、手順 2 の Password は実際のパスワードを入力するのではなく「password」と入力する。すると、enter password ってシステムが聞き返してくるようです・・・

上記手順の 2 番目をどうやって良いのやら・・・そもそも Windows 7 で EXE をどうやって実行すればいいのかな・・・しかもコマンドを利用しなければならず・・・本当は、簡単なんでしょうかね!?もうちょっとでできるような気がしているのですが・・・

【公開時、投稿記事】
WebMatrix で上で開発した WordPress のブログを「空」になっているウェブドメインにアップロードしてみました。WordPress は、通常は PHP と MySQL の設定が必要ですが、「Open Source Web Apps with Microsoft Technology::【WebMatrix】 結構 混乱するので整理、WebMatrix の動作構造と Web PI との関係」に以下のような表記があったので実行したわけです。

Web PI がまずは先にできたのですが、こちらは環境構築を容易にするツール。 xammp と違う点は PHP と MySQL で何かする環境を Windows/IIS[1] 上で如何に簡単に構築できるようにするほかに、WordPress、Xoops、SugarCRM、EC CUBE、Geeklog、OpenPNE のようなアプリケーションの環境を作ることに注目している点でしょう。

注 [1]:Apache はという質問が多いですが、WebMatrix 内では簡易動作する IIS Express を前提としており、発行先としては FTP を採用すればどこにでも発行可能です。

きゃぁ~素敵!って思って早速「空」になっているドメイン下に WebMatrix の発行を実施してみました・・・しかし、「データベースにアクセスできません!」とのメッセージが登場!ローカル PC で閲覧できるようなブログにはなってくれません・・・原因を調べて試行錯誤していましたが、結局は夜が明けてしまって。ちょっと残念ですが・・・次の課題が明確になりました!

 

WebMatrix で上で開発した WordPress のブログを「空」になっているウェブドメインにアップロードしてみました。WordPress は、通常は PHP と MySQL の設定が必要ですが、「Open Source Web Apps with Microsoft Technology::【WebMatrix】 結構 混乱するので整理、WebMatrix の動作構造と Web PI との関係」に以下のような表記があったので実行したわけです。

Web PI がまずは先にできたのですが、こちらは環境構築を容易にするツール。 xammp と違う点は PHP と MySQL で何かする環境を Windows/IIS[1] 上で如何に簡単に構築できるようにするほかに、WordPress、Xoops、SugarCRM、EC CUBE、Geeklog、OpenPNE のようなアプリケーションの環境を作ることに注目している点でしょう。

注 [1]:Apache はという質問が多いですが、WebMatrix 内では簡易動作する IIS Express を前提としており、発行先としては FTP を採用すればどこにでも発行可能です。

きゃぁ~素敵!って思って早速「空」になっているドメイン下に WebMatrix の発行を実施してみました・・・しかし、「データベースにアクセスできません!」とのメッセージが登場!ローカル PC で閲覧できるようなブログにはなってくれません・・・原因を調べて試行錯誤していましたが、結局は夜が明けてしまって。ちょっと残念ですが・・・次の課題が明確になりました!

 

「Microsoft WebMatrix」をインストール。更には WordPress をインストールしてブログをセッティング・・・ここまでは、公開されているブログやウェブページがあるので、PC へソフトウェアをインストールしたことを経験している方なら誰でもできると思います。ちょっとだけ参考ページをリストしておきましょう。

上記のページを参照されれば、簡単にインストールはできると思うのですが・・・ちょっと注意が必要なのは、WordPress をインストールする時に、想像以上に時間が掛るので辛抱強く待つことでしょう!特に私の場合、ThinkPad Edge 11″ + CORE i3 と Windows 7 の環境ですが、数時間掛ったような気がします。なんとなく稼働しているように見えるので「キャンセル」することなく辛抱できましたが、短気の方は要注意!

WordPress の初期設定として必要な事項を設定し終わると WordPress が稼働してくれます!何とも簡単です。一見、公開済みの WordPress で運営するブログと全く同じ!(当たり前か・・・)しかし・・・

これって、あくまでも「ローカル PC へのセッティング」であるため、一般に公開するブログにするためにはもうひと工夫が必要そうです。ただ、WordPress で必要な Theme や実際のサイトでテストする前に PHP コードをテストしたりと WebMatrix + WordPress をインストールしただけでもそのメリットはあるかもしれませんね。特に、私のような中途半端な WordPress の知識があれば・・・できれば、WebMatrix 上での内容を公開できるようになるといいのですが・・・ちょっと気になる投稿記事もあって・・・引用しておきましょう。

WebMatrix には、ローカルのテスト開発環境でカスタマイズした CMS を レンタルサーバーなどのリモートサーバーに発行する機能が標準搭載されています。一つは 「FTP」で、もう一つは「Web 配置」です。このうち「Web 配置」は、対応しているレンタルサーバーの数は少ないという欠点はあるものの、テスト開発環境にあるファイルに加えてデータベースのスキーマとデータも一緒にリモートサーバーに発行してくれますのでとても便利です。

(出典:「WebMatrix の歩き方 by 武田正樹 – Site Home – MSDN Blogs::[MEMO] WebMatrix の Web 配置 機能を使って レンタルサーバーに EC-CUBE を発行する方法」より)

もうちょっとだけ・・・WebMatrix で開発したウェブサイトをローカルでテストして公開するためには以下のウェブページを参考せよ、との Tweet も頂いているのですが・・・

上記のサイトを参考に実行してみましたが・・・私の知識ではできませんでした!どうやら上記のウェブページのリンクを辿ってみると「Migrate a database to SQL Server」ということで、レンタルサーバ上の MySQL と互換性をとれるようになるらしいのですが・・・また、私では無理のようです・・・

 

WordPress を利用して複数のブログを運営していますが、あっちのブログでもこっちのブログでも同じようなカスタマイズを実施したくなるのは私だけではないと思うのですが、どうやって管理されているのでしょう!?結構大変だと思うのですが。

そこで見つけたのが「Microsoft WebMatrix」なわけで、これって WordPress にも対応しているそうで、公開されているウェブページも多数存在しています。ただ、ちょっと心配していることもあるんですよね~

実は、ず~っと以前に、同じようなアプリケーションで「Microsoft FrontPage」というのがリリースされていて、私、これを愛用していたのですが、FrontPage で作成したウェブページをサーバへ移送(同期と呼ばれていました!)したら、以前から公開していた全てのウェブページが削除されてしまった経験がある・・・ということは・・・

「Microsoft WebMatrix」で全く新規のウェブサイトやブログの構築方法はありますが、既に公開済みになっているウェブサイトやブログ(私の場合、WordPress になりますが・・・)の場合はどうなるんだろう!?既存のブログを取り込んでからカスタマイズを始める必要があると思うのですが・・・特に、既に存在しているサーバの MySQL の内容や WordPress の標準ではないプラグイン等々はどう扱われるんででしょう?

WebMatrix のインストールは、ちょっと想定以上に時間が掛りましたが全く問題なくインストールを完了しましたが・・・上記が解決できないと不安だな~以下、WebMatrix のインストールに参考になるウェブページです。

Microsoft WebMatrix + WordPress で公開中の複数ブログをローカル PC で管理できたら素晴らしいんですけどね~

 

【追記】
下記の投稿記事を参考に試行錯誤してやっと出来ました!単純にリスト表示することが。まずは、リストにするために以下のように<dl><タグを<ul><タグへ変更!これは簡単でした!

<ul><?php rssList('url', 5) ?></ul>

肝心のプラグインにするための部分ですが、以下のように書き換えました。オリジナルの echo 部分をコメントアウトしましたので比較しやすいと思いますが、単純に出力したい部分をリストに対応させました!

<?php
// 外部サイトのRSSを取得して表示するためのプラグイン
// 参考サイト: http://weble.org/2010/05/22/wordpress-rss
function rssList($str, $num = null) {
	include_once(ABSPATH . WPINC . '/rss.php');
	$rss = fetch_rss($str);
	$i = 0;
	foreach ( $rss->items as $value ) {
		$i++;
		// echo '<dt>' . date('Y-m-d', strtotime($value['pubdate'])) . '</dt>';
		// echo '<dd><a href="' . $value['link'] . '">' . $value['title'] . '</a></dd>';
		echo '<li>', date('Y年m月d日', strtotime($value['pubdate'])) , ':<a href="' . $value['link'] . '">' . $value['title'] . '</a></li>';
		if(isset($num)) {
			if($i >= $num) break;
		}
	}
}
?>

上記を稼働させると・・・以下、「俺流!テニス論 2.0」を出力した場合のサンプルです!

これで、単純にリストされるようになりました!もう本当にエキサイティングです。これを利用すれば、何も自分で運営しているサイトやブログだけではなく、いろいろなサイトを自分のサイトにリストができる!

【公開時、投稿記事】
個人的に、本ブログ以外に「俺流!テニス論 2.0」も運営しています。複数ブログを運営していると、投稿記事をどこにでもリストしたいという欲求が湧いてきます(よね!?きっと・・・)本ブログでも上記のブログの投稿記事をリストしたい!そこで調べればやっぱりあるんですよね、それを実現するためのコードが!

いつもお世話になっている(といってもブログで活用させて頂いているだけですが・・・)ウェブルにありました。「 ウェブル::WordPress で RSS 2.0 を取得して一覧にするコード」がそれです。

使い方としては、以下のコードを投稿記事や固定ページの挿入してあげればいい。

<dl><?php rssList('url', 5) ?></dl>

上記コードの URL には、RSS 2.0 のアドレスを挿入し、10 はリストする投稿記事数を指定しているので自分の好みに変更すれば良い・・・ちょっと気になるのは、<dl> と </dl> タグを利用していること個人的には単純なリストにしたいな・・・

上記のコードを稼働させるためには、下記のコードを functions.php に加えるかプラグインにすること。

function rssList($str, $num = null) {
	include_once(ABSPATH . WPINC . '/rss.php');
	$rss = fetch_rss($str);
	$i = 0;
	foreach ( $rss->items as $value ) {
		$i++;
		echo '<dt>' . date('Y-m-d', strtotime($value['pubdate'])) . '</dt>';
		echo '<dd><a href="' . $value['link'] . '">' . $value['title'] . '</a></dd>';
		if(isset($num)) {
			if($i >= $num) break;
		}
	}
}

前述したように単純にリストにしたいので、上記のコードも多少書き換える必要がありそうです。ちょっとやってみましたが・・・ぎょぇ~機能しなくなっちゃう・・・何かを間違って書き換えているようですから、実装するまではもうちょっと時間が掛りそうです・・・

 

これまで愛用していた FTP クライアントである「FFFTP」が継続開発を終了する、と宣言されました(投稿記事「Sotaの雑記/ウェブリブログ::開発終了」を参照)・・・いったいいつから利用しているのかな、って思い出せないくらい長い間お世話になってました!しかし、継続開発が終了、ということは今後のアップデートやサポートが無いということですから(当たり前か!)、ちょっと心配です・・・

ということで、「FFFTP」に代わる新しいFTPクライアントを探していますが・・・あれっ!?「FFFTP」に入力したパスワード、なんだったけ!?長年、使い続けてきたためとっくの昔に入力したパスワードを思い出せません・・・「●●●●●」ってなことになっていて解読できません!これでは、新しいFTPクライアントを見つけたとしても設定ができない!

ところが!あるんですね、そんな問題を解決してくれるフリーウェアが!私は、「PasswordEye」を利用することにしました!USB メモリーに入れることが出来るし。
PasswordEye
早速、解凍して利用してみると・・・ばっちり!「FFFTP」に入力したパスワードが解読できました!本当に長い間、パスワードを全く意識することなく利用してきた「FFFTP」から新しいFTPクライアントへ乗り換えることが出来そうです。

 

以前、ちょっと興味があった「Microsoft WebMatrix」ですが、まさか Freeware じゃないよな、なんて考えて、これまでまったく無視していました・・・というよりも、すっかり忘れていました!ところが「窓の杜 – 【特集】「Microsoft WebMatrix」でWebアプリの世界へ踏み出そう! 第1回」に出会って、俄然、興味が出てきました!

MS WebMatrix

ちょっと「窓の杜 – 【特集】「Microsoft WebMatrix」でWebアプリの世界へ踏み出そう! 第1回」を引用しておきましょう。

「Microsoft WebMatrix」(以下、「WebMatrix」)は、マイクロソフトによるまったく新しい動的なWebアプリの開発環境だ。

(中略

「WebMatrix」向けにパッケージングされた60種類にものぼるWebアプリを、わずか数ステップでインストールできるのも魅力的。開発者のみならず、いろいろなWebアプリを試してみたい人、個人ブログなどを開設してみたい人、すでに開設済みのWebサイトを改善したい人、これからWeb開発やデータベースの勉強を始めたい人などにもおすすめできるツールと言える。

「WebMatrix」とは、Webサーバー・データベース・フレームワーク(開発言語など)・テキストエディター・アップロードツールをひとまとめにしたソフトだ。

たとえば、これまでWebアプリを開発する場合は、Webサーバー(Apache)、データベース(MySQL)、開発言語・フレームワーク(PHP)を個別にインストールして、それぞれが連携できるように設定したのち、テキストエディターでコーディングするといった開発スタイルが一般的であった。

(中略)また、本番サーバーへアップロードするためのFTPクライアントソフトや、場合によっては各種サーバーの起動・終了を行うツール、データベースの内容を閲覧・修正するためのデータベース管理ソフトなどを揃える必要があるのも面倒だ。

しかし、「WebMatrix」ならばそれらを1つのソフトで行える。しかも、無償で提供されているというのだから使わない手はない。

なお、「WebMatrix」で利用されるコンポーネントは、開発向けの軽量Webサーバー「IIS 7.5 Express」、データベース「SQL Server Compact 4.0」、.NET言語でWebサイトを開発できる「ASP.NET」など、その多くがマイクロソフト製の技術をベースとしているが、「PHP」「MySQL」などを利用したWebアプリの開発・実行にも対応している。

こりゃ、かなり興味深い内容ですけど・・・しかも無償で提供されていることは間違いなさそうだし。いつも、サーバ上にはファイルを保管していますが、時々、ローカルにも同じような環境があったらうれしいな~なんて感じていますから、これで解決できるのかもしれませんね!WordPress との相性も悪くないみたいだし。

WordPress が利用できて、プラグインがテストできるようになるのであれば使ってみようかな、と考えています。

 

早速、会員制のブログのコンセプトに基づいて、ログイン画面を設定する必要がありますよね!ドメイン以下の全てのディレクトリーや投稿記事、ページ等へアクセスしようとしても WordPress にロングンしていなければアクセスできないようにする・・・そのためのログイン画面を設定する必要がありますね。

以下の2つの投稿記事を参考にしました!

上記、2つの投稿記事に共通なのが「auth_redirect()という関数を利用する」ということですから、間違いなくこの関数を適用することでログイン画面に常にアクセスすようになるんでしょう。方法は・・・

WordPress のファイル、wp-blog-header.php を以下のように変更します。特に11行目から15行目までを加えただけです!ただし、wp() の直前に挿入しなければならないようです。

<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
if ( !isset($wp_did_header) ) {
	$wp_did_header = true;
	require_once( dirname(__FILE__) . '/wp-load.php' );

if (is_user_logged_in()){
 }
 else {
 auth_redirect();
};

	wp();
	require_once( ABSPATH . WPINC . '/template-loader.php' );
}
?>

上記の改良だけで WordPress の全ての階層からログイン画面にアクセスするように変更できます。ただ、通常のログイン画面では変化が無いのでもうちょっとサイトをイメージできるログイン画面にしたいですけど・・・

ちょっとログイン画面の変更に参考になりそうなサイトをリストしておきます。

 

依然、「XOOPS」というアプリケーションで会員制のウェブサイトを運営していたことがあるのですが、WordPress に出会ってから「XOOPS」の機能に一長一短があって結局は WordPress に完全に移行してしまったという経歴があります。(ちょっと大袈裟だな・・・)

最近、WordPress で運営する会員制のブログというかコミュニティーサイトを運営することに興味があって・・・単純にアクセス制限を「.htaccess」というファイルで制限することは知っているのですが、もうちょっと WordPress に特化したいな、と考えてネットを徘徊していると・・・やっぱりあったね、同じようことを考えている方。

「 atl*weblog::wordpressで非公開コミュニティサイトを作る(1)認証機能をつける」という公開記事がそれですね。ちょっと引用しておきましょう(本サイト用にちょっと言葉を変えてはいますが、ほとんどそのまま引用させて頂いています!)。

仲間内用のサイトをリニュするタイミングがあったので、WordPress で構築してみよう。(中略)基本機能のみ完成した時点で速攻公開し使ってもらい、WordPress アップデートや機能拡張に対応できるようなつくりを意識する、この二点を意識しておく。

まずは基本であるユーザー認証をつける事になる。認証周りに関する条件はユーザー管理関係も含めて以下。

  1. 【必須】:ユーザー登録は全部自分がやる!
  2. 大まかに「管理者」、「一般」、「体験中」の三段階の権限構成
  3. 【必須】:「管理者」は自分なので全権限ONで特に何も無し
  4. 「一般」は記事作成とかは出来るけど WordPress 自体の設定は出来ない
  5. 「体験中」は体験中の人専用のコンテンツしか見れない
  6. 注意すべきは体験中専用とは、記事は書けるけど編集出来ない、ではなく、それ用のページしか見れない、つまり権限判別で振り分けする

上記、2項目に編んしては、権限をレベルごとに設定しようと考えているのでしょうね!全く同じようなことを考えている私です。ちょっと自分用に書き換えると・・・

  1. ユーザ登録は、全て管理者である私が実施する!(ただし、登録申請可能)
  2. 「管理者」、「登録者」、「申請登録者」の3段階で権限構成を変える!
  3. 「管理者」は自分のみとする!(何でもかんでも可能とする)
  4. 「登録者」は、自分が積極的に閲覧して頂きたい方に公開するものとする!
  5. 「申請登録者」は、投稿記事の閲覧やコメントを送信することが出来るが、一部閲覧できない投稿記事がある!

こんなところかな・・・「申請登録者」には申請登録抹消の手続きがとれるようにしなければ!BBS のようなディスカッションのパーツを設定するかどうかは、ちょっと時間を掛けて考えよう・・・まっ、WordPress の勉強も兼ねて、こんなサイトを作成してみようかな、と考えています(できるかどうかは解りませんし、途中で飽きてしまって止めちゃうかも・・・)

 

きっと WordPress 3.2 以降からでしょうか。投稿記事を編集する時のフォントが変更されていて、どうも個人的に好きではなかった・・・いわゆる WordPress Editor というやつのフォントのことですが。何とか変更できないのかな、と試行錯誤していると・・・ありましたよ!「Webデザインレシピ::WordPress のよくあるカスタマイズコード functions.php 多め」が参考になりますが、私は英語の投稿記事「CatsWhoCode.com::8 New and amazing WordPress hacks」をコピペ!

functions.php の書き換えは、本ブログの方針に沿わないので・・・プラグインにしたってわけです。下記にコードサンプルをアップしておきます。

<?php
// 投稿記事のエディター用のフォントを変更するプラグイン
// 参考サイト:http://www.catswhocode.com/blog/8-new-and-amazing-wordpress-hacks

add_action( 'admin_head-post.php', 'cwc_fix_html_editor_font' );
add_action( 'admin_head-post-new.php', 'cwc_fix_html_editor_font' );

function cwc_fix_html_editor_font() { ?>

<style type="text/css">#editorcontainer #content, #wp_mce_fullscreen { font-family: "MS Pゴシック", Arial, "Times New Roman"; }</style>
<?php }
?>

上記コードで、好きなフォントを自分で設定すれば問題なくそのフォントに変更することが出来ます。私個人は、全て、そして長く親しんできた「MS Pゴシック」と「Arial」が外せないので上記のような設定にしましたが、各個人で好きなように好きなフォントを設定すれば良いですよね!

© 2011 ZERO BASE Suffusion theme by Sayontan Sinha
© 2011 "ZERO BASE" operated by Zero Cool. All rights reserved.