<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ウェビンブログ &#187; server</title>
	<atom:link href="http://blog.webbingstudio.com/tag/server/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.webbingstudio.com</link>
	<description>札幌のWebデザイナー・カスタマイズアドバイザー WebbingStudioのよしなし語り</description>
	<lastBuildDate>Fri, 30 Jul 2010 00:11:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPressをもっとカスタマイズするための、記事情報の解析方法</title>
		<link>http://blog.webbingstudio.com/2010/05/wordpress_posts.html</link>
		<comments>http://blog.webbingstudio.com/2010/05/wordpress_posts.html#comments</comments>
		<pubDate>Fri, 14 May 2010 17:16:12 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1346</guid>
		<description><![CDATA[
WordPressは素晴らしいフリーテーマがたくさんあるので、それをいじるだけでもカスタマイズは習得できます。
ですが、実務的なカスタマイズに必要となる「詳しい記事情報を解析する方法」は意外と紹介されていません。
簡単 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1347" title="posttest" src="http://blog.webbingstudio.com/uploads/2010/05/posttest.jpg" alt="" width="480" height="387" /></p>
<p>WordPressは素晴らしいフリーテーマがたくさんあるので、それをいじるだけでもカスタマイズは習得できます。<br />
ですが、実務的なカスタマイズに必要となる「<strong>詳しい記事情報を解析する方法</strong>」は意外と紹介されていません。</p>
<p>簡単に実験できるテーマもおまけにつけて、ざっくりまとめてみました。<br />
PHPのことはあまりよくわからない…という人たちは、これをとっかかりに学習してみてはいかがでしょうか。</p>
<p><span id="more-1346"></span></p>
<h3>０：記事情報解析用のテーマ「posttest」</h3>
<p>これは、記事情報を解析するための構文だけが書いてある、実験用のテーマファイルです。<br />
ブログ用のテーマではないので「index.php」しかありませんがw<br />
この先を読みながら、あなたのブログに反映して試してみてください。</p>
<p><a class="blank" href="http://webbingstudio.com/souvenir/theme_posttest.zip">記事情報解析用のテーマ「posttest」ダウンロード</a></p>
<h3>１：サーバー情報を得る</h3>
<p>サーバー情報を取得、出力します。<br />
これはWordPressの独自タグではなくPHP標準の関数です。<br />
<strong>※第三者が閲覧できるページで実行しないようにしてください。</strong></p>
<pre><code>&lt;?php
	print_r($_SERVER);
?&gt;
</code></pre>
<h3>２：カテゴリー情報を得る</h3>
<p>カテゴリー情報を取得、出力します。<br />
出力内容は「$posts[0]のカテゴリー情報」なので、複数カテゴリーが指定されている可能性もあります。<br />
また、<strong>出力結果の記事が一件もないと、この内容もNULLになってしまいます</strong>。出力結果がゼロの可能性があるけれどカテゴリーの情報を取得したい…という場合は、<del datetime="2010-05-14T17:16:16+00:00">ちゃんと引数にカテゴリーIDを明示するようにしてください。</del>【訂正】この関数は引数がありません。すいません。DBから直接取得した方が早いかもしれません（汗）</p>
<pre><code>&lt;?php
	$cat = get_the_category();
	print_r($cat);
?&gt;
</code></pre>
<h3>３：記事情報を解析</h3>
<p>query_posts関数を実行していない状態では、<br />
オブジェクト「$posts」にはそのページに沿った記事情報が入っています。<br />
単純な出力は「&lt;?php while ( have_posts() ) : the_post() ?&gt;～&lt;?php endwhile ?&gt;」でできますが、PHPのforeach関数でも取得することができます。</p>
<pre><code>&lt;?php while ( have_posts() ) : the_post() ?&gt;
&lt;?php print_r ($post) ?&gt;
&lt;?php endwhile ?&gt;
</code></pre>
<h3>４：抽出条件の上書き</h3>
<p>query_posts関数を使用すると、出力される記事の条件を変更することができます。<br />
グローバル変数「query_string」を上書きするのが確実です。<br />
※ID「5」の記事を抽出するようになっています。構文の「cat=5」のところを任意で書き換えてください</p>
<p>指定できるクエリについては<a class="blank" href="http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/query_posts">WordPress Codex内「query posts」の解説</a>を参照してください。</p>
<pre><code>&lt;?php
	$Q = "&amp;category_name=&amp;cat=5";
	global $query_string;
	query_posts($query_string . $Q);
?&gt;
</code></pre>
<h3>５：the_postを再実行後記事情報を解析</h3>
<p>query_posts関数を使用後、もう一度<br />
「&lt;?php while ( have_posts() ) : the_post() ?&gt;～&lt;?php endwhile ?&gt;」を実行すると、記事情報が新しく定義したものに変更されます。<br />
（３の後に４→５と実行して内容を比較してみてください）</p>
<pre><code>&lt;?php
	while ( have_posts() ){
		the_post();
		print_r ($post);
	}
?&gt;
</code></pre>
<h3>６：オブジェクト内容の取得</h3>
<p>記事タイトルだけ必要な場合は、「-&gt;」でキーを指定することで、文字列で習得できます。<br />
配列のように見えますが、<strong>$post['post_title']では取得できない</strong>ことに注意してください。</p>
<pre><code>&lt;?php
	while ( have_posts() ){
		the_post();
		echo $post-&gt;post_title . '&lt;br /&gt;';
	}
?&gt;
</code></pre>
<h3>７：補足</h3>
<p>WordPressのpostに入っている値は、全てPHPエンコード処理がされています。<br />
このため、クォーテーションやバックスラッシュが含まれる記事を関数に投入しても問題は起きません。<br />
ただし、<strong>HTMLはエンコードされていない</strong>ので、HTMLタグが反映されると危ない状況で使用する場合は<br />
strip_tags関数やhtmlspecialchars関数を通すようにしましょう。</p>
<pre><code>&lt;?php
	while ( have_posts() ){
		the_post();
		echo strip_tags($post-&gt;post_content) . '&lt;hr /&gt;';
	}
?&gt;
</code></pre>
<hr />
<p>WordPressはPHPの知識があれば、簡単にカスタマイズできるのが魅力です。<br />
ですが、他のCMSと違ってプログラムを直に扱うため、テーマファイルの見通しが利きにくく、予想外の不具合やセキュリティホールが発生する可能性が高い側面があります。<br />
趣味レベルなら問題ないですが、実務でWordPressを構築する場合は仕様やリスクを考慮して正しく利用したいものです。</p>

<a href="http://twitter.com/?status=RT+%40%3A+WordPress%E3%82%92%E3%82%82%E3%81%A3%E3%81%A8%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%80%81%E8%A8%98%E4%BA%8B%E6%83%85%E5%A0%B1%E3%81%AE%E8%A7%A3%E6%9E%90%E6%96%B9%E6%B3%95+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2F27yz45b&amp;in_reply_to_status_id=13987172930" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2010/05/wordpress_posts.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPressを一部のディレクトリのみ有効にする</title>
		<link>http://blog.webbingstudio.com/2010/05/wp_directories.html</link>
		<comments>http://blog.webbingstudio.com/2010/05/wp_directories.html#comments</comments>
		<pubDate>Mon, 10 May 2010 07:17:29 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Customize]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1341</guid>
		<description><![CDATA[2010/6/11追記：
未保存の記事プレビュー／検索にも対応した、完全版をアップしました。
>>http://blog.webbingstudio.com/2010/06/wp_directories_2.html

 [...]]]></description>
			<content:encoded><![CDATA[<p><ins style="display: block; margin: 0 0 20px; padding: 10px; background: #FFE6F9; text-decoration: none;">2010/6/11追記：<br />
未保存の記事プレビュー／検索にも対応した、完全版をアップしました。<br />
>><a href="http://blog.webbingstudio.com/2010/06/wp_directories_2.html">http://blog.webbingstudio.com/2010/06/wp_directories_2.html</a></ins></p>
<blockquote><p><img class="alignnone size-full wp-image-1340" title="ディレクトリ構造のサンプル" src="http://blog.webbingstudio.com/uploads/2010/05/wp_directories.jpg" alt="図：ディレクトリ構造のサンプル" width="401" height="369" /></p>
<p>上図のようなディレクトリ構造で、「information」と「blog」だけWordPressで更新できるようにしたい</p>
</blockquote>
<p>…という案件が来ると、普通はinformationとblog、それぞれを起点にしたWordPressを個別に設置します。</p>
<p>WordPressは、バージョン2.9の段階では、<strong>ブログのルートより下層に静的ファイルを置いても表示されない</strong>からです。<br />
ですが、</p>
<blockquote><p>できればひとつのブログで、informationとblogをカテゴリーとして管理できるようにしたい</p></blockquote>
<p>と言われた場合、この方法は使えません。</p>
<p>WordPressの全機能を使うのでなければ、一部ディレクトリだけ管理下に置くことは、プラグインの追加と.htaccessの調整で可能です。</p>
<p><span id="more-1341"></span></p>
<h3>WordPressを下層ディレクトリに置く</h3>
<p>最上層のindex.htmlとぶつかってしまうので、WordPress本体はひとつ下層に設置します。<br />
この例では「wordpress」というディレクトリに設置したとして話を進めます。</p>
<p>※私はセキュリティ上の理由などで、ディレクトリ名＝CMS名にしないことが多いです</p>
<h3>「WP No Category Base」を追加する</h3>
<p>このカスタマイズをするには、プラグイン「WP No Category Base」が必要です。<br />
これはWordPressで出力されるカテゴリーアーカイブのURLから、最初に必ず付与される「category」を取り除きます。<br />
若干負荷が上がりますが、CMS的な構築をするには必須のプラグインです。</p>
<p>WordPress公式のプラグインディレクトリで入手できます。<br />
<a class="blank" href="http://wordpress.org/extend/plugins/wp-no-category-base/">http://wordpress.org/extend/plugins/wp-no-category-base/</a></p>
<p>特に設定は必要なく、アップロードして有効にするだけでOKです。</p>
<h3>一般設定／パーマリンク設定を変更する</h3>
<p>次に、WordPressの「設定→一般」と「設定→パーマリンク設定」を変更します。</p>
<h4>一般設定</h4>
<p>「ブログのアドレス」を「サイトルート」に設定します。<br />
最初の図の「www」のURLが「http://webbingstudio.com/」だった場合はそれを入力して更新します。<br />
このとき、サイトルートに.htaccessが書き出されます。<br />
自作の.htaccessを置いていると上書きされてしまうので、前もって避難させるか、書き込み禁止にしてください。</p>
<h4>パーマリンク設定</h4>
<p>「カスタム構造」にチェックを入れて、以下のように記入します。</p>
<pre><code>/%category%/%post_id%/</code></pre>
<p>ブログのURLが「http://webbingstudio.com/」だった場合、カテゴリーがhoge、IDが6の記事のURLは<br />
<em>http://webbingstudio.com/hoge/6/</em><br />
となります。</p>
<p>ここまで作業したら、<strong>サイトルートに書き出されている.htaccessを削除してしまいます</strong>。</p>
<h3>新たに定義した.httaccessを置く</h3>
<p>以下のように記述した、.htaccessをサイトルートに新しく設置します。<br />
（既にある場合は追記します）</p>
<pre><code># BEGIN WordPress

RewriteEngine On

RewriteBase /

RewriteRule ^(information|blog)/(.*) wordpress/index.php [L]
RewriteRule ^(date|tag|feed)/(.*) wordpress/index.php [L]
RewriteRule ^category/(information|blog)/(.*) wordpress/index.php [L]
RewriteRule ^(information|blog)/feed/(.*) wordpress/index.php [L]

# END WordPress</code></pre>
<h4>RewriteBase</h4>
<p>「/」はサーバールートからの相対パスです。<br />
もしもサイトルートが「test」だと「/test/」となります。</p>
<h4>RewriteRule</h4>
<p>条件を満たした場合に、WordPressのindex.phpを呼び出す、という指定です。</p>
<p>(information|blog)に、WordPressを有効にしたいディレクトリをパイプ区切りで指示します。<br />
「aaa」「bbb」「ccc」なら(aaa|bbb|ccc)と書きます。<br />
「aaa/ddd」「bbb/eee/fff」などの下層ディレクトリもWordPress配下となります。</p>
<p>これをサイトルートにアップロードすると、</p>
<ul>
<li>指定したカテゴリーと関連フィード</li>
<li>日別アーカイブ</li>
<li>タグサーチ</li>
</ul>
<p>のみWordPressが起動し、それ以外は静的コンテンツがあるサーバーと同じ挙動になります。<br />
（例えカテゴリーを作っていても表示されません）</p>
<p>アップロードしたら、<strong>.htaccessのパーミッションを444にしてください</strong>。<br />
書き込み可になっていると、WordPressの設定を変更したときに上書きされてしまいます。</p>
<p>あとは、各ページに移動して一部だけWordPressが起動するか確認します。</p>
<h3>注意点</h3>
<ol>
<li>一般的なサーバーで動作確認をしていますが、設置条件やサーバー状況によってはうまくいかないかもしれません。必ず検証してください。</li>
<li>WordPressの404ページは有効になりません。必要な場合は.htaccessにエラーページ指定を追記して自作してください。</li>
<li>キーワード検索はURLのルールが違う（クエリ式）なので、別のRewriteRuleが必要です。まだ実装したことがないので、ここでは割愛します。</li>
</ol>

<a href="http://twitter.com/?status=RT+%40%3A+WordPress%E3%82%92%E4%B8%80%E9%83%A8%E3%81%AE%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AE%E3%81%BF%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2F2ahtglh&amp;in_reply_to_status_id=13713572580" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2010/05/wp_directories.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MovableTypeのAtomフィードには、テストサーバーの情報がこっそり残ってしまう</title>
		<link>http://blog.webbingstudio.com/2010/02/mt_atom_feed.html</link>
		<comments>http://blog.webbingstudio.com/2010/02/mt_atom_feed.html#comments</comments>
		<pubDate>Thu, 04 Feb 2010 09:38:51 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Customize]]></category>
		<category><![CDATA[MovableType]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1313</guid>
		<description><![CDATA[

MovableTypeの初期テンプレートセットには、「最新記事のフィード」という、Atom1.0形式のフィード用テンプレートが含まれています。
サイトから配信するRSSフィードは普通は「新着記事」になるので、よ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.webbingstudio.com/uploads/2010/02/mtatom.jpg"><img src="http://blog.webbingstudio.com/uploads/2010/02/mtatom-480x371.jpg" alt="" title="mtatom" width="480" height="371" class="alignnone size-large wp-image-1312" /></a></p>

<p>MovableTypeの初期テンプレートセットには、「最新記事のフィード」という、Atom1.0形式のフィード用テンプレートが含まれています。<br />
サイトから配信するRSSフィードは普通は「新着記事」になるので、よほどこってりしたカスタマイズをしない限り、このテンプレートをそのまま使うことになります。</p>

<p>しかし、テストサーバーで記事を入れ込み→本番サーバーに移行という流れで構築をしている場合、このテンプレートの扱いにはちょっとした注意が必要です。</p>
<span id="more-1313"></span>
<p>「最新記事のフィード」テンプレートの14行目に、以下のようなコードがあります。</p>

<pre><code>&lt;id&gt;&lt;$mt:EntryAtomID$&gt;&lt;/id&gt;</code></pre>

<p>MTタグ「<strong>&lt;$mt:EntryAtomID$&gt;</strong>」はAtomフィード内で各エントリーに一意のIDを振るために用意されているものです。</p>

<p>これが、再構築すると以下のような文字列に変換されるのですが、</p>

<pre><code>tag:[記事を書いた時のブログのドメイン名],[記事の公開年]:[ブログトップのサーバー内相対パス]/[ブログID].[記事ID]</code></pre>

<p>[記事を書いた時のブログのドメイン名]と、[ブログトップのサーバー内相対パス]は、<strong>ドメインやサーバーを変更してもそのままデータベースに残ってしまいます。</strong></p>

<p>つまり、もしも ｈttp://exmaple.testserver.com/test/ というURLにテストブログを作って記事の入れ込みをしていた場合、本番サーバーへ移行した後も、</p>

<pre><code>tag:exmaple.testserver.com,2010:/test//1.999</code></pre>

<p>という文字列がAtomフィードに残ることになります。</p>

<p>AtomIDは一意の値を振るためのものなので、存在しないドメイン名が残っていても問題はないようですし、わざわざソースコードを見ない限り、このIDが一般の閲覧者の目に触れることはありません。<br />
ですが、自社サーバーで作業していた場合などは、やはりテストサーバーのドメインは知られたくないところです。</p>

<p>対策としては、データベースを直接書き換える手も考えられますが、&lt;$mt:EntryAtomID$&gt;自体を使用せず、他のMTタグを組み合わせて同じような書式を作ってしまう方法が手っ取り早いです。</p>

<pre><code>&lt;id&gt;tag:&lt;$mt:BlogHost$&gt;,&lt;$mt:EntryDate language="en" format="%Y"$&gt;:&lt;$mt:BlogRelativeURL$&gt;/&lt;$mt:BlogID$&gt;.&lt;$mt:EntryID$&gt;&lt;/id&gt;</code></pre>

<p>上記のようにタグを書くと、再構築をした段階のドメイン・サーバーの情報を元にIDが再発行されます。</p>

<a href="http://twitter.com/?status=RT+%40%3A+MovableType%E3%81%AEAtom%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%81%AB%E3%81%AF%E3%80%81%E3%83%86%E3%82%B9%E3%83%88%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E6%83%85%E5%A0%B1%E3%81%8C%E3%81%93%E3%81%A3%E3%81%9D%E3%82%8A%E6%AE%8B%E3%81%A3%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fyzoxu9n&amp;in_reply_to_status_id=8626169271" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2010/02/mt_atom_feed.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>エックスサーバーにSOY CMSをインストールする：1.2.6版</title>
		<link>http://blog.webbingstudio.com/2009/10/xserver_soycms126.html</link>
		<comments>http://blog.webbingstudio.com/2009/10/xserver_soycms126.html#comments</comments>
		<pubDate>Thu, 22 Oct 2009 06:26:04 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[SOYCMS]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=1159</guid>
		<description><![CDATA[
「WebSite expert」26号でも巻頭特集が組まれ、
イメージキャラ「まめ蔵」も舌好調（夜はツンデレ属性に変化する）のSOY CMSですが、私が本サイトを置いているエックスサーバーは動作環境を満たしていませんで [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.webbingstudio.com/uploads/2009/10/soycms_xserver.jpg" alt="X SERVERのみなさま！SOY CMSがエックスサーバーでも使えるようになったソイ！" width="480" height="120" class="alignnone size-full wp-image-1160" /></p>
<p>「WebSite expert」26号でも巻頭特集が組まれ、<br />
イメージキャラ「<a href="http://twitter.com/SOY_CMS" class="blank">まめ蔵</a>」も舌好調（夜はツンデレ属性に変化する）の<a href="http://www.soycms.net/" class="blank">SOY CMS</a>ですが、私が本サイトを置いている<a href="http://www.xserver.ne.jp/" class="blank">エックスサーバー</a>は動作環境を満たしていませんでした。</p>
<p>会社に要望を出しても、個別対応は承っておりません、のつれない返事。<br />
それなら無理やり設置してやる！と<br />
「<a href="http://blog.webbingstudio.com/2009/03/%E3%82%A8%E3%83%83%E3%82%AF%E3%82%B9%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%ABsoycms%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B.html" class="blank">エックスサーバーにSOY CMSをインストールする</a>」という検証記事を書いたのが数か月前。<br />
インストールまでは成功したのですが、管理画面の不具合が直らず断念していました。</p>
<p>そんなSOY CMSが、先月の1.2.6へのバージョンアップで、ついにエックスサーバーでも正常に動作するようになりました！<br />
インストーラーなし・SQLite版で基本的な動作を確認しています。<br />
開発の皆様、ありがとうございます。</p>
<p><span id="more-1159"></span><br />
設置手順は以前書いた記事と変わりませんが、不具合を回避する作業がひとつ増えます。<br />
SOY CMSフォーラムのスレッドを更新していますので、詳細はこちらをご参照ください。</p>
<p><a href="http://www.soycms.org/viewtopic.php?f=6&#038;t=144#p430" class="blank">エックスサーバー(X20)にインストールする方法について</a></p>
<p>また、正常に動くようになったとはいえ「動作環境を満たしていないサーバーに強引に設置している」という状況は変わりません。<br />
設置する場合は、使用予定の機能・プラグインをチェックしなおしてくださいね。</p>

<a href="http://twitter.com/?status=RT+%40%3A+%E3%82%A8%E3%83%83%E3%82%AF%E3%82%B9%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%ABSOY+CMS%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%EF%BC%9A1.2.6%E7%89%88+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fykagqgv" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/10/xserver_soycms126.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>a-blogcmsをインストールした</title>
		<link>http://blog.webbingstudio.com/2009/07/a-blogcms.html</link>
		<comments>http://blog.webbingstudio.com/2009/07/a-blogcms.html#comments</comments>
		<pubDate>Fri, 31 Jul 2009 14:40:40 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[a-blog cms]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=847</guid>
		<description><![CDATA[CSS Niteで興味を持ったa-blogcmsを、サーバーにインストールして管理画面をひと通り見てみました。
a-blog cms &#8211; Web制作者のためのCMS
人の良さそうな青年が「プログラムとかよくわ [...]]]></description>
			<content:encoded><![CDATA[<p>CSS Niteで興味を持ったa-blogcmsを、サーバーにインストールして管理画面をひと通り見てみました。</p>
<p><a class="blank" href="http://www.a-blogcms.jp/">a-blog cms &#8211; Web制作者のためのCMS</a></p>
<p>人の良さそうな青年が「プログラムとかよくわかんないんだけど…」って言ってます。<br />
バッケロウ！CMS使うならPHP書けないと食っていけないぜ。</p>
<p>とりあえずインストールと、記事投稿のことをざっと書きます。</p>
<p><span id="more-847"></span></p>
<h3>設置ディレクトリについて</h3>
<p>インストールは、久しぶりにすんなりできました。<br />
ファイルを全てアップロードして、設定ファイルのパーミッションと.htaccessのファイル名を変えたら、ディレクトリへアクセスするだけです。</p>
<p>※XServerはパーミッションのグループ権限を6以上にできません。646・757等にしておけばいいと思います。</p>
<p>MovableTypeに慣れている人は「本体の設置場所」に注意が必要です。<br />
a-blogcmsは公開画面と管理画面が連動している関係上、初期状態で<strong>「公開用のディレクトリ」にCMS本体をインストールする</strong>ことを前提としています。<br />
つまり、WordPressやXoops Cubeのように、サイトルートで公開する場合は、そこにa-blogcms一式を置いた方が作業的には楽ということです。</p>
<p>ログインページのURLは<br />
<strong>[インストールしたディレクトリ]/login/</strong><br />
となります。</p>
<p>私はCMSやブログをインストールするときは、本体ディレクトリと公開ディレクトリを別にしているので、公開URLが変なことになって戸惑っているところです。たぶん変えられると思うのでマニュアルを調べます。</p>
<h3>ionCubeローダー</h3>
<p>a-blogcmsの設置には、本体の他に「ionCubeローダー」という暗号化ツールが必要になります。</p>
<p><a class="blank" href="http://www.asial.co.jp/ioncube/encoder/download_loaders.php">暗号化ソフト &#8211; ionCube PHP Encoder | アシアル株式会社</a></p>
<p><img class="alignnone size-full wp-image-848" title="ab_00" src="http://blog.webbingstudio.com/uploads/2009/07/ab_00.jpg" alt="ab_00" width="444" height="198" /></p>
<p>これがOSのプラットフォームにより何種類もあるので一瞬迷いましたが、XServerのサーバーパネルの「サーバー情報」からOSを調べて、CPU名でGoogle検索したらわかりました。<br />
XServerの方は、Linux (x86)用を利用してください。</p>
<h3>インストールウィザード</h3>
<p><a href="http://blog.webbingstudio.com/uploads/2009/07/ab_01.jpg"><img class="alignnone size-large wp-image-849" title="ab_01" src="http://blog.webbingstudio.com/uploads/2009/07/ab_01-479x331.jpg" alt="ab_01" width="479" height="331" /></a></p>
<p>インストール画面は丁寧なウィザード形式なので、上のステップや説明を見ながら進めていけばほぼ問題ないです。</p>
<p><a href="http://blog.webbingstudio.com/uploads/2009/07/ab_02.jpg"><img class="alignnone size-large wp-image-850" title="ab_02" src="http://blog.webbingstudio.com/uploads/2009/07/ab_02-480x329.jpg" alt="ab_02" width="480" height="329" /></a></p>
<p><strong>途中でMySQLと、アカウント作成のパスワードが丸見えになります</strong>。<br />
注意書きもありますが、背後に来たやつは0.2秒で撃つくらいのゴルゴ的緊張感で作業してください。<br />
（個人的には、何故見せるのか気になります）</p>
<p>途中で初期テーマを選択しますが、「ブログ」を選んでしまうと追加されないパッケージがあるのか、あとで作業が増えるようです。<br />
サイト構築に使うのですから、ここは素直に普通のウェブサイトを選びます。</p>
<h3>初期のサンプルサイト</h3>
<p><a href="http://blog.webbingstudio.com/uploads/2009/07/ab_03.jpg"><img class="alignnone size-large wp-image-851" title="ab_03" src="http://blog.webbingstudio.com/uploads/2009/07/ab_03-480x315.jpg" alt="ab_03" width="480" height="315" /></a></p>
<p>インストール後、サンプルサイトが表示されます。<br />
ブログ・CMSカスタマイズでありがちなサイト構成が「全部盛り」になっているので、これを検証すると大体のことがわかりそうです。</p>
<p><img class="alignnone size-full wp-image-852" title="ab_07" src="http://blog.webbingstudio.com/uploads/2009/07/ab_07.jpg" alt="ab_07" width="352" height="357" /></p>
<p>MovableType・WordPressの場合、いわゆる「グローバルナビ」「サイト全体の新着情報」「バナーリスト」などは&lt;mt:Entries&gt;タグなどを組み合わせるかHTMLを直接書いて自作しますが、a-blog cmsではどのサイトにもあるようなパーツは、管理画面で記事とは別に設定できるようになっています。<br />
レンタルブログの「サイドメニュー」や「プラグイン」のような印象です。</p>
<p>※WordPressは、過去のバージョンではバナー付きのリンクリストを管理画面で作れましたが、現在はテキストリンクのみとなっているようです。</p>
<h3>記事の投稿</h3>
<p>通常の記事の追加については、管理画面ではなく公開画面から直接行います。<br />
ログインしていると、サイト内のあちこちに編集ボタンが出てきます。</p>
<p>一般的なブログ・CMSの場合、</p>
<ul>
<li>タイトルを書く</li>
<li>本文を書く
<ul>
<li>画像を貼る</li>
<li>HTMLで見出しなど書く</li>
<li>インラインスタイルか前もってCSSに書いておいたclassで段組みをする</li>
</ul>
</li>
<li>公開ボタンを押す</li>
</ul>
<p>という、本文枠に全てが依存する構造なのですが、a-blog cmsの場合は</p>
<ul>
<li>タイトルを書く</li>
<li>文章・画像・動画などの「カラム（レイアウト枠のセット）」から選んで追加する
<ul>
<li>文章なら平文・見出し・リストなどの体裁を決める</li>
<li>画像ならアップする画像やサイズ、左右配置を決める</li>
</ul>
</li>
<li>任意でカラムの並び順を変える</li>
<li>公開ボタンを押す</li>
</ul>
<p>という、前もって用意したバラバラのカスタムフィールドを、パズルのように組み上げる構成になっています。</p>
<p>このため、タイトルと本文だけのシンプルな記事なら初期画面のまま適当に入力して投稿すればいいし、複雑な段組の記事を書くなら枠をいろいろ追加して組み合わせればいいのです。<br />
これは、最近のCMSでよく見かけるようになったタイプです。</p>
<p>a-blog cmsの記事投稿の仕様は、うまく説明するのが難しいです。<br />
初期テーマのデモサイトが公開されているので、実際に何か書いてみた方が良いです。</p>
<p><a class="blank" href="http://demo.a-blogcms.jp/">http://demo.a-blogcms.jp/</a></p>
<p>カスタマイズをする側の視点で考えると、自由度がある反面<br />
「左／右に回り込んだ場合」「見出しより画像が前／後に来ている場合」<br />
などいろいろな状況・レイアウトパーツを用意しなければならないので、ちょっと大変です。<br />
また、ブログに慣れている管理者の場合、かえって説明が大変です。</p>
<p>管理画面もデザイナー側でカスタマイズできるので、選択肢を減らしたり、従来のように入力内容を縛ることもできるようです。</p>
<p>インストールと投稿についてはこんな感じです。<br />
次回のa-blog cmsの記事では、もっと細かいところ、詳細な管理画面について書きます。</p>
<p>他のことも書きたいし、週末はお仕事なのでまたいつになるかわからんですが…</p>

<a href="http://twitter.com/?status=RT+%40%3A+a-blogcms%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fm7sh38" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/07/a-blogcms.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ドメインが失効してしまった／(＾o＾)＼</title>
		<link>http://blog.webbingstudio.com/2009/04/%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e3%81%8c%e5%a4%b1%e5%8a%b9%e3%81%97%e3%81%a6%e3%81%97%e3%81%be%e3%81%a3%e3%81%9f.html</link>
		<comments>http://blog.webbingstudio.com/2009/04/%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e3%81%8c%e5%a4%b1%e5%8a%b9%e3%81%97%e3%81%a6%e3%81%97%e3%81%be%e3%81%a3%e3%81%9f.html#comments</comments>
		<pubDate>Wed, 15 Apr 2009 16:47:03 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=532</guid>
		<description><![CDATA[今日は新しいクライアントさんとの顔合わせでした。
帰り道、使ったお金をいつものようにプチ帳簿に記録しようとiPhoneでアクセスしたら、なんだか変なページが表示されました。
「おもちゃ・ゲーム・ぬいぐるみのwebbing [...]]]></description>
			<content:encoded><![CDATA[<p>今日は新しいクライアントさんとの顔合わせでした。<br />
帰り道、使ったお金をいつものように<a href="http://blog.webbingstudio.com/2009/02/%E6%AF%8E%E6%97%A5%E3%81%AE%E6%94%AF%E5%87%BA%E3%82%92pc%E3%83%BB%E6%90%BA%E5%B8%AF%E3%81%A7%E8%A8%98%E9%8C%B2%E3%81%99%E3%82%8Bphp%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88.html">プチ帳簿</a>に記録しようとiPhoneでアクセスしたら、なんだか変なページが表示されました。</p>
<p>「おもちゃ・ゲーム・ぬいぐるみのwebbingstudio.com」</p>
<blockquote><p>
ちょ…あれ！？うちのドメインが別のサイトになってる？？？</p>
<p><a href="http://twitter.com/webbingstudio/status/1523816646" target="_blank">http://twitter.com/webbingstudio/status/1523816646</a>
</p></blockquote>
<p>∑（ﾟДﾟ；</p>
<p><span style="font-size:200%">ドメインの更新を忘れとった。</span></p>
<p>契約期限切れで失効してしまったわけです…</p>
<p><span id="more-532"></span></p>
<p>もしかして、webbingstudio.comのドメインを他の人に買われちゃった！？<br />
確か、失効したドメインをすかさず買い取って、それまでのSEO効果を利用する人たちがいるんだよね…</p>
<blockquote>
<ul>
<li>webbingstudio:　@みなさん 緊急事態！仕事のドメイン失効したかも！どうしよう！！！！</li>
<li><a href="http://twitter.com/llcheesell" target="_blank">llcheesell</a>:　@webbingstudio ぎゃー／(＾o＾)＼</li>
</ul>
</blockquote>
<p>.comが使えなくなったら.netを取るしかないのか。<br />
メールはどうする？<br />
Webサービスに書いていたメールアドレスや本サイトのURLを全部変えないと。<br />
それ以前に、4年間積み重ねてきた検索エンジンの情報が全部消えてしまう！<br />
慌てて地下鉄に飛び乗りました。</p>
<p>帰宅してtwitterのタイムラインを見ると、followerの皆さんから「<strong>落ち着け阿呆</strong>」の嵐が。</p>
<blockquote><ul>
<li><a href="http://twitter.com/smokeymonkey" target="_blank">smokeymonkey</a>:　@webbingstudio whoisしてみたらいいじゃないすか</li>
<li><a href="http://twitter.com/renkeitter" target="_blank">renkeitter</a>:　連携名 [ シャワー妙にドメインみるひより ] 数(率) [5(118%)]</li>
<li><a href="http://twitter.com/serif_jp" target="_blank">serif_jp</a>:　@webbingstudio 失効しても　ひと月くらい元の持ち主への猶予期間があったと思うのですが　それも過ぎましたか？</li>
<li><a href="http://twitter.com/kobun" target="_blank">kobun</a>:　@webbingstudio whoisしてみたら有効期限が昨日になっているような&#8230;?</li>
<li><a href="http://twitter.com/R_STYLE" target="_blank">R_STYLE</a>:　@webbingstudio webbingstudio.comですよね？見れますよー。もしドメイン料払ってなければ、誰かに買われる前に払えば復活します。（経験済</li>
<li><a href="http://twitter.com/h2ham" target="_blank">h2ham</a>:　@webbingstudio ドメインの期限が切れただけかと思われますよ？更新わすれ？</li>
<li><a href="http://twitter.com/32" target="_blank">32</a>:　@webbingstudio うちからはまだ引けてるよー / </li>
<li><a href="http://twitter.com/nagahito" target="_blank">nagahito</a>:　@webbingstudio ステータスOKだし、入金したら復活するんじゃないですか（無責任）</li>
<li><a href="http://twitter.com/gurugu" target="_blank">gurugu</a>:　@webbingstudio http://www.value-domain.com/faq.php?faqid=9</li>
</ul>
</blockquote>
<p>あっ…そうだった…<br />
期限切れで失効しても、すぐには権利がなくならないのでした。</p>
<blockquote><p>期限切れ1-2週間であれば延長できるドメイン（com/net/orgなど）であれば、延長手続きのページから復活、延長処理を行っていただけます。 </p>
<p><a href="http://www.value-domain.com/faq.php?faqid=9" target="_blank">http://www.value-domain.com/faq.php?faqid=9</a>
</p></blockquote>
<p>パソコンでさっきのページを改めて見てみると、バリュードメインの失効ドメイン用ページでした…<br />
の…乗っ取られてなかったあああ<br />
orz ﾍﾅﾍﾅﾍﾅ</p>
<p>その後、すぐ延長手続きをして、取引先に「今週中は別アドレスに連絡してください」とメールを送っているうちに、webbingstudio.comは無事復活していました。</p>
<p>仕事のジャンルに関わらず、インターネットをビジネスに使っている者にとって、ドメイン失効は致命的です。<br />
海外のドメイン業者などで手続きが遅い場合、その間は全くアクセスが望めません。もし猶予期間を過ぎてドメインが他の人に買われてしまったら、ほぼ取り返すことができなくなってしまいます。<br />
しかも、検索サイトや外部リンクから来た事情を知らないお客様に、移転先を知らせることも難しくなります。<br />
パソコンが壊れたりネットがつながらなくなる方が、代替手段があるだけまだましです。</p>
<p>忙しくても、サイトまわりの管理はしっかりしておかないと…<br />
と深く反省した一日でした。</p>

<a href="http://twitter.com/?status=RT+%40%3A+%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%81%8C%E5%A4%B1%E5%8A%B9%E3%81%97%E3%81%A6%E3%81%97%E3%81%BE%E3%81%A3%E3%81%9F%EF%BC%8F%28%EF%BC%BEo%EF%BC%BE%29%EF%BC%BC+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fc8jjha" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/04/%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e3%81%8c%e5%a4%b1%e5%8a%b9%e3%81%97%e3%81%a6%e3%81%97%e3%81%be%e3%81%a3%e3%81%9f.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>エックスサーバーにSOY CMSをインストールする：1.2.5版</title>
		<link>http://blog.webbingstudio.com/2009/03/%e3%82%a8%e3%83%83%e3%82%af%e3%82%b9%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%absoycms%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b.html</link>
		<comments>http://blog.webbingstudio.com/2009/03/%e3%82%a8%e3%83%83%e3%82%af%e3%82%b9%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%absoycms%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b.html#comments</comments>
		<pubDate>Mon, 02 Mar 2009 12:11:02 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[SOYCMS]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=342</guid>
		<description><![CDATA[SOY CMSを、設置条件を満たしていないエックスサーバーにインストールする方法を解説します。]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.webbingstudio.com/uploads/2009/03/soycms_xserver.jpg" alt="soycms_xserver" title="soycms_xserver" width="480" height="120" class="alignnone size-full wp-image-343" /></p>
<p><a href="http://www.soycms.net/" class="blank">SOY CMS</a>を、設置条件を満たしていない<a href="http://www.xserver.ne.jp/" class="blank">エックスサーバー</a>にインストールする方法を解説します。</p>
<blockquote><p>10/22追記：<br />
1.2.6以降、エックスサーバーでも正常に動作するようになりました。<br />
設置手順は以前書いた記事と変わりませんが、不具合を回避する作業がひとつ増えます。<br />
SOY CMSフォーラムのスレッドを更新していますので、詳細はこちらをご参照ください。<br />
<a href="http://www.soycms.org/viewtopic.php?f=6&#038;t=144#p430" class="blank">エックスサーバー(X20)にインストールする方法について</a>
</p></blockquote>
<blockquote><p>7/6追記：<br />
バージョン1.2.5以降で、サーバー依存と思われる新たな不具合が出てきてしまい、正常な動作を保証できません。<br />
現在は検証を打ち切り、エックスサーバーに対応の要望を出しています。<br />
<a href="http://www.soycms.org/viewtopic.php?f=6&#038;t=144" class="blank">http://www.soycms.org/viewtopic.php?f=6&#038;t=144</a><br />
この記事をご覧になった方は、早急な判断は控え、実験程度にとどめるようお願いします。
</p></blockquote>
<p><a href="http://blog.webbingstudio.com/2009/03/%e5%8c%97%e6%b5%b7%e9%81%93%e9%96%8b%e7%99%ba%e3%82%aa%e3%83%95%ef%bc%9asoycms.html" target="_blank">前回のレビュー</a>では業務利用の面からかなり辛口なことを書いていますが、SOYCMSは個人用としては充分なCMSです。<br />
MovableType等のブログにはない機能もありますので、興味のある方はいちど使ってみてください。<br />
<span id="more-342"></span></p>
<ul>
<li><a href="http://www.soycms.org/viewtopic.php?f=6&#038;t=144" target="_blank">フォーラムに投稿した内容</a>を若干整理しています。</li>
<li>バージョン1.2.3(SQLiteインストーラーなし)＋X20コースで確認をしていますが、確実な動作を保証するものではありません。</li>
<li>MySQL版は未確認です。同じ対応で問題はないだろうと思います。</li>
<li>エックスサーバーは、サーバー番号により微妙に仕様が異なります。<br />PATH_INFOの設定が不要なサーバーもあるようですが、以下で示すスクリプトを追加しても動作への影響は特にありません。</li>
</ul>
<h3>エックスサーバーに不足している条件</h3>
<div class="box1">
<ol>
<li><strong>PHPバージョンが5.16</strong><br />SOY CMSはバージョン5.2以上である必要があります。</li>
<li><strong>環境変数「PATH_INFO」が使用できない</strong><br />SOY CMSはPHP・Apacheの「PATH_INFO」が有効になっていなければ、ページ移動ができません。</li>
<li><strong>magic_quotes_gpcがONになっている</strong><br />バックスラッシュ等を自動除去する、magic_quotes_gpcはOFFになっている必要があります。</li>
</ol>
</div>
<p>これらを解消すれば、エックスサーバーでも使用することができます。</p>
<h3>1. コアファイルをアップロードする</h3>
<p>まず、SOY CMSのコアファイルをサーバーにアップします。<br />
特に変わった操作は必要ありません。</p>
<h3>2. PEAR::Services_JSONを追加する</h3>
<p>SOY CMSのインストールマニュアルを見ると、以下のように書かれています。</p>
<p><img src="http://blog.webbingstudio.com/uploads/2009/03/pear00.jpg" alt="pear00" title="pear00" width="480" height="326" class="alignnone size-full wp-image-344" /></p>
<blockquote><p>
SOY CMSでは内部でJSON形式のデータを取り扱っています。そのため、php5.2.0より古いバージョンでは別途PEAR::Services_JSONをインストールする必要があります。
</p></blockquote>
<p>PEARは、JavaScriptでいうjQureyのような、PHPの拡張ライブラリです。<br />
SOY CMSでServices_JSONクラスを利用しているのは一か所だけなので、そこで正しく利用できるよう、上記のライブラリを追加してやります。</p>
<p>PEAR::Services_JSONは下記ページで配布されています。</p>
<p><a href="http://pear.php.net/pepr/pepr-proposal-show.php?id=198" target="_blank">http://pear.php.net/pepr/pepr-proposal-show.php?id=198</a></p>
<p><img src="http://blog.webbingstudio.com/uploads/2009/03/service_json.jpg" alt="service_json" title="service_json" width="480" height="338" class="alignnone size-full wp-image-345" /></p>
<p>ページ右下のリンクから、TGZ形式で圧縮されたファイルをダウンロードします。</p>
<p>+Lhacaなどの、TGZ形式に対応したソフトで解凍すると、「JSON.php」というファイルが入っています。<br />
このファイルだけを</p>
<p><strong>[インストールしたディレクトリ]/common/lib/</strong></p>
<p>直下にアップロードします。</p>
<h3>3. PATH_INFOを有効にする</h3>
<p>PATH_INFOを有効にするには、一般に.htaccessに</p>
<p><strong>AcceptPathInfo On</strong></p>
<p>と記述すれば良いとされていますが、エックスサーバーではこれでもだめなようです。</p>
<p>しかし、同様の機能を持つ「ORIG_PATH_INFO」は有効になっているので、これの値を渡す修正を加えます。</p>
<p><strong>[インストールしたディレクトリ]/common/lib/common.inc.php</strong></p>
<p>の<strong>&lt;?php</strong> の次の行に、下記スクリプトを追加します。<pre><code>if ((!$_SERVER["PATH_INFO"])&&(isset($_SERVER["ORIG_PATH_INFO"]))) {
       $_SERVER["PATH_INFO"] = $_SERVER["ORIG_PATH_INFO"];
}
</code></pre></p>
<div class="box1">
<p>※開発チームのokadaさんによると、PHPがCGIモードで動作しているエックスサーバーでは上記修正で動作するが、モジュール版の場合は</p>
<p><strong>[インストールしたディレクトリ]/common/lib/site.inc.php</strong></p>
<p>にも同様の修正が必要とのことです。<br />
エックスサーバー以外でPATH_INFOの問題を解決したい方は参考にしてください。</p>
</div>
<h3>4. php.iniを上書きする</h3>
<p>テキストエディタを開いて、以下の一行を記述します。<pre><code>magic_quotes_gpc = off</code></pre></p>
<p>これを「php.ini」というファイル名で保存して、エックスサーバーの最上位ディレクトリにアップロードします。<br />
（サイトルートではなく、ドメイン名が書かれたフォルダが並んでいる階層です）</p>
<p><img src="http://blog.webbingstudio.com/uploads/2009/03/pear02.jpg" alt="pear02" title="pear02" width="352" height="178" class="alignnone size-full wp-image-352" /></p>
<p>この位置にphp.iniを設置すると、この変更がサーバー全体で有効になります。<br />
それでは問題がある場合は、<br />
SOY CMS内の「magic_quotes_gpc」を利用している全階層にそれぞれphp.iniを設置するか、<br />
問題がある別のスクリプトを使っているディレクトリだけphp.iniをさらに上書きしなければならないと思います。</p>
<h3>5. インストール作業を行う</h3>
<p>ここまで作業したら、</p>
<p><strong>[インストールしたディレクトリ]admin/index.php</strong></p>
<p>へ移動して、初期設定を行います。<br />
以降はマニュアル通りに初期設定を行ってください。</p>

<a href="http://twitter.com/?status=RT+%40%3A+%E3%82%A8%E3%83%83%E3%82%AF%E3%82%B9%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%ABSOY+CMS%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%EF%BC%9A1.2.5%E7%89%88+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Famxqrd" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/03/%e3%82%a8%e3%83%83%e3%82%af%e3%82%b9%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%absoycms%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>サーバー移転＋WordPressに変更</title>
		<link>http://blog.webbingstudio.com/2009/01/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e8%bb%a2%ef%bc%8bwordpress%e3%81%ab%e5%a4%89%e6%9b%b4.html</link>
		<comments>http://blog.webbingstudio.com/2009/01/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e8%bb%a2%ef%bc%8bwordpress%e3%81%ab%e5%a4%89%e6%9b%b4.html#comments</comments>
		<pubDate>Sat, 24 Jan 2009 20:22:56 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=213</guid>
		<description><![CDATA[webbingstudio.comをエックスサーバーに移転しました。
前にサーバー移転をした時のことを考えると、ドメイン移行に二日くらいはかかるだろうと思っていたのですが、ほぼ半日で完了。
さらに、このブログのベースシス [...]]]></description>
			<content:encoded><![CDATA[<p>webbingstudio.comをエックスサーバーに移転しました。<br />
前にサーバー移転をした時のことを考えると、ドメイン移行に二日くらいはかかるだろうと思っていたのですが、ほぼ半日で完了。</p>
<p>さらに、このブログのベースシステムをMovableTypeから、WordPressに変更しました。<br />
<a title="WordPress、好きじゃないんだけどな" href="http://blog.webbingstudio.com/2009/01/entry-104.html">先日の記事</a>で書いた通り不満も多いのですが、毎日更新するブログなので軽さと拡張性の高さを重視しました。<br />
<a href="http://webbingstudio.com/">本サイト</a>はきちんとしたウェブサイトで運営したいので、引き続きMovableTypeです。</p>
<p><span id="more-213"></span></p>
<p>「どんなふうにデータを移行したのか」というのは、参考にならないと思います。<br />
全く効率よく移行できなかったからです。</p>
<h4>本サイトと、オンラインヘルプ</h4>
<p>MovableType4.23がベースなので、「バックアップと復元」を利用しました。</p>
<ul>
<li><a href="http://www.movabletype.jp/documentation/start_backup.html" target="_blank">ブログの完全バックアップと、データベースのバックアップ | MovableType4ドキュメント</a></li>
<li><a href="http://www.movabletype.jp/documentation/start_restore.html" target="_blank">バックアップしたブログの復元 | MovableType4ドキュメント</a></li>
</ul>
<p>これは正常に機能すれば、テンプレートやウェブページ、アイテム情報まで完全移行できるのですが、何故か本サイトの復元がうまくいきません。<br />
結局、エントリー（新着情報）のみMT3以前の簡易インポートを利用して、テンプレートとウェブページ（About・Work）は手作業で移行しました。</p>
<p>オンラインヘルプは問題ありませんでしたが、ブログ情報の一部が壊れてしまったらしく、オンラインヘルプの管理画面から本サイトの管理画面へのリンクが表示されません。<br />
お仕事ではうまくいったのに、凹みます…</p>
<h4>ウェビンブログ（データ移行）</h4>
<p>ブログはMovableTypeベースです。</p>
<p>なので、MTの記事エクスポート→WPの記事インポートが定石ですが、忙しかったのであまり記事を書いておらず、手作業でもなんとかなりそうだったので、バックアップ機能そのものを利用していません。<br />
サーバーを借りたときから空のWordPressを設置し、新しく記事を書くたびに同時にコピペし続けました。</p>
<p>まぁ、ある意味いちばん確実だろう…と思っていたのですが、ここで大誤算。<br />
記事に貼ったアップロード画像のURLは、httpからのフルパスなので、ドメイン移行後に全部リンク切れ。また手作業で貼りなおす羽目になりました。<br />
更にサブドメインの設定が間違っていて、ドメイン移行後にちゃんと表示されなくてまた修正。</p>
<p>アホです…<br />
なんかここまで思うようにいかないと泣けてきます…</p>
<h4>ウェビンブログ（拡張機能）</h4>
<p>テンプレートは<a href="http://plugins.movabletype.org/sandbox/" target="_blank">Sandbox  for MovableType</a>から本家<a href="http://www.plaintxt.org/themes/sandbox/" target="_blank">Sandbox</a>へ。</p>
<p>プラグインは取り急ぎ、以下をインストールしています。</p>
<ul>
<li><a href="http://akismet.com/" target="_blank">Akismet</a> ・・・　とても有名なスパム駆除プラグイン</li>
<li><a href="http://www.arnebrachhold.de/redir/sitemap-home/" target="_blank">Google XML Sitemaps</a> ・・・　Google Sitemapsを自動生成</li>
<li><a href="http://w-shadow.com/blog/2007/12/13/raw-html-in-wordpress/" target="_blank">Raw HTML capability</a> ・・・　特定のタグで囲んだ文章のテキスト自動整形を無効にする</li>
</ul>
<p>ブログを書くなら最低限、この三つがあればいいと思います。</p>
<p>WordPressを携帯対応にする<a href="http://wppluginsj.sourceforge.jp/ktai_style/" target="_blank">Ktai style</a>・<a href="http://wppluginsj.sourceforge.jp/ktai_entry/" target="_blank">Ktai entry</a>も設置予定ですが、iPhoneを買う予定なのでKtai entryは使わないかもしれません。どちらも設置にちょっと手間がかかるものなので、様子を見ます。</p>
<p>そんなこんなで移行作業は一段落しました。<br />
こんなに手間取るとは思いませんでした。web屋失格です；；</p>
<p>MovableTypeの、ブログ間移動の不具合がかなり気になっています…<br />
各ブログの更新は問題がなくても、今後MTBlogs関連の独自タグに影響が出てしまうかもしれません。時間があるときに調べてみる必要がありますね…えーん；；</p>

<a href="http://twitter.com/?status=RT+%40%3A+%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%A7%BB%E8%BB%A2%EF%BC%8BWordPress%E3%81%AB%E5%A4%89%E6%9B%B4+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fygcez6n" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/01/%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e7%a7%bb%e8%bb%a2%ef%bc%8bwordpress%e3%81%ab%e5%a4%89%e6%9b%b4.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>サーバーを移転予定です</title>
		<link>http://blog.webbingstudio.com/2009/01/entry-106.html</link>
		<comments>http://blog.webbingstudio.com/2009/01/entry-106.html#comments</comments>
		<pubDate>Sat, 10 Jan 2009 07:31:37 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ダメ出し]]></category>

		<guid isPermaLink="false">http://webbing.xsrv.jp/blog/?p=110</guid>
		<description><![CDATA[WebbingStudioのサーバーを、CORESERVERからエックスサーバーへ移転する予定です。


CORESERVERは、XREA無料版→XREA広告免除版と通して、四年以上利用していました。
月500円でサブド [...]]]></description>
			<content:encoded><![CDATA[<p>WebbingStudioのサーバーを、<a href="http://www.coreserver.jp/" target="_blank">CORESERVER</a>から<a href="http://www.xserver.ne.jp/" target="_blank">エックスサーバー</a>へ移転する予定です。</p>
<p><img src="http://blog.webbingstudio.com/uploads/2009/01/server.jpg" alt="server" title="server" width="267" height="77" class="alignnone size-full wp-image-141" /></p>
<p><span id="more-110"></span></p>
<p>CORESERVERは、XREA無料版→XREA広告免除版と通して、四年以上利用していました。</p>
<p>月500円でサブドメイン・マルチドメイン・cronまでカバーしているサービスはなかなかありません。<br />
データベースのUTF-8対応や、PHP5へのバージョンアップも早かったので、長いことお世話になりました。</p>
<p>しかし、このところPHPの「セーフモードON」でいろいろと苦労することが多くなりました。<br />
安いサーバーとなると、セーフモードをONにして、ファイルの自動生成などにかかわるプログラムに制限をかけるのは当然のことなんですが、ブログやCMSの重要な機能にブロックがかかるのはかなり辛いです。</p>
<p>PerlベースのMovableTypeは全く問題なく使用できますが、PHPベースのWordPressはファイルアップロード関連の一部の機能が使用できません。<br />
（.htaccessによるCGI化である程度は対応可能なのですが…）<br />
MODx・Joomla等の割とマイナーなCMSは、設置の段階でことごとくつまづいてしまいました。<br />
&gt;&gt; <a href="http://webbingstudio.blog10.fc2.com/blog-entry-512.html" target="_blank">旧ウェビンブログ：一週間でCMS7種をインストールしたレポート</a></p>
<p>また、ロリポップやYahoo!メールなどにメールをブロックされてしまい、仕方なくプライベート用のメールアドレスに送信してもらうこともたまにありました。</p>
<p>そんなわけで、これまでの4倍というサーバー料金はちょっと痛いのですが＞＜<br />
ほぼ同仕様で、セーフモード制限のないエックスサーバー（X20プラン）への移転を決心した次第です。</p>
<p>エックスサーバーは仕事で利用した経験があり、機能面では信頼しています。<br />
今試用期間中ですが、WordPressはぼちぼちいい感じ。<br />
MySQLのユーザー名・パスワードを自分で指定できるのも、少し面倒ですが安心感があって良いです。<br />
サーバーも今のところ重さを感じません。<br />
<a href="http://www.xserver.ne.jp/feature.php#move" target="_blank">はずれサーバーにあたったときに移転できる特例措置</a>もあるらしいので、まぁその辺は大丈夫だろうと思います。</p>
<p>…実はサーバー移転をためらういちばんの理由が、移転作業が面倒くさいということだったりwww</p>

<a href="http://twitter.com/?status=RT+%40%3A+%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E7%A7%BB%E8%BB%A2%E4%BA%88%E5%AE%9A%E3%81%A7%E3%81%99+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2F89n2w6" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2009/01/entry-106.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>求められる機能だけを抽出した「CMS Designer」</title>
		<link>http://blog.webbingstudio.com/2007/01/cms-designer0701.html</link>
		<comments>http://blog.webbingstudio.com/2007/01/cms-designer0701.html#comments</comments>
		<pubDate>Fri, 26 Jan 2007 13:27:54 +0000</pubDate>
		<dc:creator>WebbingStudio</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[CMS Designer]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.webbingstudio.com/?p=551</guid>
		<description><![CDATA[この記事は2007年に旧ブログで書いていたものを移動しています。
少し情報が古いところがあるかもしれません。
遅まきながら最近知ったのですが、「既存の静的ウェブページの一部だけを動的ページにする」という機能に特化したCM [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>この記事は2007年に旧ブログで書いていたものを移動しています。<br />
少し情報が古いところがあるかもしれません。</p></blockquote>
<p>遅まきながら最近知ったのですが、「<strong>既存の静的ウェブページの一部だけを動的ページにする</strong>」という機能に特化した<abbr title="Contents Management System">CMS</abbr>ツールがあるのだそうです。</p>
<p><a href="http://cms.al-design.jp/" target="_blank">CMS Designer</a></p>
<p>PHPで動作し、データはメンテナンスがしやすいXML形式での読み書き。さらに、管理画面の入力項目名・項目数もXMLで自由に指定できます。<br />
コメント・トラックバック機能を廃し、現場で求められる機能だけを搭載した軽量CMS。<br />
MovableTypeやWordPressが空母なら、これは零戦といった感じです。</p>
<p>非商用であれば無料で使えますし、商用ライセンスもCMSにしてはずいぶん安いです（MTよりは高いですけどね　笑）</p>
<p><span id="more-551"></span></p>
<p>一般のウェブサイトでは、「新着情報」とか「今月の○○フェア」といった部分だけは頻繁に更新されますが、それ以外のページの更新はほとんどありません。<br />
新着情報自体も、ログを数年分確実に保管する、という必要はありません。</p>
<p>こういった「既存HTMLの一部だけ動的ページにする」カスタマイズはMovableTypeでも可能ですが、プラグインを導入したりしない限り、管理画面の項目名は「本文」「追記」から変えることはできません。<br />
商品一覧や何かのデータ表など、特殊な項目が沢山あるコンテンツの製作に適していると思います。</p>
<p>なかなか便利そうな「CMS Designer」ですが、気になる欠点がひとつ。<br />
デフォルトの状態では、出力ページの拡張子が「<strong>.php</strong>」になってしまいます。</p>
<p>データベースをHTML文書（拡張子.html）として出力するには特別な処理が必要なのですが（ブログでいえば「再構築」がそうです）、それは搭載されていません。<br />
URLの末尾が「.html」の状態で運用されているサイトの拡張子が変わってしまうというのでは、PHPファイルが検索に拾われるとしてもクライアントのOKは出にくいでしょう。<br />
（2009.5.1追記：仕様が変わっているかもしれません）</p>
<p>つまり、CMS Designerをビジネスサイトに実装するためには、本サイト内でも紹介されていますが、</p>
<blockquote>
<ul>
<li>mod_rewriteモジュールを利用してURLを擬似的に変える</li>
<li>拡張子が.htmlのファイルがphpとして動作するようにする</li>
</ul>
<p><a href="http://cms.al-design.jp/product3.html#seo" target="_blank">CMS Designer：SEOには対応しているの？</a></p>
</blockquote>
<p>上記いずれかを実装しなければならない<br />
＝上記いずれかの機能を実装可能なサーバーを使用している必要がある<br />
ということです。<br />
CMS導入の際は、この辺りも慎重に検証する必要があるでしょう。</p>
<p>何にせよ、私自身はとても興味を持っているので、時間のあるときに非商用で試してみようと思います。<br />
MovableTypeの<strong>不親切な管理画面</strong>には心底辟易してるのですよ…（=_=ﾒ</p>

<a href="http://twitter.com/?status=RT+%40%3A+%E6%B1%82%E3%82%81%E3%82%89%E3%82%8C%E3%82%8B%E6%A9%9F%E8%83%BD%E3%81%A0%E3%81%91%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%97%E3%81%9F%E3%80%8CCMS+Designer%E3%80%8D+-+%E3%82%A6%E3%82%A7%E3%83%93%E3%83%B3%E3%83%96%E3%83%AD%E3%82%B0+%3E%3Ehttp%3A%2F%2Ftinyurl.com%2Fyzaecs7" class="tweet-this" ><br /><img src="http://blog.webbingstudio.com/admin/wp-content/plugins/simple-tweet/img/tweet.gif" alt="Twitter" />Twitterで記事を紹介して下さい（-人-）</a>]]></content:encoded>
			<wfw:commentRss>http://blog.webbingstudio.com/2007/01/cms-designer0701.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
