<?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:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>仙人の心得</title>
	<atom:link href="http://blog.mktime.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.mktime.com</link>
	<description>仙人になりたい。テクメモ編</description>
	<pubDate>Wed, 17 Sep 2008 15:57:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>ja</language>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/feed" />
		<item>
		<title>linux：サーバのアーキテクチャを調べるには</title>
		<link>http://blog.mktime.com/archive/61.html</link>
		<comments>http://blog.mktime.com/archive/61.html#comments</comments>
		<pubDate>Wed, 17 Sep 2008 15:57:27 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[rpm]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=61</guid>
		<description><![CDATA[パッケージをインストールするとき、どのアーキテクチャを選択すればよいかわからない時はuname -a

# uname -a
Linux localhost.localdomain 2.6.9-023stab046.2- [...]]]></description>
			<content:encoded><![CDATA[<p>パッケージをインストールするとき、どのアーキテクチャを選択すればよいかわからない時はuname -a</p>
<pre class="console">
# uname -a
Linux localhost.localdomain 2.6.9-023stab046.2-smp #1 SMP Mon Dec 10 15:04:55 MSK 2007 x86_64 x86_64 x86_64 GNU/Linux
</pre>
<p>後ろのほうのx86_64がそのサーバのアーキテクチャ。<br />
他にi386やi686などがある。<br />
noarchは全アーキテクチャ共通のパッケージ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/61.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/61.html" />
	</item>
		<item>
		<title>VirtualHost環境にMTOSをインストール</title>
		<link>http://blog.mktime.com/archive/58.html</link>
		<comments>http://blog.mktime.com/archive/58.html#comments</comments>
		<pubDate>Sat, 23 Aug 2008 05:18:35 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[mtos]]></category>

		<category><![CDATA[virtualhost]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=58</guid>
		<description><![CDATA[cgi-script のハンドラを有効にします。ついでに.plでもCGIが動くようにします。
/etc/httpd/conf/httpd.conf

#AddHandler cgi-script .cgi
AddHand [...]]]></description>
			<content:encoded><![CDATA[<p>cgi-script のハンドラを有効にします。ついでに.plでもCGIが動くようにします。</p>
<div class="caption">/etc/httpd/conf/httpd.conf</div>
<pre class="file">
#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .pl
</pre>
<p>VirtualHostを定義。<br />
スクリプトは非公開領域で動くようにScriptAliasを設定する。</p>
<div class="caption">/etc/httpd/conf.d/vhosts.conf</div>
<pre class="file">
&lt;VirtualHost *:80>&gt;
    DocumentRoot "/path/to/public_html"
    ScriptAlias /cgi-bin/ "/path/to/cgi/"
    ServerName example.com
    ErrorLog "logs/example.com-access.log"
    CustomLog "logs/example.com-error.log" common
&lt;/VirtualHost&gt;
</pre>
<p>&#8220;/path/to/cgi&#8221;にソースを解答し、/cgi-bin/mt-check.cgiにアクセスして必要なライブラリを確認する。<br />
yumまたはcpanで必要なライブラリを入れる。</p>
<pre class="console">
yum install perl-GD
cpan> install DBI
cpan> install DBD::mysql
#…以下必要なだけインストール
</pre>
<p>cgiファイルの権限を変更し実行可能にする。</p>
<pre class="console">
chmod 755 *.cgi
</pre>
<p>/cgi-bin/mt.cgiにアクセス。あとはウィザードに従ってインストール。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/58.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/58.html" />
	</item>
		<item>
		<title>CentOS：memcachedをインストール</title>
		<link>http://blog.mktime.com/archive/55.html</link>
		<comments>http://blog.mktime.com/archive/55.html#comments</comments>
		<pubDate>Thu, 21 Aug 2008 11:49:26 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[centOS]]></category>

		<category><![CDATA[memcached]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=55</guid>
		<description><![CDATA[CentOs5.2のリポジトリにmemcachedは無いのでリポジトリを追加する。

cd /usr/local/src
wget http://dag.wieers.com/rpm/packages/rpmforge- [...]]]></description>
			<content:encoded><![CDATA[<p>CentOs5.2のリポジトリにmemcachedは無いのでリポジトリを追加する。</p>
<pre class="console">
cd /usr/local/src
wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm
</pre>
<p>mencachedを入れるのに必要なモジュールをインストールする。<br />
たぶんこのあたりを入れておけばおっけーなはず。</p>
<pre class="console">
yum install gcc
yum install memcached
yum install zlib-devel
yum install php-pecl-memcache
</pre>
<p>memcachedの設定は/etc/sysconfig/memcachedを編集する。<br />
動かすだけならデフォルトのままでOK。<br />
memcacheの起動</p>
<pre class="console">
/etc/init.d/memcached start
</pre>
<p>サービスを自動起動にしておく。</p>
<pre class="console">
chkconfig memcached on
</pre>
<p>テストスクリプト</p>
<pre name="code" class="php">

&lt;?php
    $cache = new Memcache;
    $key = &#039;cache_test&#039;;
    $cache-&gt;connect(&#039;localhost&#039;, 11211);
    if(!$cache-&gt;get($key)){
        // キャッシュの有効時間は15秒
        $cache-&gt;set($key, date(&#039;Y-m-d h:i:s&#039;), MEMCACHE_COMPRESSED, 15);
    }
    echo $cache-&gt;get($key);
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/55.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/55.html" />
	</item>
		<item>
		<title>gvimの設定</title>
		<link>http://blog.mktime.com/archive/50.html</link>
		<comments>http://blog.mktime.com/archive/50.html#comments</comments>
		<pubDate>Tue, 05 Aug 2008 11:31:03 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[未分類]]></category>

		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=50</guid>
		<description><![CDATA[gvimの設定ファイルは_gvimrc。
_gvimrc

"カラースキーム
:colorscheme LightYellow
"フォント設定
:set guifont=MS_Gothic:h9:cSHIFTJIS
"表 [...]]]></description>
			<content:encoded><![CDATA[<p>gvimの設定ファイルは_gvimrc。</p>
<div class="caption">_gvimrc</div>
<pre class="file">
"カラースキーム
:colorscheme LightYellow
"フォント設定
:set guifont=MS_Gothic:h9:cSHIFTJIS
"表示する行数
:set lines=90
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/50.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/50.html" />
	</item>
		<item>
		<title>MySQL:auto_incrementが最大値まで達したとき</title>
		<link>http://blog.mktime.com/archive/46.html</link>
		<comments>http://blog.mktime.com/archive/46.html#comments</comments>
		<pubDate>Sun, 27 Jul 2008 14:07:57 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[mysql]]></category>

		<category><![CDATA[bigint]]></category>

		<category><![CDATA[int]]></category>

		<category><![CDATA[sutoincrement]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=46</guid>
		<description><![CDATA[auto_incrementにしたカラムの型がintなら2147483647、bigintなら9223372036854775807がautoincrementの最大になる。
実際に最大値までauto_increment [...]]]></description>
			<content:encoded><![CDATA[<p>auto_incrementにしたカラムの型がintなら2147483647、bigintなら9223372036854775807がautoincrementの最大になる。</p>
<p>実際に最大値までauto_incrementを進めてみる。</p>
<pre class="console">
 ALTER TABLE table1 AUTO_INCREMENT= 2147483647;
</pre>
<p>auto_incrementが最大値に達するともうそのテーブルには行を追加することはできなくなります。</p>
<p>oracleのシーケンスならCYCLEオプションがあるけどmysqlのauto_incrementにはそのような機能は無いらしい。</p>
<p>ではauto_incrementが最大値に達したとき、どうすればよいのか？</p>
<p>単純に</p>
<pre class="console">
 ALTER TABLE table1 AUTO_INCREMENT= 1;
</pre>
<p>としても、table1に1より大きいキーが存在する限りauto_incrementは1に戻らない。</p>
<pre class="console">
 DELETE FROM table1; --データを全部消す。
 ALTER TABLE table1 AUTO_INCREMENT= 1;
</pre>
<p>ならばauto_incrementは1に戻るので、循環シーケンスと似たような動きにするにはINSERTトリガーで</p>
<p>1. 対象テーブルのauto_increment値が最大に達しているかチェック。最大なら2.へ<br />
2. 対象テーブルのデータを別テーブルに退避<br />
3. 対象テーブルのデータをDELETE<br />
4. ALTER TABLE～でauto_incrementを初期値に設定</p>
<p>という流れになるけど、INSERTの度に1.のチェックを走らせるのはちょっと嫌（1/2147483647の為に余計な処理を入れたくない）。また、退避後のデータをどう扱うかも微妙（UNIONするにしても別のキーが要るし・・・）だから<br />
int autoincrementでキーの枯渇が心配ならbigint型にしたほうがよいと思う。<br />
bigintの最大値は9223372036854775807。intの約42億倍もある。<br />
これは1日に1億個のキーを消費しても2億年持つという計算になる。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/46.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/46.html" />
	</item>
		<item>
		<title>MySQL：プロセスをkillする</title>
		<link>http://blog.mktime.com/archive/44.html</link>
		<comments>http://blog.mktime.com/archive/44.html#comments</comments>
		<pubDate>Sun, 27 Jul 2008 13:57:47 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[mysql]]></category>

		<category><![CDATA[command]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=44</guid>
		<description><![CDATA[MySQLにログインして、プロセスの一覧を表示し削除したいプロセスのIDを確認する。

SHOW PROCESSLIST;

IDを指定して削除する。

kill [ID];

]]></description>
			<content:encoded><![CDATA[<p>MySQLにログインして、プロセスの一覧を表示し削除したいプロセスのIDを確認する。</p>
<pre class="console">
SHOW PROCESSLIST;
</pre>
<p>IDを指定して削除する。</p>
<pre class="console">
kill [ID];
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/44.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/44.html" />
	</item>
		<item>
		<title>php： Smartyのdate_formatで前のゼロを表示しない方法</title>
		<link>http://blog.mktime.com/archive/42.html</link>
		<comments>http://blog.mktime.com/archive/42.html#comments</comments>
		<pubDate>Sun, 27 Jul 2008 13:53:06 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[date_format]]></category>

		<category><![CDATA[smarty]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=42</guid>
		<description><![CDATA[ Smartyのdate_formatで先頭に0をつけない月と日を出力するには、引数の書式指定部分にそれぞれ&#8221;-&#8221;（マイナス）を付ける。

{$mydate&#124;date_format:'%-m:%- [...]]]></description>
			<content:encoded><![CDATA[<p> Smartyのdate_formatで先頭に0をつけない月と日を出力するには、引数の書式指定部分にそれぞれ&#8221;-&#8221;（マイナス）を付ける。</p>
<pre>
{$mydate|date_format:'%-m:%-d'}
</pre>
<p>&#8216;%m%d&#8217;なら&#8217;07/05&#8242;になる。<br />
-をつけて&#8217;%-m:%-d&#8217;なら&#8217;7/5&#8242;になる。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/42.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/42.html" />
	</item>
		<item>
		<title>php：PEAR phpunitのインストール</title>
		<link>http://blog.mktime.com/archive/40.html</link>
		<comments>http://blog.mktime.com/archive/40.html#comments</comments>
		<pubDate>Sun, 27 Jul 2008 13:47:41 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=40</guid>
		<description><![CDATA[足りないPEARライブラリとphp-extensionを入れてから、phpunit/PHPUnitをインストール。 

# pear install pear/Image_GraphViz
# pear install pear/Log
# yum install php-common
# yum install php-dom
# yum install php-pdo
# pear install phpunit/PHPUnit

]]></description>
			<content:encoded><![CDATA[<p>足りないPEARライブラリとphp-extensionを入れてから、phpunit/PHPUnitをインストール。 </p>
<pre class="console">
# pear install pear/Image_GraphViz
# pear install pear/Log
# yum install php-common
# yum install php-dom
# yum install php-pdo
# pear install phpunit/PHPUnit
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/40.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/40.html" />
	</item>
		<item>
		<title>linux：yumレポジトリを一時的に追加する</title>
		<link>http://blog.mktime.com/archive/38.html</link>
		<comments>http://blog.mktime.com/archive/38.html#comments</comments>
		<pubDate>Sun, 27 Jul 2008 13:45:59 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=38</guid>
		<description><![CDATA[普段は公式のレポジトリだけチェックしたいけどphpだけは最新にアップグレードしたい。そんなときに。
目的のパッケージがあるレポジトリに対しての設定ファイルを追加する方法。
RPM-GPG-KEYをインストール。 

#  [...]]]></description>
			<content:encoded><![CDATA[<p>普段は公式のレポジトリだけチェックしたいけどphpだけは最新にアップグレードしたい。そんなときに。<br />
目的のパッケージがあるレポジトリに対しての設定ファイルを追加する方法。<br />
RPM-GPG-KEYをインストール。 </p>
<pre class="console">
# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
</pre>
<p> /etc/yum.repos.d/の下にrepoファイル追加</p>
<div class="caption">/etc/yum.repos.d/utterramblings.repo</div>
<pre class="file">
[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
</pre>
<p>目的のパッケージをアップデートしたらenabledを0に設定し、普段は参照しないようにしておく。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/38.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/38.html" />
	</item>
		<item>
		<title>Apache：エラーと対応方法</title>
		<link>http://blog.mktime.com/archive/36.html</link>
		<comments>http://blog.mktime.com/archive/36.html#comments</comments>
		<pubDate>Sun, 27 Jul 2008 13:42:04 +0000</pubDate>
		<dc:creator>nak</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://blog.mktime.com/?p=36</guid>
		<description><![CDATA[とりあえず、エラーログを確認すること。全てはそれから。
ドキュメントルートへのアクセスがforbiddenになるとき
こんなエラーのとき
 Directory index forbidden by Options dir [...]]]></description>
			<content:encoded><![CDATA[<p>とりあえず、エラーログを確認すること。全てはそれから。</p>
<h3>ドキュメントルートへのアクセスがforbiddenになるとき</h3>
<p>こんなエラーのとき<br />
 <strong>Directory index forbidden by Options directive: /var/www/html/</strong><br />
→Option Indexesが設定されていないため、/でindex.html等にアクセスできていない。</p>
<h3>Permission deniedのエラーが出るとき</h3>
<p>こんなエラーのとき<br />
<strong> (13)Permission denied: access to / denied</strong><br />
ディレクトリのパーミッションを確認する<br />
ユーザディレクトリにドキュメントルートを置いたときはユーザディレクトリも実行可能でないといけない。</p>
<pre class="console">
 chmod +x /home/ユーザ
</pre>
<h3>seLinuxの設定が怪しいとき</h3>
<p>seLinuxが原因かどうかは一時的にseLinuxを切ってみれば解る。<br />
/etc/selinux/configを変更する。</p>
<div class="caption">/etc/selinux/config</div>
<pre class="file">
 SELINUX=disabled
</pre>
<p>設定後はサーバ再起動が必要</p>
<pre class="console">
 # reboot
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.mktime.com/archive/36.html/feed</wfw:commentRss>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.mktime.com/archive/36.html" />
	</item>
	</channel>
</rss>
