<?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>pc.casey.jp &#187; .htaccess</title>
	<atom:link href="http://pc.casey.jp/archives/tag/htaccess/feed" rel="self" type="application/rss+xml" />
	<link>http://pc.casey.jp</link>
	<description>コンピュータに関する記述とメモ</description>
	<lastBuildDate>Wed, 08 Feb 2012 01:21:06 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[WordPress] XAMPP に WordPress をインストール</title>
		<link>http://pc.casey.jp/archives/153899298</link>
		<comments>http://pc.casey.jp/archives/153899298#comments</comments>
		<pubDate>Mon, 23 Jan 2012 15:03:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[Portable]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XAMPP]]></category>
		<category><![CDATA[サーバー]]></category>
		<category><![CDATA[データベース]]></category>
		<category><![CDATA[パスワード]]></category>
		<category><![CDATA[仮想]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153899298</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153899298' addthis:title='[WordPress] XAMPP に WordPress をインストール '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>XAMPP はクロスプラットフォームで動作するApache やMySQL、PHP、perl を簡単に利用するためのパッケージ。特徴的なのはWebMatrix のようにインストールして使うこともできるが、気軽に利用できるポータブル版もあること。 「WordPress Portable」もあったがmbstring を上手く動作させることができなかったので、XAMPP の試用としてWordPress をインストールしてみる。 ※XAMPP （正確にはXAMPP Lite のポータブル版）の準備は整っているものとする ※Windows7 SP1 64bit で試用した 手順の確認 手順は次の通り： XAMPP の準備（完了済） MySQL の準備 WordPress の準備 任意のホスト名でアクセス MySQL の準備 ユーザの作成 ここでは、いろいろテストすることや一般的なレンタルサーバーと同様に「ユーザ名＿データベース名」を作成する。 phpMyAdmin にアクセスし、「新しいユーザを作成」する。 ここでは、ユーザ名にusername 、ホストにlocalhost 、パスワードにpassword を設定した。 続いて「ワイルドカードに該当するデータベースにすべての特権を与える」を選択し、グローバル特権は「すべてチェックする」をクリック、「ユーザを作成」した。 実行されたSQL は次の通り： CREATE USER 'username'@'localhost' IDENTIFIED BY  '***'; GRANT ALL PRIVILEGES ON * . * TO  'username'@'localhost' [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153899298/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>さくらインターネット MySQL 5.1 から5.5 に引越し2</title>
		<link>http://pc.casey.jp/archives/153899230</link>
		<comments>http://pc.casey.jp/archives/153899230#comments</comments>
		<pubDate>Sat, 21 Jan 2012 15:03:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[サーバー/OS]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[さくらインターネット]]></category>
		<category><![CDATA[コマンド]]></category>
		<category><![CDATA[サーバー]]></category>
		<category><![CDATA[データベース]]></category>
		<category><![CDATA[バックアップ]]></category>
		<category><![CDATA[パスワード]]></category>
		<category><![CDATA[メンテナンス]]></category>
		<category><![CDATA[修復]]></category>
		<category><![CDATA[最適化]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153899230</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153899230' addthis:title='さくらインターネット MySQL 5.1 から5.5 に引越し2 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>さくらインターネット MySQL 5.1 から5.5 に引越し1 に続き、いよいよ実践する。 移行手順 さくらインターネットのコントロールパネルで、新しいデータベース作成する 整合性保持のために、データベースへのアクセスを遮断する 古いデータベースをバックアップする 古いデータベースのパスワードを変更する バックアップファイルの一部を書き換える 新しいデータベースにバックアップファイルから書き戻す システムのコンフィグレーションファイルを新しいデータベース接続用に変更する 問題なければ古いデータベースを削除する ステップ数が多くて複雑のように見えるかもしれないが、実際は思っているより簡単だった。だが、環境依存の部分も多く、また一般的には（一般的なサイズなら）phpMyAdmin でインポートするため、この手順の解説が特には見つからなかった。 この手順はphpMyAdmin が利用できないような巨大データベースの際に、SSH でサーバーに接続し、新旧データベースを直接操作する。 実践編 新しいデータベースの作成 さくらインターネットのコントロールパネルで、新しいデータベース作成する。 さくらインターネットのコントロールパネルにログインし、新しいデータベースを作成する。どうやら新しいデータベースの作成はphpMyAdmin で行えないらしく、コントロールパネルから操作する必要があるようだ。この時の注意点は作成するバージョンと文字コードだろうか。 アクセスの遮断 整合性保持のために、データベースへのアクセスを遮断する。 データベースを必要とするシステムが利用できないように.htaccess などを操作して遮断する。cron など特殊なアクセスを行なっている場合には見落としをしないように注意する。 ただし、データベースの瞬間的な切り替えを望む場合はこの手順は不要だが、当然バックアップした時点でのデータしか移行できないので注意する。 RewriteCond %{REMOTE_ADDR} !^XXX.XXX.XXX.XXX RewriteRule (.*) 403m.html [L] SSH 接続 さくらインターネットが提供するphpMyAdmin の設定は、読み込めるサイズが16M となっているらしい。仮にこの値を大きくできたとしても、到底phpMyAdmin でインポートできるサイズではないからSSH 接続が必須となる。 古いデータベースをバックアップ いよいよバックアップする。バックアップはコマンドラインで一発だ。コマンドラインと言っても実行に長い時間がかかるとKill される。 不要なデータがある場合は削除し、メンテナンスを行なっていないなら、最適化や修復を行なっておくと安全度が高まるかもしれない。これらはphpMyAdmin を利用すると簡単に実行できる。 （データベースの瞬間的な切り替えを望む場合はこの手順は不要） mysqldump -u {USER} -h [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153899230/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] スクリプトからSAPI を調べる</title>
		<link>http://pc.casey.jp/archives/153898821</link>
		<comments>http://pc.casey.jp/archives/153898821#comments</comments>
		<pubDate>Sun, 18 Dec 2011 15:03:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[coreserver]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[データベース]]></category>
		<category><![CDATA[メール]]></category>
		<category><![CDATA[書き込み]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153898821</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153898821' addthis:title='[PHP] スクリプトからSAPI を調べる '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>ファイル関係が面倒なので事あるごとにメールで送ってしまう。それ以外だとデータベースに接続してしまったほうが面倒がなくていいけど、それが面倒だったりする。 どのモードで動作しているかをサクっと返してくれるものがないらしい。 一般的にはテンポラリファイルを作って書き込み出来るかをチェックしたりするようだ。これはperl でも同じだけどエラー処理とか例外処理とかが面倒だ…。 PHP マニュアルによれば、CLI から実行していればcli を返すらしいが・・？ 結果 CLI から実行 php_sapi_name:cgi&#60;br /&#62; Script return:CGI END Web から呼び出す php_sapi_name:apache Script return:other END あれ？ ちなみに、テストはCORESERVER で行った。CORESERVER は通常モジュール版で、.htaccess を設定することでCGI 版になる。が、どちらも同じ結果「apache」だった。うーん。 テストコード &#60;?php /*  * t_getPhpMode  *  * the script check running mode,  * return CLI or CGI or null  *  * PHP4.2.0+  *  * Ver.0.01 2011.09.29 by [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153898821/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>coreserverから Bluehostへ引越し</title>
		<link>http://pc.casey.jp/archives/153898812</link>
		<comments>http://pc.casey.jp/archives/153898812#comments</comments>
		<pubDate>Sun, 18 Dec 2011 09:45:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[サーバー/OS]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[Bluehost]]></category>
		<category><![CDATA[concrete5]]></category>
		<category><![CDATA[coreserver]]></category>
		<category><![CDATA[cPanel]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[VPS]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[さくらインターネット]]></category>
		<category><![CDATA[サーバー]]></category>
		<category><![CDATA[データベース]]></category>
		<category><![CDATA[ドメイン]]></category>
		<category><![CDATA[バックアップ]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153898812</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153898812' addthis:title='coreserverから Bluehostへ引越し '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>今回はCORESERVER からブルーホストへの引越しを行う。 その前に ディレクトリとサブドメイン 何故行うかというと、負荷がかかった場合いい点が容易にできるよう、サブドメインで分けてしまうクセがついてしまったということがある。サブドメインが簡単にいくつも作成できることが原因だ。 逆に、サブドメインを作るとサーバーをあと１つ契約したのと同じ状態になるホスティング業者もある。こちらは高価だが、とても安定性に定評のある業者。どれくらい高価かといえばCORESERVERやさくらインターネットの１０倍くらい。 だから最近では安定性を求める場合、さくらインターネットを利用する。理由はこちら。簡単に言うなら、CORESERVER はサーバーやDNS の自由度が高く、いろいろなことに挑戦できる利点がある。一方さくらインターネットは厳格なリソース制限によって強者が「幅」をきかせたとしても影響を受けにくいが、当然自分もリソース制限を受ける。 リソース制限 共通するのはどちらも完全に明確ではないリソース管理が行われていて、突発的な負荷がかかるのではないかと夜も眠れない。実際、先日さくらインターネットの自動負荷レポートでCPU時間が５時間を超えていた。こういう時はGoogleクローラが原因なのがほとんど。早速Googleクローラにそんなに来ないでねと手続きをて事無きを得た。突発的なアクセスなら突然アカウントが停止されるような自体にはなりにくいとは思うが、訪問者に対して５０３エラーが頻発するからよろしくない。 検索エンジン ところで、その高価なホスティング業者の良いところもある。それは半強制的にサブドメインが取得できなわけだが、そのおかげでメインとなるドメイン名でのコンテンツ量や運用方針が検索エンジンには気に入ってもらえるようだった。あちこち手前勝手な事情でサブドメインというカタチで分散しているサイトと比較すると評価が良いようだった。 しかし最も重要なのは、メインとなるサイトにコンテンツが空っぽになりつつあって単なるインデックスページのようにも見える。おそらくそれが検索エンジンには好まれなかった理由じゃないだろうか。そのへん詳しい人なら笑ってしまうような内容を書いているのだろうが。 ということで、本来サブディレクトリで分けたかったシステムを将来の何かを言い訳にしてサブドメインでわけていたのだが、それを統合することにした。 今回の作業の目的 今回の作業の目的としては次のようになる： サブドメインで分けていた、サブディレクトリで分けるものを本来の状態に戻す。もし負荷が増えたら.htaccess でサブドメインに転送する方が良いと思ったから（VPS や高度な設定が可能ならリバースプロキシを使えばよい）。もし、ネームサーバーを変更するようなことがあっても、エントリー数による制限を受けにくくなる。 ”度を超えた”リソースの心配をして、本来すべきコンテンツ管理がおろそかになっている状態から抜け出す。 これまで行なってきた引越し作業 参考として、これまで行なってきた引越し作業 CORESERVER 間での引越しはこちら CORESERVER からさくらインターネットへの引越しはこちら 移行した際の注意点やハマったところなど PHP 日本国内のレンタルサーバーの多くがセーフモードで動作しているが、海外レンタルサーバーではほとんど見かけない。そのため、CORESERVER のようにPHP をCGI として実行するように.htaccess などで設定している場合は解除する。 CGI CGI は最近放置しっぱなしだったので、すっかりハマってしまった。複合的要素があったから余計だ。 あまりにも面倒になって諦めようかとした時、シンプルなテストコード（参考文献参照）をサイトトップに置いて動作したから、「動作する」「Script Alias の問題ではない」など幾つかのことがわかり、１つずつ問題を解決することで事無きを得た。 path path は /usr/bin/perl だった。 ファイルとディレクトリのパーミッション PHP に慣れるとCGI で苦戦した懐かしいパーミッション設定を忘れがち。サーバーによっては700 で動作することもあれば755 の時もある。また、777 ではエラーとなる場合もある。Bluehost は755 で良いらしかった。 ハマったのはディレクトリのパーミッション。うっかりしていたが、これも適切に設定しなければ動作しない。 [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153898812/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[BaserCMS] BaserCMS をインストール</title>
		<link>http://pc.casey.jp/archives/153898670</link>
		<comments>http://pc.casey.jp/archives/153898670#comments</comments>
		<pubDate>Mon, 31 Oct 2011 15:03:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[BaserCMS]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[サーバー]]></category>
		<category><![CDATA[データベース]]></category>
		<category><![CDATA[メモリ]]></category>
		<category><![CDATA[書き込み]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153898670</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153898670' addthis:title='[BaserCMS] BaserCMS をインストール '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>BaserCMS はCakePHP をベースとしてオープンソースで開発されたCMS 。 WordPress など高機能でたくさんのプラグインがあるシステムと違い、CakePHP であるからこそできることもあるのではないだろうか。だとすれば、例えば企業サイトのトップページなどをbaserCMS で作成しておき、必要な部分だけCakePHP として拡張できるかもしれない。それ以上のものを求めるなら適切なCMS などを適切な場所に配置すれば良いとおもう。 何となく長くなりそうだから、ここではインストールに絞る。 ダウンロード baserCMS &#8211; 国産オープンソース！コーポレートサイトにちょうどいいCMS ※CakePHP についてはこちらも参照 （サーバーごとの設置.htaccess などが参考になるかも） ※SQLite3 やCSV を利用する場合、データベースサーバを必要としない ※試用したバージョンは basercms-1.6.13.6 インストール 次のステップをクリックしてインストールを開始する。 ステップ２ ステップ２では基本必須条件の確認が行われる。 PHP 4.3.0 以上（テスト環境は5.3.3） /app/config の書き込み権限 /app/config/core.php の書き込み権限 /app/tmp の書き込み権限 /app/webroot/themed の書き込み権限 ※書き込み権限では、パーミッションのほかに.htaccess 設定も関わってくるかもしれない /app/db の書き込み権限 PHP メモリの上限（最低16MB ） PHP セーフモード（セーフモードの場合はCGI モードにする必要がある） ステップ３ ステップ３ではデータベース設定を行う。 ここではデータベースにMySQL を設定した。データベースはCakePHP 同様にプレフィックスに対応している。 設定が完了したら接続テストを行う。 [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153898670/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] 404レポート（PHP版）Ver.0.05→0.08</title>
		<link>http://pc.casey.jp/archives/153898391</link>
		<comments>http://pc.casey.jp/archives/153898391#comments</comments>
		<pubDate>Mon, 03 Oct 2011 03:03:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153898391</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153898391' addthis:title='[PHP] 404レポート（PHP版）Ver.0.05→0.08 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>以前作成した「pc.casey.jp » [PHP] 404レポート（PHP版）」を幾つかのサイトで改良していると、やっぱり設定ファイルが別になっていないと面倒。ということで、「pc.casey.jp » [PHP] さくらインターネット リソース情報自動報告プログラム（PHP 版）」で使ったコードを流用したバージョンを作った。 主な変更点 Ver.0.06 設定を外部ファイルに保存するようにした。これにより複数サイトに設置している場合でも本体の差し替えが簡単になった・・ハズ。 Ver0.07 動作しているサーバーをわかりやすくするため、メール本文内にホスト名を追加した Ver.0.08 動作しているサーバーをわかりやすくするため、メールタイトルにホスト名を追加した 動作例 開発中のデバッグモード時の例（Ver.0.08） 実稼動の例（Ver.0.08） err404.php &#60;?php /* ===================================================  *  404 Report and Suggest for mb-PHP  * ---------------------------------------------------  * DESCRIPTION:  *  - output 404 message for user  *    To display a polite message to visitors  *  *  - guide for new [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153898391/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] さくらインターネット リソース情報自動報告プログラム（PHP 版）</title>
		<link>http://pc.casey.jp/archives/153898285</link>
		<comments>http://pc.casey.jp/archives/153898285#comments</comments>
		<pubDate>Sun, 02 Oct 2011 03:03:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[Cookie]]></category>
		<category><![CDATA[coreserver]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[Date]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[さくらインターネット]]></category>
		<category><![CDATA[サーバー]]></category>
		<category><![CDATA[パスワード]]></category>
		<category><![CDATA[メール]]></category>
		<category><![CDATA[変換]]></category>
		<category><![CDATA[自作]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153898285</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153898285' addthis:title='[PHP] さくらインターネット リソース情報自動報告プログラム（PHP 版） '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>さくらインターネットのベースOS はFreeBSD。 また、とてもリソース管理が厳しく、 だからこそ快適に利用できる（と思い込んでいる）。 そんなさくらインターネットの唯一の欠点と言えなくもないのがデータベースの作成制限。しかし、先日の発表資料を読んだ時は思わすその日一日、いやいまでも喜びの余り走り出しす勢いだ。 さて、筆者はCORESERVER も利用しているが、こちらは全体的な順位やどれくらい負荷をかけているかがコントロールパネルで確認できる。 しかし、さくらインターネットは転送量とCPU 使用時間がわかるくらいで順位やドメインごとのデータは不明。さらに、そのCPU 使用時間や短期間でのアクセス増加を検知すると、優先度を下げたり503 エラーを発生させる。このような処理によってさらに安定した運用とリソース配分が行われている（たぶん）。 そうすると気になるのがCPU への負荷や転送量がどれくらいの時に制限を受けるかということだが、これは明示されていない。情報を集めるとある程度の予測は可能だが、急激な増加（特にクローラの集中砲火を浴びたとき）を知らずに受けたことなどで制限を受けることもある。これらの情報を集める過程で多かったのが、503 の頻発などを受けてサポートに問い合わせたり、コントロールパネルを確認したらリソースの消費に驚いたというものだ。 筆者は最近さくらインターネットに引っ越してきたこともあって、どれくらいの負荷がかかっているのかなどをこまめに確認している。さらに、ある程度情報が集まったり、”何か”が起きたときには記事にしようと普段から情報を集めている。が、面倒だ（何が面倒っていちいちID/パスワードでログインしなければならないし、複数アカウントあったらさらに面倒だし、グラフ作ったりするときのデータの整形や取りこぼしも・・）。そういうものこそ自動的にやってほしいもの。 標準機能としても特に見当たらず、また、随分探しまわったが、どういうわけか筆者のような人間が他に居ないのか、そういうツールが見当たらなかった。まぁ皆様Geek な人が多いからちょちょっと自作しているのかもしれない。 ということで、テキトーに作りました。 動作例 データのみ CSV フォーマットもどきで、コピー・アンド・ペーストすればグラフを使って視覚的に推移を把握することもできる。データフォーマットについては「データフォーマット」の項を参照。 ※バージョン表示がついていないバージョンの時のもの 詳細付き データのみだと必要な情報が見づらいかもしれない。詳細付きにすれば、文字情報でも内容を確認しやすくなる。 ※バージョン0.09 の時のもの iPhone で確認 gmail など複数のデバイスや場所で同一のメールを確認できるように設定しておくと、万一の負荷急増にも気がつける。気がつければ対応もできるし、それまでの時間も短縮できるかもしれない。 ※バージョン 0.16 の時のもの データ使用例 以下は同じデータで、表現の仕方が異なるだけ。 使用例１ 使用例２ データフォーマット cron で回そうかと思っているのと、ファイル関係は面倒なのでメールで送るように作りました。HTML で表示させることもできますのでどうぞご自由に。 メール本文には次の１行が書かれています（カスタマイズできます） FMTCASEYJP01,2011/09/22 16:23:06,USER,13.6,46:29,1:28:12,895.0 ,1:28:18,887.3 データ形式は以下のとおり： FMTCASEYJP01　・・・・・・・・　フォーマットバージョン 2011/09/22 16:23:06　・・・・　取得した日時 USER　・・・・・・・・・・・・・　ユーザ名 13.6　・・・・・・・・・・・・・　現在のディスク使用量（％） 46:29　・・・・・・・・・・・・　現在のCPU 使用時間 1:28:12　・・・・・・・・・・・　昨日のCPU [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153898285/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] 404レポート（PHP版）</title>
		<link>http://pc.casey.jp/archives/153898045</link>
		<comments>http://pc.casey.jp/archives/153898045#comments</comments>
		<pubDate>Wed, 28 Sep 2011 03:03:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[メール]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153898045</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153898045' addthis:title='[PHP] 404レポート（PHP版） '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>以前CGI 版で404 レポートを出力するプログラムを作ったのだが、今回はPHP 版を作った。何故つくろうかと思ったかというと、WordPress などにはプラグインで機能するものがあるが、これらを利用しないサイトでも移転した際の案内を付けたかったから。 ところで、疑問に思うのは同様のプログラムを見つけることができないのは何故だろう。見つけ方が悪いのか、それとももっと高次元（Apache のログを解析するなど）で行われているのか。あるいはGoogle のウェブマスターツールなどでも404 がどこで発生しているかを見つけることはできるから、そういったものを使っているのだろうか。 WordPress などのCMS には404 時の動作を定義したり、改造したり、プラグインを導入したりすることで発見から対策までを容易にしている。今回作るプログラムは単体で動作するように設計しているので、どのサイトにもPHP が利用できる環境であれば使えると思う。 期待する動作 .htaccess で404 時に本プログラムを指定する 本プログラムはユーザ、Bot 等に対してHTTP ステータスコード 404 を返す 同時に検索語が解析でき、移転先へクエリを転送できる場合は案内する 同時に管理者に対して404 の発生を知らせる 管理者は必要に応じて .htaccess を更新し、適切なページにリダイレクトさせ404 を軽減する バージョンアップ 公開までに少し運用して改良したところ Ver.0.04- favicon やrobots などを報告しないようにする$reject 配列を追加し、合致した場合は報告しない（完全一致のみ）。 ※Ver.0.03 でも搭載したが、ハードコーディングだったのを改善した Ver.0.05- 攻撃を目的としたアクセスの多くがReferer を持っていないことから、Referer を持っていない場合に報告しないようにする設定を追加した。$need_referer をfalse にするとreject に合致しなければ全件報告するので、どんな攻撃を受けたか見ることができる。ちなみにレポートが来たということは404 で弾いたということになる。その他Ver.0.05 ではいろいろ弄ったので新たなバグを内包したかも。 動作例 コード &#60;?php /* ===================================================  *  404 [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153898045/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[WordPress] 404 関連のプラグインや対処法</title>
		<link>http://pc.casey.jp/archives/153898047</link>
		<comments>http://pc.casey.jp/archives/153898047#comments</comments>
		<pubDate>Tue, 27 Sep 2011 15:03:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[タグ]]></category>
		<category><![CDATA[メンテナンス]]></category>
		<category><![CDATA[メール]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153898047</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153898047' addthis:title='[WordPress] 404 関連のプラグインや対処法 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>404 エラーは、閲覧しようとしたページが見つからないというステータスコード。 慣れている人間が目撃すれば、たくさんある404 ページの１でしかない。しかし、一般的な閲覧者からすれば、無機質なNotFound 画面だけではページが存在しないことに気がつかず、インターネットに接続されていないとかパソコンが壊れたとか言い出すこともある。 また、ユーザビリティからすれば、適切な対応や表示をすることが望ましいし、SEO やPV を増やすことにつなげるなら、何かしらの対処が必要だ。 WordPress 関連の404 を調べると、503 時と同じく、404 時の場合のカスタマイズが多くヒットする。無機質な404 よりはカスタマイズされた404 はありがたいが、404 がどこで発生しているかをつかめれば.htaccess で新しいページに誘導することもできるだろうし、正しく表示できていないページを発見することもできるかもしれない。 404 が起きているかを調べる 404 Notifier - 404 ページをメールまたはRSSフィードで通知 設定・オプション 設定は簡単で、特にナニもしなくてもそのまま使える。メールアドレスを入力してチェックボックスをチェックするとメールが送られてくる。リンクになっている文字列をクリックするとフィードにアクセスできる。 メール通知にすると大量のメールが送られてくる＆送信している者になる可能性があるので注意が必要。 参考文献でもフィードでの受信をすすめている。 JH 404 Logger &#8211; 404 表示回数をダッシュボードに表示 404 表示回数をダッシュボードに表示してくれるらしい。（未試用） 404 時に類似ページを案内する 404 SEO Plugin - 404 ページにサイト内の関連ページリンクを表示 404 Notifier は404 を通知することで404 になることを減らすことに役立つが、管理者がその対応をするまで訪問者には何も伝わらない。404 SEO Plugin は、関連ページを表示してくれる。「Smart 404」も同様の動作をする。 ※このプラグインは見つからなかったので以下のプラグインを試用した SEO Auto Links &#38; [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153898047/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>複数サイトのアクセス解析（４）Research Artisan Lite</title>
		<link>http://pc.casey.jp/archives/153898039</link>
		<comments>http://pc.casey.jp/archives/153898039#comments</comments>
		<pubDate>Sun, 25 Sep 2011 03:03:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[サーバー/OS]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[データベース]]></category>
		<category><![CDATA[パスワード]]></category>

		<guid isPermaLink="false">http://pc.casey.jp/?p=153898039</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://pc.casey.jp/archives/153898039' addthis:title='複数サイトのアクセス解析（４）Research Artisan Lite '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>ダウンロード 機能の違い &#8211; 国産オープンソースPHPアクセス解析CGI &#8211; Research Artisan Lite &#8211; リサーチアルチザンライト インストール ダウンロードしたzip ファイルを解凍し、public_html 内のra とra_core をFTP 転送する。 今回は次のような構成にした。 /public_html/ral/ra/ /public_html/ral/ra_core/ ※解凍したファイル構成はra_core がpublic_html より上位階層にあったので、public_html 以下に配置するのはよろしくないかもしれない http://設置URL/ral/ra/analyze/index.php にアクセスする。 問題がある場合の例 環境設定に失敗しました。以下のディレクトリのアクセス権（パーミッション）を書き込み可能にしてください。 /virtual/*****/public_html/******/ral/ra/setting 以下の .htaccess を設置して再読み込みすると問題なくアクセスできた。 AddHandler application/x-httpd-phpcgi .php データベース設定 データベースに接続するためのアカウントを設定する。プレフィックスに対応している。 サイト名とURL 、管理画面へのアクセスパスワードを設定する。 解析タグが表示されるので、メモしておく。 ログインをクリックする。 ログイン 設定したパスワードでログインする。 解析画面へアクセスできた。今はまだ何もない状態。 運用後に以下のメッセージが表示されることがあるので対処しておく。 ※セキュリティ警告：以下の「setting」ディレクトリのアクセス権（パーミッション）が書き込み可能になっています。 /virtual/****/public_html/*****/ral/ra/setting/ ※マルチサイトに対応させることはできるし、その方法はマニュアルにも記載されている。ただし、推奨されていないので何らかのトラブルに見舞われる可能性がある。参考文献によれば、特にトラブルはなく運用されているようだ。 解析タグの例 解析タグ &#60;script type="text/javascript" src="http://log.example.com/ral/ra/script.php"&#62;&#60;/script&#62;&#60;noscript&#62;&#60;p&#62;&#60;img src="http://log.example.com/ral/ra/track.php" alt="" [...]]]></description>
		<wfw:commentRss>http://pc.casey.jp/archives/153898039/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

