<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja">
<title>sasapurinの自宅鯖</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/" />
<modified>2008-08-21T09:15:34Z</modified>
<tagline>自宅のLANでサーバーを稼働させよう！</tagline>
<id>tag:blog.sasapurin.com,2010:/server/3</id>
<generator url="http://www.movabletype.org/" version="3.36">Movable Type</generator>
<copyright>Copyright (c) 2008, sasapurin</copyright>
<entry>
<title>.htaccesを削除出来ない</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2008/08/htacces.html" />
<modified>2008-08-21T09:15:34Z</modified>
<issued>2008-08-21T08:04:30Z</issued>
<id>tag:blog.sasapurin.com,2008:/server/3.853</id>
<created>2008-08-21T08:04:30Z</created>
<summary type="text/plain"> 知人の商売のHPの相談に乗っていて、お高いレンタルサーバから安くてサービスの質...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Web(HTTP)</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
知人の商売のHPの相談に乗っていて、お高いレンタルサーバから安くてサービスの質の良い所に引っ越す事になりました。それで今まで使っていたレンタルサーバのFTPのアクセス情報を得て、引っ越しの案内を表示させるようにしたり、新しいサイトへのリダイレクトをしました。
</p>
<p>
どうせだから.htaccessでもリダイレクトしようと思って301エラーのリダイレクトをhtaccess.txtに記してFFFTPでアップロード。その後、.htaccessにリネームしたら、FFFTPから消えてしまった。なぁんも操作出来ない。
</p>
<p>
しかも、サーバーがredirectに対応していないらしく（と言うか.htaccess未サポート）、Internal Server Errorがでてどうしようも無くなりました。ちなみに記したのはこんな一行。
</p>
<blockquote>
	<p>
	redirect 301 / http://www.example.com/&nbsp;
	</p>
</blockquote>
<p>
FFFTPからは削除出来ないし、上位ディレクトリごと削除を試みたのですが失敗。これじゃあどうやっても無理じゃないかと、電話でサポートに相談したのですが。
</p>
<p>
理解せるのに何度も同じ説明をしなくてはならないし、それはソフトウェアの使い方に関する事ですからこちらでは分かりかねますとか言うので、「お前バカちんっ」と 言いたくなるのを押さえて、.htaccessは御社のWebサーバーで使われているApacheの設定に関係する標準的なファイルなのですよと説明して、最悪全部削除していいから.htaccessを削除して下さいなと頼んだ。
</p>
<p>
んで何時までにやってくれるのか？と確認したら（期限を切るのはビジネスでは常識でしょ？）、ちょっと調べてみないと分からないとかうだうだ言うので、仕方なく目処が付いたら連絡をもらうことにした。
</p>
<p>
こんなクソレンタルサーバ止める様にアドバイスして大正解だったなとマジに思う。高い金取っているくせに全然なってない。サポートのスキルが低すぎて話にならない。いつ電話がかかって来るか期待も出来ないので自力で出来ることはやってみる事にした。こんなんで法人相手にサーバーレンタルをよくやってるよなぁとある意味感心してしまった。良くないサービスは淘汰されていかないといけないと思う。でもだまされる人（良いサービスを選べない人）っているんだろうなぁ。
</p>
]]>
<![CDATA[<p>
さて理屈からすれば、ＵＮＩＸ系サーバなら.htaccessの様に、.から始まるファイルは隠し属性を持つ事になるお約束なので、FFFTPで「htaccess.txt」を「.htaccess」にリネームした直後から見えなくなったのは正常とも言える。かと言ってFFFTPで隠し属性のファイルを表示させる方法を知らない。もしかしたら設定で表示出来るようになっているのかも知れないがFFFTPはあんまり好きじゃないからそれ以上は調べたくない。
</p>
<p>
面倒なのでWindowsのFTPコマンドを使う事にした。家はLinuxマシンとBSDマシンが常時稼働しているのでそこからやっても良かったのだが、WindowsにFTPコマンド有ったよなぁ？という疑問を解消する為に試して見たのだ。
</p>
<p>
コマンドプロンプトから下記のようにしてみたら、結果的に削除出来て、Internal Server Errorも回避出来るようになった。ポイントはlsコマンドに-aオプションをつけるというところだろうか。GUIは手軽さでは便利だけど細かい操作になるとCUIの方が格段に便利だ。というかUNIX系の快適さに慣れたらGUIは回りくどい。コマンドを知らなかったら何も出来無かったとは恐ろしいなと思えてくる。UNIX系の勉強をしていて良かったというか、知らない人は躓くんだろうなあと思ったりする。</p>
<p>
という訳でここんちのクソサーバーは、.htaccessが使えないと見るのが正解だろう。本当に使えねぇサーバーだ。既存ファイルバックアップの時にもFTPがめちゃくちゃ遅いし接続は切れるし、良い点は何一つ無いと思った。（ファイル数30弱、ほんの数メガなのにですよ）
</p>
<pre>
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\>ftp
ftp> open example.com
Connected to example.com.

220 ProFTPD 1.2.8 Server (ProFTPD Default Installation) [vs38.nolnet.ne.jp]
User (example.com:(none)): xyu06251
331 Password required for xyu06251.
Password:
230 User xyu06251 logged in.

ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
css.css
footer.jpg
header.jpg
main.jpg
map.htm
map.jpg
index.htm
226 Transfer complete.
ftp: 305 bytes received in 0.08Seconds 3.91Kbytes/sec.
ftp> cd /httpd/htdocs
250 CWD command successful.
ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
cgi-bin
226 Transfer complete.
ftp: 18 bytes received in 0.01Seconds 1.20Kbytes/sec.
ftp> rm .htaccess
550 .htaccess: Not a directory
ftp>ls -la
200 PORT command successful
150 Opening ASCII mode data connection for file list
drwxrwxr-x   6 root     yxr1275      1024 Aug 21 14:45 .
drwxrwxr-x   4 root     yxr1275       512 Aug  7  2003 ..
-rw-r--r--   1 xyu06251 yxr1275        42 Aug 21 14:15 .htaccess
drwxrwxr-x   2 root     yxr1275       512 Aug 21 13:22 cgi-bin
226 Transfer complete.

ftp: 421 bytes received in 0.03Seconds 13.58Kbytes/sec.
ftp> rm .htaccess
550 .htaccess: Not a directory
ftp> mv .htaccess htaccess.txt
Invalid command.
ftp>del .htaccess
250 DELE command successful.
ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
.
..
cgi-bin
226 Transfer complete.
ftp: 25 bytes received in 0.03Seconds 0.81Kbytes/sec.

ftp> bye
421 No Transfer Timeout (300 seconds): closing control connection.

C:\>
</pre>
<p>
そういう訳でこのレンタルサーバーには、新しく引っ越した先への引っ越し案内とリダイレクトの仕組みを組み込んだ、index.htmlファイルを一つだけ残してそれ以外は全て削除した。
</p>
<p>
参考<br />
エヌオーエルネット（http://www.nolnet.ne.jp/）<br />
株式会社ネクサス（http://www.nexus.co.jp/）<br />
チカッパレンタルサーバー（<a href="http://chicappa.jp/" target="_blank" title="チカッパレンタルサーバー">http://chicappa.jp/</a>）
</p>
]]>
</content>
</entry>
<entry>
<title>ProjectKeeper</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2008/08/projectkeeper.html" />
<modified>2008-08-13T12:03:37Z</modified>
<issued>2008-08-13T10:35:00Z</issued>
<id>tag:blog.sasapurin.com,2008:/server/3.852</id>
<created>2008-08-13T10:35:00Z</created>
<summary type="text/plain"> 今働いている職場には一名だが専属のプログラマーがいるのだが、そのプログラマーか...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Redhat Linux</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
今働いている職場には一名だが専属のプログラマーがいるのだが、そのプログラマーからプロジェクト工数の管理を出来るツールについて相談を受けた。
</p>
<p>
一般的にはMS-Projectを使うのだろうが、何しろ金額が高い。現状はExcelで地道に作っているらしいのだが、非常に手間がかかるのでおっくうになってついつい端折ってしまい、結局繰り返しの仕事でも効率が上がらないとか、見積もりで同じ苦悩を味わったりと何とかしたいというのである。
</p>
<p>
このご時世、同じ苦悩を味わっているプログラマーも多いだろうし、お金がかからなくてそこそこ工数管理が出来るツールがあるのではないかと調べてみた。するとSIOSが作った<a href="http://www.sios.com/product/projectkeeper/download.html" target="_blank">ProjectKeeper</a>というソフトウェアがオープンソースで公開されているらしいという情報を得た。早速試してみようと思ったのだが色々な壁があった。
</p>
]]>
<![CDATA[<p>
まず動作環境である。問答無用でハードウェアスペックを要求してくる。どうやらSIOSお得意のJavaで動作するアプリケーションらしい。オープンソースと言いつつユーザー登録しないとダウンロード出来ない。
</p>
<p>
そして次にOSはRPM系のLinuxエンタープライズでなくてはならない点。具体的にはRHELもしくはSuSE辺である。CentOSでも動く様だが、とにかくマシンスペックの要求が高すぎる。余っているPCで動かすとかVM上で動かすとかそういうのは多分無理だ。
</p>
<p>
そして最悪なのは、必須アプリとして、IBMのDB2、WebSphereとなんともマイナーな（というか玄人過ぎる）要求を突きつけられる点だ。特にDB2はデータベースとしては有名だがなぜオープンソースでDB2？という疑問が残る。DB2というだけで使うのをあきらめる人は多いと思う。せめてPostgreSQLにして欲しいものだ。WebSphereにしてもApache Tomcatという選択肢はなかったのだろうか？
</p>
<p>
<a href="http://www.sios.com/product/projectkeeper/download.html" target="_blank">ProjectKeeper</a>はJavaアプリの様なので、想像するにWebSphereに依存している部分が多い為と思われるが、DB2は無いやろ！と思ってしまった。本当は使わせたくないのか？と思う位である。（普及させたいならもっと間口を広く構えるべきだろうに）どうにか成功したら手順を記そうといは思っているのだが．．
</p>
<p>
愚痴を言っていても仕方ないので、Googleで検索してからDB2とWebSphereのインストール手順を学習する。まぁ要するにデフォルトで次へ次へと進める訳だが、X-Windowナシの状態では使えないのか？という所に行き詰まった。いや、DB2初心者がGUIナシでDB2を使うのは不可能と感じた。仕方ないので素直にXありでCentOS5を検証環境にインストールした。
</p>
<p>
<strong>激重...orz</strong>
</p>
<p>
もう我が家では考えられない位重い動きに閉口してしまった。まぁ検証が終わったらOpteron機につっこめるから我慢しようと言い聞かせて我慢しながら私物のノートPC上のVMWare上で検証をする。VMWareは昔から愛用し続けているがこいつは本当に最高である。
</p>
<p>
しかし、<a href="http://www.sios.com/product/projectkeeper/download.html" target="_blank">ProjectKeeper</a>はどうやら微妙にバージョンアップで仕組みが変わっているらしく、ネット上で調べたインストール手順通りには行えない。更にinstall.shを実行させても途中で必ずDB2絡みのエラーでストップしてしまう。apache-antによるビルドには成功しているのだが、DB2とのやり取りでインストールスクリプトがエラーとなる。
</p>
<p>
仕方ないのでスクリプトを一行ずつ読みながら、検証を繰り返す。
</p>
<p>
どうやらDB2で言うユーザーアカウントは、Linux上のアカウントと同一らしい。DB2のインストール時に作ったアカウントがLinuxアカウントとして作られていた。これに気付くまでえらい時間がかかった。こういう概念なのかよっ！専用のアカウントで無ければＤＢ２が起動出来ないし。
</p>
<p>
ProjectKeeperのインストールスクリプトで自動作成されるアカウントが存在していたら、そこでストップするので再トライ前にアカウントを削除しなくてはならないし、DB2のデータベースも削除しておかないとスクリプトが途中で止まる。
</p>
<p>
なんて柔軟性の無いinstall.sｈだ！
</p>
<p>
まぁそのおかげで私レベルでも試行錯誤しつつ解読出来るのだが。
</p>
<p>
仕事（SEとは無縁の仕事を今やっている）の合間に検証をしていたりしたのだが、ここ数日そんな余裕も無くてもう一歩でインストールが終わるのにというところで止まっている。プログラマーさんに申し訳ないとは思うのだが、任されている仕事が優先だから仕方ないだろう。待って貰うか自力でインストールして貰うしかない。
</p>
<p>
そんな訳で自宅にお持ち帰りの宿題になってしまっている訳だが、これはあんまり良くないので（これで体を壊して二年半働けなくなった経験があるからさー）、気が向いた時にちょっとだけやろうという位の気構えで取り組もうとしている。集中力が有りすぎるのも自滅へまっしぐらなので困りものなのだ。最近私はそれにようやく気付いた。もう40近いおっさんだと言うのに。
</p>
<p>
成功したら手順なり要点なりをここに記そうと思っている。とりあえず今分かっている事は、気軽に検証出来る様な恵まれた環境に無いという事である。機材もないし時間もないし、マシンの処理は遅すぎるし。
</p>
<p>
余談だが私は<a href="http://www.sios.com/" target="_blank" title="サイオステクノロジー株式会社">SIOS</a>の株主である。テンアートニの時代から保有しているので、ハッキリ言って大損させられている。直接は関係ないかも知れないが、個人的には分かりやすいドキュメントを作れないIT系企業はダメだと経験上痛感している。<a href="http://www.sios.com/product/projectkeeper/download.html" target="_blank">ProjectKeeper</a>を試そうとして、サイト、及び添付ドキュメントを読んでみて、どうやらSIOSもその類っぽい気がぷんぷんしてきた。まぁわざと分かりにくいドキュメントしか公開せずにサポート契約を結ばせようと言う魂胆かも知れないが、検証出来なければ申し込みも無いだろうに。何か重要な所に気付いていない間抜けさを感じるのは私だけだろうか？
</p>
<p>
しかし株は塩漬けで売ろうにも売れない悲しい株主である。（数年間持っているが配当すらないし）<a href="http://www.sios.com/product/projectkeeper/download.html" target="_blank">ProjectKeeper</a>のインストールに成功して、でももし使えない状態だったら見切りをつけてこの会社の株は売り飛ばそうと思ったりしている。かみさんの期限取りに焼き肉でも食いに行った方がマシな気がしてきた。
</p>
<p>
最後の方は単なる愚痴でした。
</p>
]]>
</content>
</entry>
<entry>
<title>Sendmailを送信可能にする</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2008/04/sendmail.html" />
<modified>2008-04-28T14:50:39Z</modified>
<issued>2008-04-28T14:26:39Z</issued>
<id>tag:blog.sasapurin.com,2008:/server/3.802</id>
<created>2008-04-28T14:26:39Z</created>
<summary type="text/plain"> OP25Bがかなり前に通知されて、家のLinuxサーバで動いているPostfi...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Mail(SMTP)</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
OP25Bがかなり前に通知されて、家のLinuxサーバで動いているPostfixは中継サーバを設定しているのだが、Webサーバとしてしか使っていないFreeBSDサーバでは、全く必要としていなかったので、Sendmailをいじることは無かった。
</p>
<p>
しかし最近Webサイトからメールフォームを使ってメールを送信する試験をしていて、送信する必要が出てきたのでSendmailの設定を思い出しながらちょっとやってみた。とは言っても受信はしないからプロバイダの中継サーバを設定して外部に出て行けるようにするだけの話し。
</p>
]]>
<![CDATA[<p>
Sendmailの設定関係は、/etc/mailに保存されているはず。確認してみたら色々関係ファイルがあるではないか。mcファイルが肝だったはずなので、探してみたらfreebsd.mcというファイルが見つかった。こいつだ。
</p>
<p>
一応念のためにコピーして作業することにした。
</p>
<p>
# cd /etc/mail<br />
# cp freebsd.mc sasapurin.mc<br />
# vi sasapurin.mc
</p>
<blockquote>
	<p>
	dnl define(`SMART_HOST&#39;, `your.isp.mail.server&#39;)　こいつを<br />
	define(`SMART_HOST&#39;, `mmr.plala.or.jp&#39;)　に書き換えて保存する
	</p>
</blockquote>
<p>
makeしてsendmail.cfを作る為に/etc/make.confに下記の通り追記する
</p>
<blockquote>
	<p>
	SENDMAIL_MC=/etc/mail/sasapurin.mc
	</p>
</blockquote>
<p>
# make<br />
# make install<br />
# make restart
</p>
<p>
こんなに簡単だったっけな？と不安に思いながらもテストしてみたら、どうやら溜まっていたキューが一気に送信されたらしく（笑）、テストしたメールアドレスに10通ばかり送られてきた。WordPressでユーザー登録した時のとか、Joomla!でテストした時のとか。FreeBSD4.11から移行させた時に面倒だからやってなかった話なのだが、やっぱり横着したら駄目だなと思った次第である。
</p>
]]>
</content>
</entry>
<entry>
<title>.htaccessが使えない</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/12/htaccess.html" />
<modified>2007-12-14T08:12:35Z</modified>
<issued>2007-12-14T07:23:20Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.733</id>
<created>2007-12-14T07:23:20Z</created>
<summary type="text/plain"> 先月、FreeBSDの4.11から6.2に移行させて自宅Web鯖を運用していた...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>6.x</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
先月、FreeBSDの4.11から6.2に移行させて自宅Web鯖を運用していたのだが、掲示板へのスパムが相変わらず鬱陶しいので、面倒だけど対策せねばと作業していてひょっこり変な事に気づいた。ApacheのIndexesが効いていて、ディレクトリ指定されるとファイルが丸見えになっているのだ（汗
</p>
<p>
こんな状態じゃ何やっても無駄だし、一ヶ月恥書きっぱなしかよと思いつつ、Apache22のconf書き換え格闘開始。FreeBSD 4.x系ではApache1.3系を使っていたので、Apache2x系が面倒に感じる。なんで一々confファイルを分割すんねんっ。鬱陶しいわ。とか文句言いながらやっていてもらちがあかないので（何故か設定が効かない）、.htaccessで対処する事にした。
</p>
<p>
しかし、.htaccessが効かないっ。なんで？なんで？
</p>
<p>
Option Indexes　を外したりしたけど、どうしてもファイルが丸見えになってしまう。
</p>
<p>
30分ばかりかかって一通り調べてようやく分かった。<br />
鯖の復旧（移行）作業時に端折って、DocumentRootをそのまま（放置）にしていたのが原因の発端だ。今まで使っていたドキュメントルートはさして重要ではないから復元せずにHDDに保存したままにしている。Apacheはディレクティブが別れているので、ドキュメントルートはそのままでも関係ないと思いきや、なんの全部それが反映されるという仕組みだ。つまり子ディレクティブや.htaccessで何やっても意味がない。あー紛らわしいっ。
</p>
<blockquote>
	<p>
	AllowOverride None
	</p>
</blockquote>
<p>
httpd.confに書かれた、たったこの一行が全てのUserDir、つまりはバーチャルホストにも影響していたという訳だ。
</p>
<blockquote>
	<p>
	AllowOverride All
	</p>
</blockquote>
<p>
なぜ最初からこうしておいてくれないのか？マジにconfファイルを分割したの鬱陶しい。1.3系の方に慣れてるから仕方ないんだけど絶対に2.x系のconfiファイルは不便過ぎる。
</p>
<p>
.htaccessにはもちろんこう書いた
</p>
<blockquote>
	<p>
	Options -Indexes
	</p>
</blockquote>
<p>
という訳で自分の確認不足が露呈してしまったのだが、1.3系で細工していたのが殆ど機能せず、構成ファイルが丸見えになっていたのは情けなさ過ぎるというか間抜けというか。まぁこれが半年先とかにならなかったのが不幸中の幸いかも知れないのだが。横着せずに全部のチェックしていかないと駄目って事か。いやぁ、たかがWebサーバ、されどWebサーバですな。 Apacheを全然使いこなせてないじゃん..orz
</p>
]]>

</content>
</entry>
<entry>
<title>FreeBSD鯖の移植</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/12/freebsd.html" />
<modified>2007-12-02T09:48:09Z</modified>
<issued>2007-12-02T07:50:52Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.725</id>
<created>2007-12-02T07:50:52Z</created>
<summary type="text/plain"> 家のメインサーバであるFreeBSD鯖が、オンボードNICのトラブルでネットワ...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>6.x</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
家のメインサーバであるFreeBSD鯖が、オンボードNICのトラブルでネットワークから切断された状態のまま何日過ぎただろうか。だいたいオンボードのNICのトラブルなんてあるもんかいな。チップがPRO100だったので結構重宝していたのだが、認識すれど、ループバックはOKだけど、外部にパケットが出て行かない（HUBは点滅するので恐らくデータが化けてる）状態になってしまったのでどうしようもない。念のためKNOPPIXでBOOTしてみたけどやっぱり症状は一緒で、認識はしているけど通信不可という不可解な現象。もうマシンを入れ替えよう（K6-233MHzは流石に古すぎるっしょ）
</p>
<p>
ずっとFreeBSD 4.x系で動いてきたのでそのまま惰性で4.x系を使い続けてきた。4.11Rでお終いだったか。5系もそろそろ終わりと言われているし、6.2Rがスタンダードで7系のアナウンスも出ているからな。
</p>
<p>
幸いIDEなHDDは無事だったので、データは丸々残っているという寸法だ。問題はどうやって新しいマシンに移行させるかだな。もう流石に4.11Rは使えないので6.2Rに鞍替えする計画。場合によってはOpenBSDもありかなと思っていたけれど、まだOpenBSDについては理解が進んでいないので、当分先送りする事にして、FreeBSD 6.2Rで行く事にした。
</p>
]]>
<![CDATA[<p>
マシンはやっぱりまたK6だったりする（ｗ　CPUはK6-450MHz、MEMは384MBである。富士通のFMVという古いパソコン。なんとなく気に入って二台ゲットしておいたのだが、ブログ用のサーバとおそろいで並べて置くとちょっとだけ嬉しい気がする。
</p>
<p>
FreeBSD 6.2RのCD用ISOを一つだけDLしてきた。余計なモノは入れないつもりだから、FDブートでもいいんだけど、FDイメージが4つもあるのを見てその気は無くなった。せめて2枚にとどめて欲しいもんだな。もうFDの時代も終わったという事か。その点OpenBSDはFD一枚でBOOT出来てネットワークインストール出来るから凄いぞ。そろそろマジにOpenBSDも覚えないといけないな。
</p>
<p>
さて、私はサーバ用途ではX-Windowは全く不要なので、マシンがショボイと言う理由もあって普通は見向きもされないらしい最小インストールを実行する。ドキュメント類もインストールされない本当の最小インストールだ。古いマシンでもあっという間にインストールが終わるので心地よい感じがする。 まぁここからがちょっと手がかかるのだが、FreeBSDは<span style="background-color: #ffff00">Sysinstall</span>が使えるからまだ楽ちんな方だと思う。
</p>
<p>
※例外なく<span style="background-color: #ffff00">/stand/sysinstall</span>とやって焦ってしまった。こういう細かいところが新しいバージョンでは変わってるんだね。 落とし穴が結構有りそうな気配を感じる。
</p>
<p>
取り急ぎ必要なのは
</p>
<ul>
	<li>ddclient</li>
	<li>Apache2(とうとう1.3系から移行する決意をした）</li>
	<li>Perl</li>
</ul>
<p>
この位である。あとはまぁ依存関係で勝手に入るんだろうからよしなにという感じである。DebianのAPTと同じでお気楽インストールが有り難い。依存関係で頭を悩ませるのは結構ストレスだったりするから本当にありがたい。
</p>
<hr />
さて課題のデータ移行である。ここで出番はIDE-USB変換コネクターである。1500円位で買ってきたものだが、時々活躍してくれるアイテムだ。電源はAC100Vのコンセントからとり、USBポートに接続すれば、内蔵型IDE-HDDが簡易型USB-HDDに早変わり。むき出しだからHDDの回転音が五月蠅いけどね。
<p>
&nbsp;
</p>
<blockquote>
	ad0: 6149MB &lt;WDC AC26400R 17.01J17&gt; at ata0-master UDMA33<br />
	acd0: CDROM &lt;CD-224E/1.5A&gt; at ata1-master PIO4<br />
	Trying to mount root from ufs:/dev/ad0s1a<br />
	umass0: vendor 0x05e3 USB TO IDE, rev 2.00/0.33, addr 2<br />
	da0 at umass-sim0 bus 0 target 0 lun 0<br />
	da0: &lt;FUJITSU MPB3043ATU 0811&gt; Fixed Direct Access SCSI-0 device<br />
	da0: 1.000MB/s transfers<br />
	da0: 4125MB (8448300 512 byte sectors: 255H 63S/T 525C)<br />
</blockquote>
<p>
umass0として認識してくれているから、/dev/da0で探せば見つかるハズ。
</p>
<blockquote>
	<p>
	# ls /dev | grep da0<br />
	da0<br />
	da0s1<br />
	da0s1a<br />
	da0s1b<br />
	da0s1c<br />
	da0s1e<br />
	da0s1f<br />
	da0s1g
	</p>
</blockquote>
<p>
あたたたた、パーティション（スライス？）をいっぱい切ってたんだった。どれだったっけな。とりあえずラベルが/usrか、/etc/fstabを探し出したい。適当にマウントして行ってみる。
</p>
<p>
# mkdir /mnt/usbmass/<br />
# mount /dev/da0s1a /mnt/usbmass/<br />
# ls /mnt/usbmass/<br />
</p>
<p>
こんな感じで探し当てる。/etc/fstabを見つける事に成功したらローカルにコピペしておいた方が良いと思う。fstabの記述は色々な局面で役立つよね。結局我が家の鯖の場合は、/usr/は、<span style="background-color: #ffff00">da0s1g</span>に有った。
</p>
<hr />
<p>
/usr/home/配下は、ちゃんとファイル属性でユーザーIDとグループIDが残っていた。このユーザーIDが大切なんだよね。これを元に確実にユーザー登録をしていく。そうすればファイル属性を維持したままFreeBSD 6.2R環境へ移行出来るハズだ。
</p>
<p>
# sysinstall
</p>
<blockquote>
	<p>
	Configure&gt;User Management&gt;User
	</p>
</blockquote>
<p>
UIDをしっかり意識しつつアカウントを合わせていく。まぁ言い換えればUIDさえ理解していればユーザー名を無理に合わせることもないのだが、うちはNameベースのVirtualHostを組んでいるので、ユーザー名が合わないと困った事になるんだな。アカウント登録が終わったらUIDでなく、ユーザー名で表示去れるようになった。これで一安心。
</p>
<p>
後は各ユーザーでログインしなおしてから、コピーコマンドでボチボチコピーして行く事だ。
</p>
<p>
# cd /mnt/usbmass/home/sasapurin/<br />
# cp -r -p public_html /home/saspurin/public_html/
</p>
<p>
cpコマンドに-rと-cのオプションを付ける事がポイントかな。manが使えない（インストールしてない）ので、Googleで検索した。地道な作業だが後でオーナー変更やパーミッション変更をちまちましていくよりはずっと楽だと思うので有り難いと思うべきだろう。
</p>
<p>
Apache1.3系と2系の設定ファイルの違いと、PerlのPATHの違いで、CGIが動かなくて焦ったけれど、結局やっぱり基本通りに確認すべき点を確認して行けば課題は克服できた。まだ6.x系の事が分かってないので後日ボチボチ調べていかないといけないなと思う次第である。
</p>
]]>
</content>
</entry>
<entry>
<title>HP ProLiant ML115</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/11/hp_ml115.html" />
<modified>2007-11-05T06:25:11Z</modified>
<issued>2007-11-05T05:42:20Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.706</id>
<created>2007-11-05T05:42:20Z</created>
<summary type="text/plain"> そろそろ自宅鯖をスッキリさせたくなってきた。今実家に帰省中で自宅にはかみさんが...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>HardWare</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
そろそろ自宅鯖をスッキリさせたくなってきた。今実家に帰省中で自宅にはかみさんがいるのだが、メインサーバが何かしらの原因でトラブッてしまった。OSはFreeBSDなのだが、ハードウェアはかなり型遅れなパソコンである。普通の人にはちょっと信じられない位古い機種だ。ずっと安定稼働を続けていたのだが、全く応答しなくなってしまった。
</p>
<p>
メインの仕事はWebサーバとDDNS書き換えである。後者は地味な役割であるが、IPアドレス変動式のADSL回線ではかなり重要な役割を果たしている。それがハードウェアの原因か、ソフトウェアの原因か現時点では全く分からない（調べられない）が機能しなくなってしまったのだ。幸いBlogサーバは別のハードウェアで稼働させているので、こうやってBlogを更新することは出来る。しかし時々IPアドレスが変わってしまうとアクセス出来なくなるので、その時はかみさんに連絡して、checkip.dynds.orgでルーターに割り当てられているグローバルIPアドレスを知らせて貰い、手作業でDDNSを書き換えている。
</p>
]]>
<![CDATA[<p>
冗長してしまうが、そういう訳でメインサーバにはアクセス出来ない。これは憶測だが恐らくハードディスクのトラブルでは無いかと思っている。何故ならば過去に二度ハードディスクの故障が原因でFreeBSD鯖が止まった事があるからだ。今までFreeBSDの原因で止まった事は無い（自分の設定ミスで止まったことはある）。だから多分今回もハードウェアトラブルだろうと思っている。
</p>
<p>
なぜ状況が分からないの？と思う人が居るかも知れない。それは一言で言うと、かみさんが素人だからだ。WindowsパソコンでWebしたり、HP作成ツールでHPを更新したり、Fireworksで画像を加工したりというユーザー的な事は出来るが、ことUNIXサーバーに関してはずぶの素人である。加えてわが家のサーバー二基に関しては、キーボード＆マウスはおろか、ディスプレイも接続していない。だから画面に表示されているエラーメッセージを読んでくれと言う指示も出せないのだ。
</p>
<p>
自宅鯖運用も5年以上経過した。そろそろちゃんとしたハードウェアで運用する時期に来ているのかも知れない。一応UPSで停電に対する対策は取っているのだが、普通のパソコンを再利用して運用しているから、出来る事はせいぜいそれ位までだ。真面目にRAID-5レベルでの冗長性は持たせるべきだなと思えてきた。それにパソコンとは言え二台を常時稼働させておくと電気代もバカにならない。それなりの性能を有するサーバー用ハードウェア一台に集約してしまう方が効率が良いのかも知れない。
</p>
<p>
問題は金だ。超現実的．．なんせ仕事出来ない身体だから貯金で慎ましく食ってるのが現状。贅沢は出来ない。ハードウェア更新なんて無理だよ...
</p>
<p>
半ば諦めていた所、HPから<a href="http://www.compaq.co.jp/products/servers/proliant/ml115/" target="_blank">ML115という機種が格安キャンペーン価格販売</a>されている事を知った。ちょっと心がぐらつくぜ。ProLiant ML115は、プロセッサの種類で言えば下記の三種類から選べる。くぅー、わが家では信じられない位のハイスペック（笑
</p>
<p>
AMD Athlon 64 プロセッサ 3500+（2.2GHz、512KB L2）<br />
デュアルコア AMD Opteron 1210（1.8GHz、2x1MB L2）<br />
デュアルコア AMD Opteron 1216（2.4GHz、2x1MB L2）
</p>
<p>
現状のスペックを考えると、Opteronは必要無いから Athlon64 3500+で充分である。メモリーも512MBあれば充分。となればキャンペーン価格で15,750円って安いかもっ、と思いきや配送料3,150円って高っ。結局19,000円って事は二万円じゃんか．．．送料もっと安く出来んの？送料無料だったらかみさんを説得して機種更新するのにな。3千円って結構大きいのよ、無職人にとっては..orz
</p>
<p>
やっぱりそんなにうまい話は無いって事だと悟ってしまった。でも安い事は安いよな。だけど問題は品質だよな。消費電力が大きいとか、冷却ファンの音が大きいとか、自宅に設置出来る代物かどうかはカタログスペックでは分からん。ま、その辺りは使っている人のインプレを参考にするしかないけどね。<a href="http://wiki.nothing.sh/page/hp%BB%AA-ProLiant-ML115%28%B3%CA%B0%C2Server%29" target="_blank">こちらのWiki</a>が情報まとまっているかな。もうちょっとリサーチして慎重に考えてみようっと。絶対に落ちない鯖ってのは魅力だよねー（そんなもんはあり得んけど）。
</p>
]]>
</content>
</entry>
<entry>
<title>Wake On LanをWebブラウザで行う</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/09/wake_on_lanweb.html" />
<modified>2007-09-01T11:07:51Z</modified>
<issued>2007-09-01T09:41:40Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.658</id>
<created>2007-09-01T09:41:40Z</created>
<summary type="text/plain"> 先のエントリーでWOL（Wake On Lan）に成功したことを記したが、それ...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Vine Linux</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
先のエントリーでWOL（Wake On Lan）に成功したことを記したが、それをより効果的に利用出来るように考えて成功したので備忘録しておく。
</p>
<p>
要するに常時起動のVine Linuxマシンから、TVサーバのマシンの電源ONの制御をしようって考えだ。それをWebブラウザを使ってやりたいと言う話。
</p>
<p>
もちろんこの方法なら、ルーター越しのWOLも可能だということだ。職場などの出先のPCからはもちろん、最近の携帯電話ならブラウザが付いているのでそれも可能だと思う。技術的には大した事無いが一つの方法として参考になれば幸いである。
</p>
<p>
問題は私がPerlを全く理解していない事である。よってCGIもシェルスクリプトで書かざるを得ない。でも本当にそれって可能なのだか？調べてみたら同じことをやっている方のブログで「<a href="http://more-pc.net/archives/2007/0528205912.html" target="_blank">ルーターの外からwol</a>」を発見したので、シェルスクリプトでCGIを書くのも可能なんだなと裏づけが取れたので実践することにした。
</p>
<p>
しかし、シェルスクリプトでCGIを書くのって本当は良くない方法らしいから、せめてベーシック認証をかけたディレクトリに設置することにした。ついでにhtmlファイルを置いてちょっとだけ見栄えもよくしてみる。実行ボタンをクリックするだけなんだが。
</p>
]]>
<![CDATA[<p>
<span style="background-color: #ffff00">注意：下記にURLが出てきますが架空のものです。ハックしようとかしないでね。そもそも存在しないURLを例にしていますから、認証を破ってやろうなんて事は無駄です。</span>
</p>
<p>
&nbsp;
</p>
<p>
まず、wolコマンドを実行するシェルスクリプトを書いてしまおう。<br />
難しいのは嫌なので極めてシンプルに書いてしまう。
</p>
<p>
$ which sh<br />
/bin/sh
</p>
<p>
$ cd<br />
$ vi wol.sh&nbsp;
</p>
<blockquote>
	<p>
	wol.sh という名前で保存するとする<br />
	-----------------------------------------------<br />
	#!/bin/sh<br />
	wol 192.168.1.255 xx:xx:xx:xx:xx:xx<br />
	-----------------------------------------------
	</p>
</blockquote>
<p>
本当にwolが動くか確認しておこう
</p>
<p>
$ chmod 705 wol.sh<br />
$ ./wol.sh
</p>
<p>
リモートで起動することに成功したら次のステップに進もう
</p>
<p>
既に公開しているWebサーバにスクリプトと、簡単なhtmlのページを作る。<br />
ちなみに私はpublic_htmlディレクトリをベーシック認証して設置することにした。<br />
（ベーシック認証についてはどこかに記した記憶があるので、ここでは書きません）
</p>
<p>
$ cd public_html/<br />
$ vi wol.cgi
</p>
<blockquote>
	<p>
	wol.cgi という名前で保存する（Perlではなくshで書いてる）<br />
	-------------------------------------------------<br />
	#!/bin/sh<br />
	echo Content-type: text/html<br />
	echo<br />
	echo &quot;&lt;title&gt;sending wol&lt;/title&gt;&quot;<br />
	echo &quot;&lt;p&gt;&quot;<br />
	echo &quot;sending wol to fluorite&quot;<br />
	echo &quot;...&quot;<br />
	sh /home/wol/wol.sh<br />
	echo &quot;...&quot;<br />
	echo &quot;&lt;/p&gt;&quot;<br />
	echo &quot;&lt;p&gt;&quot;<br />
	echo &quot;done.&quot;<br />
	echo &quot;&lt;/p&gt;&quot;<br />
	-------------------------------------------------
	</p>
</blockquote>
<p>
$ chmod 705 wol.cgi&nbsp;
</p>
<p>
Webブラウザ用にHTMLのページを作っておくとちょと自己満足に浸れそう（ｗ
</p>
<p>
$ vi wol.html
</p>
<blockquote>
	<p>
	wol.html という名前で保存する<br />
	-------------------------------------------------<br />
	&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;<br />
	&lt;html&gt;<br />
	&lt;head&gt;<br />
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=Shift_JIS&quot;&gt;<br />
	&lt;title&gt;WOL-SH&lt;/title&gt;<br />
	&lt;/head&gt;<br />
	&lt;BODY BGCOLOR=&quot;#ffe0c0&quot;&gt;<br />
	&lt;H3 align=&quot;center&quot;&gt;WOL-SH&lt;/H3&gt;<br />
	&lt;HR&gt;<br />
	&lt;p align=&quot;center&quot;&gt;テレビサーバの電源をWake on LANで入れるっちゃ&lt;/p&gt;<br />
	&lt;form action=&quot;./wol.cgi&quot; method=&quot;post&quot; name=&quot;wol&quot; id=&quot;wol&quot;&gt;<br />
	&lt;div align=&quot;center&quot;&gt;<br />
	&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;送信&quot;&gt;<br />
	&lt;/div&gt;<br />
	&lt;/form&gt;<br />
	&lt;HR&gt;<br />
	&lt;/body&gt;<br />
	&lt;/html&gt;<br />
	-------------------------------------------------&nbsp;
	</p>
</blockquote>
<p>
これで出来たのでWebブラウザからアクセスしてみた
</p>
<p>
http://www.sasapurin.com/~wol/wol.html
</p>
<p>
ベーシック認証がかかっていて、ユーザー名とパスワードを入力した
</p>
<p>
極めてシンプルなページとボタンが一個出てきたので、ボタンをクリックする。&nbsp;
</p>
<p>
<strong>Internal Server Error　.......</strong>
</p>
<p>
&nbsp;なんじゃそりゃ~
</p>
<p>
&nbsp;
</p>
<p>
httpdのエラーログ確認
</p>
<blockquote>
	<p>
	Resource temporarily unavailable:<br />
	couldn&#39;t spawn child process: /home/wol/public_html/wol.cgi
	</p>
</blockquote>
<p>
チャイルドプロセスが作れないとかぬかしてるな．．
</p>
<p>
&nbsp;
</p>
<p>
そもそもシェルで書いたCGIは機能するんか？
</p>
<p>
$ ./wol.cgi
</p>
<p>
あらら、ちゃんとWOLでリモート起動がかかってメッセージも出てきた
</p>
<blockquote>
	<p>
	Content-type: text/html<br />
	&lt;title&gt;sending wol&lt;/title&gt;<br />
	&lt;p&gt;<br />
	sending wol to fluorite<br />
	...<br />
	...<br />
	&lt;/p&gt;<br />
	&lt;p&gt;<br />
	done.<br />
	&lt;/p&gt;
	</p>
</blockquote>
<p>
&nbsp;
</p>
<p>
って事は、シェルスクリプト（sh）でCGIを書いているから、Apacheが拒否してるって感じだろうな。<br />
そういえば、ExecCGIとかのところに、CGIファイルの拡張子を定義するところ(<a href="http://httpd.apache.org/docs/2.0/ja/mod/mod_mime.html#addhandler" target="_blank">AddHandler</a>)があったはず。
</p>
<p>
$ su -<br />
# less /etc/httpd/conf/httpd.conf
</p>
<p>
/AddHandler
</p>
<p>
みぃつけた（ｗ
</p>
<p>
けど待てよ．．ここを書き換えちゃうと、Apache全体に適用されちゃうよな。それはまずいな。
</p>
<p>
&nbsp;
</p>
<p>
ってことで、.htaccessを利用することに決定。既にベーシック認証の為に設置してるから追記するだけでいけるはず。
</p>
<p>
# exit<br />
$ cd ~/public_html<br />
$ vi .htaccess
</p>
<blockquote>
	<p>
	AddHandler cgi-script .cgi<span style="background-color: #ffff00">.sh</span>
	</p>
</blockquote>
<p>
&nbsp;
</p>
<p>
気を取り直して、もう一度テストをやってみた
</p>
<p>
http://www.sasapurin.com/~wol/wol.html
</p>
<p>
ボタンをクリック！
</p>
<p>
カチン、ピコッという音と共に電源ファンの音が鳴って、LEDが点灯した！
</p>
<p>
やったぜ成功！！やるじゃん俺（ｗ
</p>
<p>
という訳でWebブラウザでWOLに成功したのでありました。
</p>
<p>
実は、メールを送ってそれをトリガーにしてシェルを実行させるって方法も考えたんだけどね。それはまたの機会にしようかな。とりあえず上手く出来てよかった。
</p>
<p>
<span style="background-color: #ffff00">冗長しますが、上記のURLは架空のもので存在しません。わざわざ秘密の入り口をネットで公開するほど間抜けではないっす（ｗ</span>
</p>
]]>
</content>
</entry>
<entry>
<title>Linux鯖からMagic Packet送出</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/09/linuxmagic_pack.html" />
<modified>2007-09-01T11:18:29Z</modified>
<issued>2007-09-01T05:32:38Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.657</id>
<created>2007-09-01T05:32:38Z</created>
<summary type="text/plain"> IO-DATAのGV-MVP/RX2WというハードウェアエンコードなTVキャプ...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Vine Linux</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
IO-DATAのGV-MVP/RX2WというハードウェアエンコードなTVキャプチャカードを使って地上波テレビを録画する事にした。これが結構便利で「おまかせ録画」をしておけば、キーワードに引っかかる番組をEPGから探し出してくれて、どんどん撮り貯めてくれる。大容量HDDに録画するようにしているので溜め込んでから、観終ったり要らないのは削除すればいいだけだ。もっと早く導入しておけばよかった。
</p>
<p>
将来的にはLinuxでTV録画サーバにしたいのだが、当分は使い勝手の問題で純正のWindows版ソフトを使って録画することにした。&nbsp;やっぱり考えられて作られて製品化しているだけあって、オープンソースなソフトウェアだけではちょっと不便だからだ。もっとも自分にスキルがあれば改良も可能だろうが。 まだまだ勉強が足りないと痛感する。
</p>
<p>
そんな訳で二週間ほど録画をしているのだが、自分の趣向が見えてきて、そういう番組が放送されている時間帯が朝と夜に偏っていることが分かった。ということは日中は録画待機のまま無駄に電源を消費しているってことだ。なんとか改善したいなと思った。
</p>
]]>
<![CDATA[<p>
まず考えたのはBIOSに備わっているタイマー起動である。毎日（曜日も指定可能）決まった時間に自動的に起動する様にして、一々自分で電源を入れなくてもすむようにした。これは使っているマシンのBIOSに依存しているから、まぁ運が良かったという感じだ。
</p>
<p>
そして深夜になると自動でシャットダウンする様にしている。これは下記でVBスクリプトが配布されているので、ありがたく使わせていただき、タスクで時間などを設定して、定期的に実行させればシャットダウンがかかる。これだけなら電源を切る為に手を煩わすことはない。
</p>
<p>
<a href="http://homepage2.nifty.com/winfaq/w2k/boot.html#1179" target="_blank"><u>Windows 2000/XP でログオフ／シャットダウン／再起動アイコンを作るには？</u></a>
</p>
<p>
でもこれだと朝起動して夜シャットダウンを一回限りしか出来ない。冗長してしまうが、私の観たい番組は朝と夜に偏っていて日中の電源ONは無駄な待機電力を消費するだけである。なんとか出来ないものか？
</p>
<p>
考えてみたところ、この機種にはIntelのPro100というEthenet用のチップが使われている。って事は恐らくWOL（Wake On Lan)に対応しているはずだ。デバイスマネージャーからプロパティを表示して詳細を確認したところ、確かにWOLに関する設定がある！来た来た～
</p>
<p>
「PMEをオンにする」という設定と<br />
「Wake on 設定」という項目を「Wake on Magic Packet」に設定した。<br />
これでマジックパケットがに反応して電源を起動できるようになるはずだ。
</p>
<p>
幸いというか、我が家にはPC-UNIXで24時間動かしっぱなしのサーバが二台ある。オペレーションシステムには、FreeBSDとVine Linuxを使っている。今回はVine Linuxの方をWOL制御の親とする事に決めた。
</p>
<p>
$<span style="background-color: #ffff00">su -<br />
</span>Password:<br />
#apt-cache search wakeonlan<br />
#<span style="background-color: #ffff00">apt-cache search wol<br />
</span><span style="background-color: #00ff00">wol - Wakeup on LAN client<br />
</span>#<span style="background-color: #ffff00">apt-get install wol</span><br />
パッケージリストを読みこんでいます... 完了<br />
依存情報ツリーを作成しています... 完了<br />
以下のパッケージが新たにインストールされます:<br />
&nbsp; wol<br />
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 2 個<br />
4103B のアーカイブを取得する必要があります。<br />
展開後に 4216B のディスク容量が追加消費されます。<br />
取得:1<a href="http://updates.vinelinux.org/">http://updates.vinelinux.org/</a>3.2/i386/plus wol 0.1-0vl2 [4103B]<br />
4103B を 0s 秒で取得しました (8446B/s)<br />
変更を適用しています...<br />
準備中...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />
&nbsp;&nbsp; 1:wol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />
完了<br />
# man wol<br />
wol のマニュアルはありません。<br />
#<span style="background-color: #ffff00">which wol</span><br />
<span style="background-color: #ffff00">/usr/bin/wol</span><br />
# wol 192.168.1.255 00-10-C6-xx-xx-xx<br />
Illegal MAC address: xx-xx-xx-xx-xx-xx<br />
# wol 192.168.1.255 0010C6xxxxxx<br />
Illegal MAC address: 0010C6xxxxxx<br />
#<span style="background-color: #ffff00">wol 192.168.1.255 00:10:C6:xx:xx:xx</span>
</p>
<p>
ようやくVine LinuxからのWOLコマンドにTVサーバが反応して、電源が入った！
</p>
<p>
ポイントとしては、下記の書式でwolコマンドを投入する事だ。上に転記した様にmanが無いから試してみるしかなかったのだ。我が家の場合はネットワークアドレスが192.168.1.0/24なのでブロードキャストは192.168.1.255である。NICのMacアドレスは面倒だけど何かしらの方法で控えておくしか無いだろう。
</p>
<p>
wol [ブロードキャストアドレス] [xx:xx:xx:xx:xx:xx]
</p>
<p>
ちなみにwolコマンドは、一般ユーザーからでも実行できる事を確認した。（上記はrootから行っているが、exitして一般ユーザーからやってみたが成功した）
</p>
<p>
さて、問題はこれをどうやって使いこなせば美味しいかってところだ。定期的なスケジュールは簡単なシェルにしておいて、cronで行えばよいだろう。そうすれば下記の様に出来るハズだ。
</p>
<ol>
	<li>
	<div>
	朝はBIOSのタイマーで起動（念のためWOLでも起動を試みておく）
	</div>
	</li>
	<li>
	<div>
	午前中の放送を録画
	</div>
	</li>
	<li>
	<div>
	タスクに登録したシャットダウンスクリプトで電源が落ちる
	</div>
	</li>
	<li>
	<div>
	夕方はVine Linux鯖からWOLでリモート起動（時間はcronで指定）
	</div>
	</li>
	<li>
	<div>
	夕方～夜の番組を録画
	</div>
	</li>
	<li>
	<div>
	タスクに登録したシャットダウンスクリプトで電源が落ちる
	</div>
	</li>
</ol>
<p>
この繰り返しが実現するはず。単発のWOLはatで指定しておけば繰り返さないので安心。
</p>
<p>
実験する限りこれはイレギュラーなことが無い限り、毎日安定して動くだろうと思う。これだけでもかなり満足ではある。
</p>
<p>
しかし、やっぱりちょっと欲が出てくる。<br />
TV録画マシンはWindowsを使用しているので、<a href="http://www.softether.com/jp/desktop/" target="_blank">PacketiX Desktop VPN</a>を使用させて頂いて常駐するようにしている。つまりイレギュラーな時間でもこいつの電源を入れることに成功すれば、外部から<a href="http://www.softether.com/jp/desktop/" target="_blank">PacketiX Desktop VPN</a>でリモート操作が出来る。急に予約したい番組が出来たとしても外部から操作出来るってもんだ。
</p>
<p>
ちなみには、一世を風靡した「SoftEther」の開発を更に進めている<a href="http://www.softether.com/jp/" target="_blank">ソフトイーサ株式会社</a>が、学術研究目的で無償で配布しているものだ。ベータ版だとの事だが安定して使用出来るので、活用させていただいている。私も近い将来ちょっと考えていることがあるので、もし本格的に仕事で必要になったらちゃんとした製品版を購入しようと思っている。今は所詮趣味っていうか自己満足な世界で楽しんでいるだけなので..orz
</p>
<p>
話をもどして、我が家のVine Linux鯖はWebサーバである。ルーターのSSHポートは開けてないから、外部からWebブラウザを使ってアクセス出来、操作することが出来る唯一のマシンなのだ。って事はWebブラウザで操作できるCGI？を作成すればWOLコマンドによるマジックパケットをLANに送出することが可能となるはず。
</p>
<p>
しかし、シェルスクリプトすら作れない私にはちょっと高い壁である。自慢にもなりゃしないが、プログラミングは全く出来ないのだ。でもなんとかこの問題というか課題はクリアしたい。ちょっと調べてみよう。
</p>
]]>
</content>
</entry>
<entry>
<title>コメントスパムでブログサーバあっぷあっぷ(^◇^;)</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/06/post_6.html" />
<modified>2007-06-11T09:55:08Z</modified>
<issued>2007-06-11T03:10:03Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.633</id>
<created>2007-06-11T03:10:03Z</created>
<summary type="text/plain"> 朝起きてきたら、サーバーのハードディスクがカラカラ言ってる。 ずーっとカラカラ...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Web(HTTP)</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
朝起きてきたら、サーバーのハードディスクがカラカラ言ってる。
ずーっとカラカラ言いっぱなし。これって変じゃないか？障害か？
</p>
<p>
Windowsパソコンを上げて、SSHでアクセスしてみた。激遅！！
</p>
<p>
ようやくtopコマンドを入れる事が出来た。
</p>
<p>
mt-comments.cgi<br />
mt-tb.cgi
</p>
<p>
プロセス乱立．．．一体何個ある？こりゃ遅くもなるわいな（汗<br />
明らかにトラックバック＆コメントスパムだな
</p>
]]>
<![CDATA[<p>
このままではどうしようもないので、ADSLルーターを再起動して、グローバルIPを変更する。こうすれば当分の間（DDNSの書き換えの間）は、スパマーからアクセスを受けなくなる。
</p>
<p>
手っ取り早く原因を調べるには、ログの確認からだ。
</p>
<p>
# cat /var/log/message<br />
# cat /var/log/httpd/access.log
</p>
<p>
access.logを見て大凡の状況が分かった。 mt-comments.cgiとmt-tb.cgiにアクセスして、POSTしようとしている輩が集中してアクセスしているのだ。アクセス元のIPアドレスは同一では無く、これは恐らくプロキシなどを噛ましているのだろうと推測する。
</p>
<p>
ちなみにこのブログサーバは、韓国、中国などの国に割り当てられたIPアドレスはdenyするように、パケットフィルタリングしている。 それをくぐってくるという事は、それなりのプロクシを挿しているんだろう。
</p>
<p>
さて、効果的な対処方法は無いかなと、Excelに読ませて並び替えなどしてログをチェックしていると共通点に気づいた。User-Agent情報に共通点があったのだ。その一例を記す。
</p>
<p>
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
</p>
<p>
ここで目を付けたのは、en-USという所である。Mozillaだろうが、IEだろうが、FirefoxだろうがGeckoエンジンだろうがどうでもええ。拒否したいのはUSブラウザを使っている奴なのだ。
</p>
<p>
そこで、httpd.confでUSをDenyする事にした。
</p>
<p>
具体的には下記の様に<span style="background-color: #ffff00">SetEnvIf</span>と、<span style="background-color: #ffff00">Deny</span>記述を追加するだけだ。<br />
<br />
UserDir public_html<br />
<br />
&lt;Directory /home/*/public_html&gt;<br />
AllowOverride FileInfo AuthConfig Limit<br />
<span style="background-color: #ffff00">SetEnvIf User-Agent&nbsp;<strong>en-US</strong>&nbsp;<strong>Bad-User-Agent</strong></span><br />
&lt;Limit GET POST OPTIONS PROPFIND&gt;<br />
Order allow,deny<br />
Allow from all<br />
<span style="background-color: #ffff00">Deny from env=<strong>Bad-User-Agent</strong></span><br />
&lt;/Limit&gt;<br />
&lt;Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK&gt;<br />
Order deny,allow<br />
Deny from all<br />
&lt;/Limit&gt;<br />
&lt;/Directory&gt;<br />
<br />
これで<span style="background-color: #ffff00">User-Agent</span>情報に<strong><span style="background-color: #ffff00">en-US</span></strong>という文字が入っていたらDenyされるハズ。<br />
手っ取り早くテストするには、Firefoxにアドイン(User Agent Switcher)を入れて、適当なブラウザ情報を装ってみる事だ。<br />
en-USという文字をUser-Agentに入れて見たら&quot;<strong>403 Forbidden</strong>&quot;が返る様になった。Permission Denyである。アクセス権が有りませんって意味らしい。
</p>
<p>
httpdのエラーログには下記の様な記述が記録された（トラックバック拒否成功）<br />
client denied by server configuration: /home/hogehoge/public_html/mt-tb.cgi<br />
<br />
へへん、ざまあみろ。という訳で英語版のブラウザを使っている奴はとりあえず拒否出来るだろう。
</p>
<p>
こんな事を書くとバレるかな？まぁとりあえず他のブラウザを使ってアクセスして来ないと見られないだろう。それに日本語を読める可能性は低いし。でも日本語読めたらこちらの手の内がバレバレだな。まぁその時は別の対処方法を考えよう。
</p>
<p>
正常なUserAgentについては、<a href="http://www.openspc2.org/userAgent/" target="_blank">UserAgent一覧</a>が詳しい。これを偽装してきたらひとたまりもないが、まぁその時は別の方法を考えると言うことで。
</p>
]]>
</content>
</entry>
<entry>
<title>久しぶりのトラブルシューティング</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/06/post_5.html" />
<modified>2008-04-13T06:54:59Z</modified>
<issued>2007-06-02T05:44:02Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.631</id>
<created>2007-06-02T05:44:02Z</created>
<summary type="text/plain">いやぁ参ったです。全然トラブルの無かったWebサーバが留守にしている間にトラブル...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>4.x</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
いやぁ参ったです。全然トラブルの無かったWebサーバが留守にしている間にトラブルを起こしたらしく、アクセス出来ないとメールをいただきました。Netcraftで調べてみたら確かに変。そして調べているとどんどんはまっていく（汗 

<![CDATA[<p>
まず変だったのがローカルループバックloに関するエラー。/var/log/messageにたっぷり記録されていました。こんなの原因調べる術知らないから素直に再起動してみた。凄く久しぶりの再起動。これが一つの罠。そう言えば前のトラブルも長期稼働し続けた末のチョンボだった記憶が。
</p>
<p>
起動中、NTPの時刻同期エラーが発生。っていうかログを見ると、ずっと時刻同期に失敗していたらしく時刻が5分位ずれている。なんでかな？と調べてみたらnamedが起動してないからNTPサーバへアクセス出来ないって罠。何時namedが落ちたんじゃ？しかも起動しないってなんでじゃー。とりあえずマニュアルでコマンドを入れて起動。NTPの時刻同期成功。これは原因を解決しておかんとまた繰り返すな。
</p>
<p>
加えてどうやら、DDNSの書き換えツールとして使っているddclientもcheckip.dyndns.orgの名前解決が出来ずにエラーを吐いてる。これじゃぁsasapurin.comは孤立状態じゃんか！まぁnamedが起動したらこの問題は解決した。DNSに反映されるまで15分位だったか。
</p>
<p>
少し待ってからWindowsのIEからWebサーバにアクセス。しかしこれではいかんと気づいた。我が家の場合はLAN内部はbind(named)で名前解決しているので、そのままだとプライベートアドレスが帰って来ちゃう。ネットワークのプロパティからDNS設定をプロバイダのDNSに変更して試験。これでグローバルアドレスが返ってくるハズ。そしたらルーターの認証が出てくる。そうだった、内部からグローバルアドレスでアクセスするとルーターの設定画面が応答するんだった。プロクシ噛まさないとね。サイバーシンドロームじゃ。
</p>
<p>
サイバーシンドロームで適当なプロクシを探してIEの接続プロパティを変更。80をポートフォワード設定しているから、これでルーターじゃなくてWebサーバが応答するはず。しかし、レスポンスが無い。なんで？？もちろんYahoo!とかGoogleとかはちゃんと応答する。って事はWebサーバの問題かよ。
</p>
<p>
まさか、Apacheが起動してないって事は無いよな？プロセスを見るコマンドは何だっけ。<strong>ps</strong>じゃなくてリアルタイムで見る奴。思い出せない。えーと、えーと。頭が錆び付いてる。しばらく考えてたら<strong>top</strong>コマンドを思い出した。そうぢゃ<strong>top</strong>ぢゃ。
</p>
<p>
# top
</p>
<p>
げげげー、Apacheが起動してないじゃん。応答するはずないよ。Webサーバーを再起動するまでは、かみさんが自分のHPにアクセスしていたから、FreeBSDの起動関係か。って事でrc.d辺りだなと考えて確認してみたら、/usr/local/etc/rc.d/apache.shの中の記述でEnableがNOになってた。うーん、そう言えばかなり前にPortの更新をした様な気がする。その時に書き換わったんだろうね。YESに書き換えておかないとまた再起動した時に同じ罠にはまるから書き換えておく。<span style="background-color: #ffff00">（<a href="#hosoku" title="補足">補足</a>：この対処方法は間違いです。）</span>
</p>
<p>
# apachectl start<br />
# top
</p>
<p>
apacheがプロセスとして常駐する様になった。これで問題ないだろうと思いきや、やっぱり応答してくれない。なんでーなんでーと考えていたら、アクセス制限を掛けていることを思い出した。海外からのアクセスは片っ端から蹴る様に実験がてらipfwで定義していたのだった（汗　海外の串じゃあかんやないの、日本の串ささないと。
</p>
<p>
サイバーシンドロームで日本国内の串を探してきてIEにセット。これで行けるでしょとやってみたところ、異様に時間がかかる。なんで？と思いながらも待っていたら少し画面が表示された。しかし何かが変。なんでこんなに時間がかかるねん？
</p>
<p>
ここまで調べたんだから、串を変えれば解決するんじゃないか？と思って別の串にしてみたら、普通に表示される様になった。良かったぁ～
</p>
<p>
思い返してみれば、FreeBSDサーバをいじるのってかなり久しぶりだ。再起動かけたのってもしかしたら一年位前だったかも知れない。再起動前に確認しておくべきだったな。
</p>
<p>
最近、Linuxの方に浮気気味だし、しかもGUIを使う様になっちゃってから、コマンドを忘れる傾向が強い。まぁ用途もサーバーからデスクトップに変わってきてるから、仕方ないっちゃあ仕方ないんだけど、RHCE受験で勉強した知識も錆び付いて来たって感じじゃん。ホント使わないと頭って錆びてくるね。
</p>
<p>
体調も回復して来たし、再就職にUNIX系の知識を活かそうかと思っていたけれど、身体のリハビリと同様に頭のリハビリも必用じゃんか..orz　今日は反省点とかを実感してどっと疲れがでて来たのである。いつもならトラブルシューティングが終わると達成感あるのに、今回は反省ばっかだからスッキリしないな。ああ、修行が足りん。
</p>
<hr />
<p>
<span style="color: #ff0000"><a name="hosoku" title="hosoku"></a>追記（間違いを書いていたので訂正補足です）</span>
</p>
<p>
<span style="color: #ff0000">FreeBSDの場合、OS起動時のスタートアップ動作は、/etc/rc.conf　ファイルで制御しています。確かに、/usr/local/etc/rc.d/apache.sh　を書き換えても起動するのですが、それは本来の考え方を無視した結果オーライな間違った設定方法だと後に知りました。正式には下記の様にしておくのが正解というか、FreeBSD流のスタートアップ登録なのでしょう。</span>
</p>
<p>
<span style="color: #ff0000"># vi /etc/rc.conf<br />
apache_enable=&quot;YES&quot; 　この一行を追記</span>
</p>
<p>
<span style="color: #ff0000">これはapache1.3系の場合の話。どういう風に記述するかは、それこそ/usr/local/etc/rc.d/apache.sh　に書いているので、それを確認する事です。そうすれば応用が利くので、Apacheに限らず、他のアプリケーションを自動起動させる方法も身につくというものです。</span>
</p>
]]>
</content>
</entry>
<entry>
<title>Linuxディストリビューションの導入方法</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/03/linux_1.html" />
<modified>2007-03-14T06:37:09Z</modified>
<issued>2007-03-14T06:29:29Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.617</id>
<created>2007-03-14T06:29:29Z</created>
<summary type="text/plain"> ITProのLinuxディストリビューションの導入方法を発見。 Redhatや...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Distribution</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
ITProの<a href="http://itpro.nikkeibp.co.jp/article/COLUMN/20060302/231585/?ST=lin-os" target="_blank">Linuxディストリビューションの導入方法</a>を発見。
</p>
<p>
RedhatやVine等は説明要らないでしょって位簡単だと思うのですが、こうやって色々なディストリビューションのインストール手順をWebで公開してくれていると、結構有り難い気がする。中でもGentoo Linuxはインストールに少々コツが必要だと感じており、グラフィカルなインストーラーの存在に全く気づいていなかった為、2006.1版のGUIなインストーラが有ることを知ってちょっと驚いた次第である。
</p>
<p>
これからLinuxを始めてみようと言う気持ちの有る方は是非参考にして見て頂きたいサイトです。これは有る意味永久保存＆公開しておいて欲しい情報だなと個人的には思ったり。
</p>
]]>

</content>
</entry>
<entry>
<title>掲示板スパム対策</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/02/post_4.html" />
<modified>2007-02-27T07:56:28Z</modified>
<issued>2007-02-27T07:22:29Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.612</id>
<created>2007-02-27T07:22:29Z</created>
<summary type="text/plain"> 何年もＨＰを運営していて、ＢＢＳを設置していると、掲示板のＵＲＬがボットによっ...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Web(HTTP)</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
何年もＨＰを運営していて、ＢＢＳを設置していると、掲示板のＵＲＬがボットによって収集されているらしく、嫌になるほどスパムな書き込みが繰り返される。LQによるアクセス制限など細工をしてみたが、完全には対処しきれないし、結局はイタチごっこになるのは避けられない。
</p>
<p>
しかし、もっと根本的なところで対策出来るのではないかと思いつき、実際やってみたら非常に効果がある事が分かった。敵の立場になってみれば簡単な答えだったと思うのだが、まっとうに運営している人ほど、スパマーの気持ちなどに気づかないと思う。
</p>
]]>
<![CDATA[<p>
さて、具体的にスパムに対して有効な対策をまず記述しよう。手っ取り早いのは掲示板のURLを変更してしまうことだ。多くの場合はCGIで掲示板を動かしていると思う。この掲示板CGIのスクリプトファイル名を変更するなり、ディレクトリ名を変更するなりすれば良いのだ。
</p>
<p>
もちろんこの変更に伴って、HPに設置してある掲示板へのリンクボタンなどに設定してあるハイパーリンクも変更しなくてはならない。しかしそれほどの手間はかからないのではないかと思う。一日に10以上のスパム書き込みが有る人は、試しにURLを変更してみて欲しい。&nbsp;
</p>
<p>
ではなぜBBSのURLを変更するだけで効果があるのだろうか。これはスパマーの気持ちになって考えれば答えが出てくる。なぜなら奴らは、「楽して儲けたい」と考え、「効率の良い方法を常に求めている」のだ。ある意味「極道」である。そういう人種が、Webブラウザを使って、いちいちHPにアクセスし、BBSへのリンクボタンをクリックしてBBSへ書き込んでいるハズが無いのである。
</p>
<p>
一年以上前は、まだそれほどスパムの被害も深刻ではなかった。恐らくお気に入りなどから直接アクセスされているのだろうと思っていたのだが、現在、私のHPに設置してあるBBSは、明らかに異常なアクセス頻度である。連続書き込みも後を絶たない。現在はLQによってアクセス制限をかけているので、9割以上のスパムを弾いているのだが、そのログを見るだけでもうんざりする程である。絶対に奴らは手作業ではなく、自動化した「<strong>スクリプト</strong>」や「<strong>巡回ツール</strong>」でスパムな書き込みを行っているに違いないと気づいたのだ。
</p>
<p>
私は現時点ではプログラミングと呼べるような大層な事は出来ないのだが、理屈からすれば大した技術が無くても作れてしまうという事は想像出来る。そんな人様の迷惑を考えないツールを作って販売し、懐に金をしまい込んでいる輩もきっと存在するに違いない。また、活きているBBSのURL情報、使われている掲示板CGIの種類の情報などを収集して売買している輩も居るに違いないと思う。そうでなければこの異常なまでの書き込み、そしてBBSのURLを変更しただけでアクセスが無くなる事の説明がつかない。
</p>
<p>
BBSへのスパム書き込みに日々悩まされている管理者には、駄目元でURLを変更してみることをお勧めしたい。この方法は極めて原始的な方法だが、いくらプログラミング技術が進んだとしても、追従するのは困難だし、仮に追従してくるツールを開発するにしても、プログラマーにかなりの労務を強いることになるからして、現状はかなり効果的だと思う。（恐らく当面は巡回リストから除外され嘘の様にスパムが減るだろう。）
</p>
<p>
「<strong>己を守るためには敵を知る事も重要</strong>」だということは以前から知識として持っていたが、まさかこんなに身近なところに答えが有ったとは驚きである。個人的には定期的にURLを変更していこうと思う。URLを変更すると欠点もあるが、BBSへ直接お気に入りからアクセスしてくる人の中にまっとうな人は、まず居ないと考えても良いと思う。私も人様のBBSへのダイレクトアクセスは極力避けようと思う次第である。&nbsp;
</p>
]]>
</content>
</entry>
<entry>
<title>Live CD で distcc 出来そうな気配</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/02/live_cd_distcc.html" />
<modified>2007-02-20T07:02:13Z</modified>
<issued>2007-02-20T05:34:09Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.607</id>
<created>2007-02-20T05:34:09Z</created>
<summary type="text/plain"> 先日、distccKNOPPIXの入手を断念したばかりだが、そんな難しいことを...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Gentoo Linux</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
先日、distccKNOPPIXの入手を断念したばかりだが、そんな難しいことを考えなくても良いことがだんだんわかってきた。素のKNOPPIXにもdistccが装備されているのである。そしてなんともっと身近なGentoo Live CDにもdistccが実装されているらしい事がわかった。
</p>
<p>
考えてみれば、私がGentooのインストールに使ってみたのは、50MB程度のminiインストールCDだったから、必要最低限のツールしか入ってなかったのだ。一時は諦めかけたBootable CDによる一時的なdistcc分散コンパイル計画は、現実味を帯びてきた。&nbsp;
</p>
]]>
<![CDATA[<p>
さて、遠回りした結果ようやく思いついた、KNOPPIX、もしくはGentooのLiveCDを使ってdistccを行おうという計画だが、確認しておかなければならないことがある。
</p>
<p>
まず第一はgccのバージョンについてだ。 これについてはGoogleで検索してみたりしたのだが、そんな手間をかけずとも、一目瞭然でわかる有名なサイトがあった。DistroWatch.comである。
</p>
<ul>
	<li><a href="http://distrowatch.com/table.php?distribution=gentoo" target="_blank">DistroWatch.com：Gentoo Linux</a></li>
	<li><a href="http://distrowatch.com/table.php?distribution=knoppix" target="_blank">DistroWatch.com：KNOPPIX</a></li>
</ul>
<p>
ありがたいことに、Gentoo 2006.1のgccバージョンは4.1.1であり、KNOPPIX 5.1.1のgccも4.1.1という事が直ぐに比較できる。これでgccのバージョンについての課題はクリアだ。
</p>
<p>
次の課題はdistccがKNOPPIXに入っているかどうかだ。これは実際にKNOPPIX 5.1.1をダウンロードして、CD-Rに焼いてBootして確認してみた。distccはインストールされており、コマンドで操作できることが確認できた。これでGentoo 2006.1 のLiveCDが無理だった場合でも、KNOPPIXという最終手段があることが分かった。
</p>
<p>
いよいよ本題の、Gentoo 2006.1 LiveCDについての検証だ。 KNOPPIXと同様にBootableになっているので、CDブートできる。そのまま放置しておくと、Gentooのデスクトップ環境が表示される。どうやら&quot;gentoo&quot;というユーザー名でオートログインしている様だ。デスクトップ上には、コマンドラインのインストーラー、及びグラフィカルなインストーラーを起動するアイコンがある。
</p>
<p>
ただしこのgentooユーザーでログインした状態では、管理者権限がないため設定の変更などは出来ない。つまりdistccの設定なども出来ないのだ。これは非常に困った。しかし回避方法を見つけたので安心して欲しい。
</p>
<p>
<span style="background-color: #ffff00">CTRL + ATL + F1</span>キー押下で、仮想コンソールTTY1を表示させる。rootでログインした状態にあるので、rootのパスワードを変更（設定）してしまえばよいのだ。
</p>
<blockquote>
	<p>
	#<span style="background-color: #ffff00">passwd</span>&nbsp;
	</p>
</blockquote>
<p>
&nbsp;ついでにgentooのパスワードも変更しておこう
</p>
<blockquote>
	<p>
	#<span style="background-color: #ffff00">passwd gentoo</span>&nbsp;
	</p>
</blockquote>
<p>
更についでに、gentooをwheelグループに登録してしまおう。
</p>
<blockquote>
	<p>
	#<span style="background-color: #ffff00">gpasswd -a gentoo wheel</span>
	</p>
</blockquote>
<p>
パスワード等の変更が反映されたか確認してみる。<br />
まずは、<span style="background-color: #ffff00">CTRL + ALT + F7</span>キーを押して仮想コンソールTTY1を抜け、X-Windowのデスクトップ画面に戻ろう。
</p>
<p>
各種root権限が必要な機能にアクセスし、rootパスワードにて設定変更等が行なえるか確認する。ネットワーク設定等は、root権限が無いと行なえないので確認してみて欲しい。
</p>
<p>
ターミナルでユーザー：gentooからsuできることを確認しよう。同様にsudo出来ることを確認してみて欲しい。これらが出来るようになったら、gentoo Live CDは自分の支配下に置いたと同じだ。
</p>
<p>
distccに関わる設定ファイルを、suになってからviで開いて編集し保存（RAM上なので電源を切れば戻る）してみる。うまく出来る事が確認できた。distccをサービスとして登録したりしてみたが問題無さそうだ。どうやらGentoo Live CDでdistccの分散コンパイルマシンを一時的に準備することが出来そうだ。最近はCD-Rも安くなった（というよりもDVD-Rの方が断然安いが）ので、マシンの分焼いても良いだろう。まぁ取り合えず一台で試してみてからの方が無駄が無いかな。700MBのCD-RWが安く手に入ればそちらの方が後々便利かも知れない。エコロジーという観点からも。
</p>
<p>
取り合えず今回は、CDブートでdistcc環境が作れそうだという話まで。また余裕が出来た時に実際の分散コンパイル作業を行なってインプレしてみたいと思う。 ちょっと心が躍ってきた感じがする。
</p>
]]>
</content>
</entry>
<entry>
<title>distccKNOPPIX</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/02/distccknoppix.html" />
<modified>2007-02-20T06:52:59Z</modified>
<issued>2007-02-18T16:29:03Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.606</id>
<created>2007-02-18T16:29:03Z</created>
<summary type="text/plain"> 一体どこにカテゴライズしたらいいのかわからなくなったけれど、素直にKNOPPI...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>KNOPPIX</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
一体どこにカテゴライズしたらいいのかわからなくなったけれど、素直にKNOPPIXを作っちゃおう。Gentoo Linuxのコンパイル環境をより効率的に行うために、distccという分散コンパイルの仕組みがあるのを知ったが、問題はdistccをどこで動かすかである。LAN内にGentooマシンがゴロゴロ転がっていれば、emergeしてしまえば直ぐに分散コンパイル環境は整うが、実際はそうは行かない。Windowsマシンありの、BSDマシンありの、Gentoo以外のLinuxありのでしょう。
</p>
]]>
<![CDATA[<p>
Windowsマシン上ならば、cygwinを入れて、その上にdistccを入れて分散コンパイルに参加させると言う方法もある。はたまた他のLinuxマシンでも、例えばＤｅｂｉａｎならaptでdistccを導入出来る。ＦｒｅｅＢＳＤならばPortsで導入可能なことも確認した。
</p>
<p>
しかし課題は、gccのバージョン揃えである。distccの為に安定稼動している他のマシンのgccを入れ替えるとか言うのもかなり無茶だし手間とも言える。ならば一台Gentoo Baseにvimとdistccをemergeした状態で、Ghotstを取ってそれを複数台のマシンに復元して回るか。不可能ではないが現実的ではない。現状のシステムに変更を加えずに一時的に分散コンパイルに参加させたいのだ。
</p>
<p>
そうなれば、やっぱりここは1CD Linuxなディストリビューションの出番だろう。例えばKNOPPIXならば、必要な時だけCDブートして使用すれば良い。作業が終わればCDを取り出してリブートすれば、元通りに戻る。KNOPPIXをカスタマイズしてdistccを組み込むことも、gccを入れ替えることも、要らないパッケージを削除して自分流を作り出すことも技術的には可能である。普段はWindowsで稼動しているマシンを、Gentooのインストールの時にだけ、Linuxマシンとして稼動させることが可能だ。やっぱりこれしかない。
</p>
<p>
もしかしたら既にdistccを目的にKNOPPIXを作っている人が要るんじゃないかと思ったり。Googleで&quot;distcc KNOPPIX&quot;を検索してみた。そしたら「もしかして：distccKNOPPIX」と言われた。distccKNOOPPIXという単語がGoogleのキャッシュにある様だ。かなり期待できる。
</p>
<p>
行き着いたのは、distccKNOPPIXのHPだったが残念ながら英語である。gccのバージョンを選んでからISOファイルもダウンロードできる様だ。それ以外はGoogleでも日本語の情報はほとんど見つからない。どうやらここからは試行錯誤が必要になりそうだ。もしくは苦手な英語との格闘かな。
</p>
<blockquote>
	<p>
	distccKNOPPIX is a directly bootable and self-configuring Linux system on a small iso (~55MB) running a<a href="http://distcc.samba.org/" target="_blank"><u><span style="color: #800080">distccd</span></u></a>daemon. It is a simple remastering of<a href="http://www.damnsmalllinux.org/" target="_blank"><u>Damn Small Linux</u></a>running a distccd daemon and some general cleaning up/removal of unneeded packages/apps. It&#39;s obvious target is for those who have other machines at their hands, and for some reason or an other can not get a distccd daemon running on it. Damn Small Linux is a remastering of<a href="http://opendoorsoftware.com/catalog/index.php?main_page=index&amp;cPath=53"><u>KNOPPIX</u></a>
	</p>
</blockquote>
<blockquote>
	<p>
	distccKNOPPIXはdistccdデーモンを走らせる小さいiso(~55MB)の上の直接ブート可能な、自己を構成するリナックスシステムです。 それは、distccdデーモンを走らせるDamn Smallリナックスの簡単な再習得と不要なパッケージ/アプリケーションの何らかの一般的な掃除/取り外しです。 目標が彼らの手においてある理由で他のマシンを持っている人々のためのものであることが明白であるか、またはdistccdデーモンはもう一方でそれで動くことができません。 Damn SmallリナックスはKNOPPIXのリマスタリングです。
	</p>
</blockquote>
<p>
なるほど期待できそうだからダウンロードしてみるか、と思いきや、カートに追加とか、まるでネット通販みたいな仕組みだぞ？ががーん、出てきた。4.99CADってカナダドルって意味か？金払って買うにしても海外だと、やっぱり怖いから買えない。せめて日本語でちゃんとしたところが決済処理してくれないと。
</p>
<p>
残念ながら自分で作るしかなくなったのでは無いだろうか。KNOPPIXのカスタマイズを学習しないといけなさそうだ。ゴールが見えたと思いきや、それは全然違うゴールであった。だれか日本人の知識ある人が作ってくれないかなぁ。 KNOPPIXについてはもう少し詳しく調べてみるつもり。
</p>
<p>
とりあえず後で必要となりそうなソースの配布元を備忘録。
</p>
<ul>
	<li>distcc　<a href="http://distcc.samba.org/">http://distcc.samba.org/</a></li>
	<li>ccache　<a href="http://ccache.samba.org/">http://ccache.samba.org/</a></li>
</ul>
]]>
</content>
</entry>
<entry>
<title>クロスコンパイリング</title>
<link rel="alternate" type="text/html" href="http://blog.sasapurin.com/server/archives/2007/02/post_3.html" />
<modified>2007-02-17T21:23:23Z</modified>
<issued>2007-02-17T16:52:19Z</issued>
<id>tag:blog.sasapurin.com,2007:/server/3.604</id>
<created>2007-02-17T16:52:19Z</created>
<summary type="text/plain"> distccを知って、同一ネットワーク上にある速いマシンにコンパイルを助けても...</summary>
<author>
<name>sasapurin</name>
<url>http://www.sasapurin.com/</url>
<email>sasapurin@hotmail.com</email>
</author>
<dc:subject>Linux</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.sasapurin.com/server/">
<![CDATA[<p>
distccを知って、同一ネットワーク上にある速いマシンにコンパイルを助けてもらえば、しょぼいマシンでもGentoo使えるじゃん！と思った訳ですが、distccを使うにも色々と環境整備しなくてはならないし、gccのバージョンを整えたりとなれない作業が必要そうです。
</p>
<p>
そこでふと思ったのは、純粋に速いマシンでコンパイルして、出来上がったのをコピーしてインストールという訳にはいかんのか？という事です。CPUの種類は違うけれど基本的にx86系(i486,i586,i686)のDOS/Vがほとんどだし、なんとかならんのかあと思うのです。
</p>
]]>
<![CDATA[そんな事を調べていたら、クロスコンパイリングという言葉が出てきました。過去に目にしたことのある言葉ですが、意味は全然知りません。この際に学習して
しまおうと情報を探したら、またしてもGentooのドキュメントがわかりやすいというところに行き着きました。もしかしたらGentooって凄く勉強に
なるかも。
<p>
クロスコンパイリングの意味するところは、早い話、 あるアーキテクチャで他のアーキテクチャ用にプログラムをビルドするために使うことです。 極端な話、例えばAthlon(i686)でK6-2(i586)用のプログラムをビルドしたり、Sparcでppc用のプログラムをビルドするなんて事も出来るのだそうです。かなり驚きました。そんな事が出来るんだ。
</p>
<p>
もっとも、クロスコンパイリング環境を整えるってのもまた別な課題が出てくるから、本当に必要に迫られたら、計画的に行わないとどつぼにはまりそうな気配ぷんぷん。でも面白そうな技術ではある。頭の良い人が便利な事を次々と考えているんだな。
</p>
<hr />
参考サイト<br />
<a href="http://www.gentoo.org/doc/ja/cross-compiling-distcc.xml" target="_blank">DistCC クロスコンパイルガイド</a><br />
<a href="http://www.gentoo.org/doc/ja/distcc.xml" target="_blank">Gentoo distcc ドキュメント&nbsp;</a>
<ul>
</ul>
]]>
</content>
</entry>

</feed>