Server

TopPage04.jpg

Server

更新日: 2008-12-05

.htaccesssでFile一覧を隠す

.htaccesssでFile一覧を隠す

2007-09-20

My Domainを取得したことに伴い、My HomePageへのLinkを掲載してくれているSiteのWeb MasterさんにURLの変更を依頼しました。
著名なSiteのWeb MasterさんからMy Home PageにDomain名(http://sighar.net/)だけでAccessしたときにFile一覧が表示されます。
Security上これを修正した方が望ましいとのAdviceをいただきました。
Apache初心者のmacfreakには設定方法が分からないので、関連Siteの紹介を依頼したところ".htaccessでファイル一覧を隠す"を紹介してもらいました。

ApacheのDefault設定では、http://sighar.net/ のように最後が/で終わる場合は、Directoryへの要求だと判断してDirectory Moduleがindex.htmlを探して表示します。
しかしindex.html が存在しない時は Directory Moduleはなにもしない。そのかわりAutoIndex Moduleが実行されDirectory内のFile一覧が表示されます。
これは 当Directory内に重要なFileがあるとそれを公開することになりSecurity上の問題を引き起こします。

さてこの問題の対応策として、Directoryにindex.html Fileを用意するというのが一般的な解決策です。
しかし複数のHomePageを運用したいときには夫々SubDirectoryを作成するのが普通です。
Directoryに対してAccessされたときは主要なHomePageにRedirectするindex.htmlを作成するというのも一つの解決策になります。上記Siteの.htaccess の転送設定を参照ください。

または、もっとSimpleに上記Siteの".htaccesssでFile一覧を隠す"で解説されているように options -Indexes を採用するという解決策もあります。macfreakはこちらを採用しました。
"ミケネコの htaccess リファレンス"によりますと"パフォーマンスの観点からしても、インデクス表示を OFF にすると、ディレクトリの走査、ファイル情報の取得、アイコンへのアクセス、などなどのオーバーヘッドを節約することができます。"
この設定にしておくと、スラッシュ(/) で終わるアクセスがあったときに、index.html ファイルがない場合、403 Forbidden を返します。

大変基本的なことでApacheに詳しい方には釈迦に説法ですが、macfreakにとってはとても有益な情報でしたので掲載しました。

Domain名取得

Domain名取得

2007-09-06

macfreakはdnsart.comのDynamic DNS Serviceを利用して5年程経過しました。
今回dnsart.comから今年の11月末日で同DomainのDynamic DNS Serviceを停止するとの連絡を受けました。
5年間も利用したURLを変更するのは、HomePageにAccessしてくれるRepeaterの皆さんに大変迷惑をかけるのでmacfreakにとっては大変な打撃です。

そこで今回は自分専用のDomain名を取得して、そのDomainでHomePageを運用することにしました。
しかし固定IP Address利用のISP Serviceのお値段は結構高いので趣味のHomePageの運用するにはRunning Costが高すぎます。
そこで自分専用Domain名でDynamic DNS Serviceを提供する業者を探すことにしました。
こうすることにより将来Dynamic DNS Serviceを提供するSiteがServiceを停止しても、自分専用のDomain名を新しいDNS Service Siteに移行することによりRepeaterの皆さんにご迷惑をかけることを避けることができます。

幾つかの業者を調査しましたが、 VALUE-DOMAIN.COM(バリュードメイン)にお世話になることにしました。このバリュードメインはドメイン登録代行(+無料メール転送+自由に設定可能な無料ネームサーバー+無料ダイナミックDNS+無料URL転送+無料・有料サーバー)を提供するドメイン総合サービスです。
macfreakの場合(Web&Mail)Serverは自宅のMacで運用しますので、無料ネームサーバー+無料ダイナミックDNS のServiceを受けています。
VALUE-DOMAIN.COMで自分専用のDomain名を取得するお値段が1年間990円(.com .net等)というReasonableな価格です。
macfreakと同様なNeedの有る方はご検討ください。

なお、Dynamic DNSのIP Addressの更新は、VALUE-DOMAIN.COM指定のURLに接続することで行います。
Windowsの場合は、専用Softが提供されていますがOSX専用Softは提供されないため、書籍"AppleScriptリファレンス"に掲載されていた例を一部下記のように修正して、これを毎30分毎にCronでScheduleしています。

set theURL to "http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=myDomain.net&p=xxxxxxxx&h=&i="
set theFile to "j04:DownLoad:" & "autoIPUpdate.html"
tell application "URL Access Scripting"
try
download theURL to theFile replacing yes
on error errmes number errNo
display dialog (errNo as text) & ":" & errmes
end try
end tell

My HomePage & お好みSiteをRSS 配信可能にする

My HomePage & お好みSiteをRSS 配信可能にする

2007-01-06


RSSの目覚ましい普及がInternetの帯域を圧迫しないかと懸念されるほどになってきました。
Blog提供SiteがRSS配信も行う事が多くなり、RSSはInternet上で市民権を確立するにいたりました。
また、RSS FeedをしていないSiteを対象にRSS化するServiceとしてmyrss.jpや「なんでもRSS」とかのWeb Serviceが出現しました。
確かにRSS FeedをしていないFavorite SiteをRSS 配信を受信可能にするのは、RSS受信という手段で統一的に情報を得る方法として便利であることは間違いありません。

例えば「なんでもRSS」Serviceを利用してお気に入りのSiteをRSS提供Siteとして購読する場合の手続きは次のような簡単な方法で可能です。


NandemoRSS.jpg




1.「なんでもRSS」の使い方のPageの"Bookmarklet: なんでもRSS!"をBookmark Tool BarにDrug&Dropして登録
2.お気に入りのSiteをBrowserに表示して1.で登録した"なんでもRSS!"をClickする
3.表示された'自動作成'されたRSSで適切なもの(Tab)を選択する
4.RSS ボタンを右ClickしてCopy Linkを実行する
5.CopyしたLink AddressをRSS Bookmarkに登録する

また、一方自分のWeb SiteがRSS配信をしていない場合は、これを可能にするWeb Serviceもmyrss.jp、「なんでもRSS」で提供されています。
なかでもmyrss.jpは有償ですが、「なんでもRSS」は無償でそのServiceをうけることができます。
その方法も次のように実に簡単に可能です。(1.~4.はお気に入りのSiteをRSS提供Siteとして購読する場合と同じです)

1.「なんでもRSS」の使い方のPageの"Bookmarklet: なんでもRSS!"をBookmark Tool BarにDrug&Dropして登録
2.自分のSiteをBrowserに表示して1.で登録した"なんでもRSS!"をClickする
3.表示された'自動作成'されたRSSで適切なもの(Tab)を選択する
4.RSS ボタンを右ClickしてCopy Linkを実行する
5.HTML文書のhead要素中に以下のタグを追加します

<link rel="alternate" type="application/rss+xml" title="RSS" href="コピーしたURL" />


これだけの作業で、自分のHomePageをRSS化することができます。興味の有る方は一度お試しください。 

スパム コメント

スパム コメント

2006-11-03

スパム コメント対策として、mod-security Moduleを導入して POST requestにたいしてFilteringすることで対応する方法を実施しました。(2006年09月 04日(月)の記事参照)

Filteringとして日本語独特のひらがな判別を行っていましたが、このFilterをすり抜けるスパム コメントが増えてきました。そこで何らかの対策を追加する必要を感じていました。
新たなFilterの導入のために今までの投稿内容を調査して、Normal投稿を阻害することなくスパム コメントを弾く方法を模索したのですが、決定的なものを見つける事ができませんでした。
そこでNormal投稿には稀なCaseであるが、スパム Commentでは一般的な特徴である条件でFilteringすることにしました。

mod-securityのFilteringの記載には正規表現が使用できますので、OR は正規表現の“ |”を使いますが ANDの指定は正規表現では実現できないので、mod-security の chain を使いました。

OR条件 

  • SecFilterSelective "POST_PAYLOAD" "条件A | 条件B" 

AND条件 

  • SecFilterSelective "POST_PAYLOAD" "条件A" chain
  • SecFilterSelective "POST_PAYLOAD" "条件B" "deny,log,status:412"


条件指定の一つに http://で始まるURLを正規表現で指定しようとして、この指定が http:/[a-zA-Z0-9_-]+. というようにする事を知りませんでした。何故かhttp://ではダメなのですね。
ModSecurityの日本語Manualには、ModSecurityは自動的に下記の変換を適用しますと書かれています。

・ を / に変換, Windows のみ
・ /./ を / に縮める
・ // を / に縮める
・ URLエンコードされた文字をデコードします

AND条件の具体的な例示は差し控えますが、スパム コメントに特徴的な条件を複数ANDで組合せて指定しました。
スパム コメントもいろいろ手を変え品を替えて攻めてきますから、対応するのも大変です。このスパムコメント問題は結構深刻ですからスパム コメントでGoogleすると実に様々な対応策が提示されていて参考になります。

Comment Spam対策その3:ひらがな の判定

Comment Spam対策その3:ひらがな の判定

2006-09-10

Comment Spam対策を施して様子をみていますが今のところどうやら対策が功を奏しているようです。
そこで対策の経緯について後日の参考のために記録しておきます。

Comment Spamの対策は各Siteの内容を読みますとASCII文字だけの場合は拒否するという対策のようですのでmacfreakもこれを実現することにしました。

1.ASCII文字判別

  • まずASCII文字の判定ですが[-]と16進数標記で標記することを知りました。
  • そこで最後までASCII文字だけという標記として、^[-]+$ としてみました。
  • ところがApacheを起動するとこの標記はInvalid Regular ExpressionというErrorとなります。Apacheでは16進数標記が許されていないと判断しました。
  • そこでASCIIの判定に[!-~ ]を使って^[!-~ ]+$としてみました。
  • これで先頭行がASCII文字OnlyはMatchするのですが、改行があるとMatchしないことに気が付きました。
  • $は改行までという判断が間違いで、最後の改行までということで、途中の改行はNon Matchとなるようです。

2.改行判別

  • 次に改行対策のため^[!-~ ]+という正規表現を追加してみました。これでASCII文字だけで改行があるものもMatchingします。
  • ところが不思議な事に ひらがな までMatchingしてしまう! のです。

3.ひらがな判別

  • そこで発想を転換してひらがなを含んでいたらAllowするという正規表現を探してみました。
  • これも16進数標記を利用するようですが、[-]がErrorとなった経験から16進数標記を使わないで表現する方法がないか試行錯誤しましたがこれはいずれも失敗に終わりました。
  • そこでダメモトで[‚-ƒ] という16進数標記を試してみますと、あら不思議 ?? これが問題無くApacheで弾かれる事なく作動するのです。
  • [-]がNOで[‚-ƒ]がYESの理由は未だにmacfreakには解せません。(`o´)
  • SecFilterSelective "POST_PAYLOAD" "[‚-ƒ]" "allow"
  • (追伸)ひらがな の正規表記は、Perlでの正規表現 のシフトジス平仮名に切換えました。

ひらがな を含まないCommentは全て拒否したらいいのですが、いちおう形として最後まで英数字のComment、改行まで英字のCommentに分けて拒否しています。
今後の状況を見て、現状の対策を破るものが出てくると思われるのでその時はその内容に応じた対応策を検討する必要がありそうです。

Comment Spam続き

Comment Spam続き

2006-09-04

mod-securityを利用したComment Spam対策についていろいろ試行錯誤をしてみました。
TrackBack Spam対策について書かれたSiteを読みますとMovable Type3.3をお使いのWebについて、Comment Spam特質(英語圏)を利用したSpam対策PluginがReleaseされています。
そこでmacfreakもmod-securityを利用してComment Spam特質(英語圏)を利用したFilter用のKeywordを作成してみました。

ところが、このFilterにはBBS管理用の各種Menuの実行まで引っ掛かりますので、次のようにmod-securityの指定を行い、引っかかるPOST内容をLogに表示して、その内容を通すようなFiltering Keywordを追加して行きました。
手順

1./private/var/log/apache Folderを作成
2./private/etc/httpd/httpd.confに次を追加

<IfModule mod_security.c>
SecFilterEngine On
SecFilterScanPOST On
SecAuditEngine On
SecFilterDefaultAction "deny,log,status:412"
# Stop Comment Spam
SecFilterSelective "POST_PAYLOAD" "xxxx" "allow"
SecFilterSelective "POST_PAYLOAD" "xxxx" 
SecFilterSelective "POST_PAYLOAD" "buy |use |drug |supplement "
SecFilterSelective "POST_PAYLOAD" ".be"
SecAuditLog /var/log/apache/audit.log
</IfModule>

(注1)上記で"xxxx"は正規表現です。
(注2)AuditLogの指定はCPU負荷が高いので、Test終了後は次の2行は削除してください。

SecAuditEngine On
SecAuditLog /var/log/apache/audit.log

上記の正規表現は単純な正規表現ですので、公開は差し控えます。
mod-securityのFilteringは記載の順序で実施されるようですので、BBSの制御用POST内容は"allow"と指定します。
何も指定しない場合はSecFilterDefaultAction "deny,log,status:412"が適用されます。
設定したFiltering Keywordによる弊害は、たまたまBBSに書き込まれた方がKeywordにMatchした場合が412のエラーとなることです。
これで暫く様子を見る事にします。 

Comment Spam

Comment Spam

2006-09-04

最近はComment SpamとかTrackBack Spamとかが結構話題になっています。
macfreakのBBS SiteもComment Spamが酷くなってきたのは今年の初頭ぐらいからです。
以前にもその対策として.htaccessのSpam CommentのIP Addressを手作業で追加して対応する方法について書いたのですが、これでは追っつかなくなってきました。

そこで何かもっと効率的な対策がないかGoogleしてみました。
そこで見つけたのが、"mod_securityでWebサーバを守る"というSiteです。
.htaccess Fileに多量のIP Filteringを書くのはWeb ServerのPerformanceを阻害することもあり、Apache本体で対応できるのであればありがたいという理由からです。

本来mod-securityはもっと広い範囲のSecurity対策Toolですが、macfreakはその中のComment Spam 対策として採用しました。
macfreakのUNIXの知識では、FilteringするためのKeywordの記述に汎用的な正規表現を作成する力がありませんので、ごく簡単なKeywordを気がつき次第追加しています。

Install方法は上記Siteに詳しく解説されているので参考にしてください。
DownloadしたSourceのApache1対象に #sudo apxs -cia mod_security.c を実行しますとhttpd.confに LoadModule security_module libexec/httpd/mod_security.so
が追加されます。Moduleは/usr/libexec/httpd/mod_security.soに作成されます。
Apacheを再起動します。

# apachectl stop
# sudo apachectl start

その後macfreakは次をhttpd.confを追加しました。

<IfModule mod_security.c>
SecFilterEngine On
SecFilterScanPOST On
SecFilterDefaultAction "deny,log,status:412"
# Stop Comment Spam
SecFilterSelective "POST_PAYLOAD" "buy |use |drug |supplement "
SecFilterSelective "POST_PAYLOAD" ".be"
SecFilterSelective "POST_PAYLOAD" "poker-w.com"
</IfModule>

上記はその一部です。全部公開するとSpammerに手がかりを与えてしまうので省略します。正規表現に堪能な方はもっと上手なものを教えて欲しいと思っています。

.htaccess Fileを利用したHost/IP制限

.htaccess Fileを利用したHost/IP制限

2006-01-31

macfreakのHomePageのBBS(掲示板)への悪戯の書込が相変わらず続いています。
このBBSへのAccess制限のためWeblock というSystem Preferenceを利用していましたが、登録件数があまりにも多量になると理由が不明ですが、HTTPのError500(Internal Server Error)が発生するようになりました。Error500は"Userが要求したコンテンツの提供に応じてサーバがシェルやカーネルを呼出したら、エラーを返され、サーバが中断した"と解説されていますが、Weblockに関する何らかのBugだと思います。

特定のDirectoryに対するAccess制限だけのためには、Weblockのような高機能なSystem Preferenceを使う必要もありませんので該当のAccess制限が必要なDirectoryに.htaccess Fileを作成して対応することにしました。
.htaccess Fileの作成の仕方は、"htaccessリファレンス ホスト/IP 制限" というSiteで懇切に解説されています。
下記を参照してください。


htaccess.jpg


.htaccess Fileを作成したら、そのFileが閲覧されるとSecurityが低下しますので、".htaccess自体を隠す方法"で解説されているように.htaccess ファイルに次の1行を加えましょう。
AddHandler cgi-script htaccess

この措置で便利になったのはWeb ServerにLoginせずに、ClientのMacから作業が行えることです。

host/IP制限(Weblock)

host/IP制限(Weblock)

2005-12-02

最近MacfreakのBBSに悪戯の書込が多くなりました。最初はたまに削除する程度で済んでいましたが、ここ1か月程はその書込頻度が激しくなりBBSを開けると見開きのPage全部が悪戯書きという状況になりますと、なんらかの対応策を考える必要に迫られました。

BBSをIDとPasswordで管理する会員専用会議室とするほどの内容でもありませんので、悪戯する人のIPを特定してProtectすることを考えました。
しかし、この悪戯書きをする人のIP(Zone)の特定は結構Logを丹念に拾う作業が必要で全く面白くない作業です。
access.logの内容をPOSTをKeyに検索して、その時間と悪戯書込の記録とを調べるのです。
間違って、折角訪問いただく方のIPを登録して迷惑をかけては申し訳ないので慎重を要する作業になります。

但しAccessする環境はいくらでも変えられるので、この作業はイタチごっこになります。
もちろん大半のIPはDynamic IP Addressですから、少々乱暴ですが一定のZoneを指定してProtectすることになります。
不幸にして同一ISPのUserさんであれば、そのISPからのAccessを制限してしまうことになりますが、こればかりはしようがありません。もしそんなCaseに該当した方はお許しください。

一定のIPをProtectするのに以前にも紹介しましたWeblockというSoftにお世話になっています。
一般に、HomePageを運営している方が、macfreakと同様な悪戯書きに悩まされたときはどういう対策をしているのか興味がありますが、万全の策はどう考えても難しいです。
しばらく、この対策を続けたいと思います。ご了承ください。

myPhoto Serverの移行措置顛末

myPhoto Serverの移行措置顛末

2005-07-25

myPhotoの移行措置について備忘録として記録に残します。
もし私と同様なTroubleにあった方の参考になればと思います。

以前当HomePageでiPhoto LibraryをWebに公開するSoftとしてmyPhotoを紹介しました。
OSX TigerをInstall(Update Install)してからTestもせずにそのままの状態で放置していましたので、これをOSX Tigerの元で稼働させるための移行措置を先週の週末実施しました。

myPhotoはWebServerですので、その実行環境としてServer環境(Apacheの立上げ、PHPの実行環境構築)の構築とその環境下で稼働するiPhoto Library Serverの構築という2つの側面があります。
OSX TigerのUpdate InstallによりServer環境は一部未構築で、iPhoto Library Serverは以前のPantherの状態のままというのが、私の場合の移行前の状態でした。

この際ですからmyPhotoの最新版をInstallしようとmyPhoto1.5をDownLoadしてきました。
念のため、現行OSX TigerをClone作成で保存してから、作業を開始しました。
上記myPhotoの最新VersionをInstallしようとしたのですが、Installerは新規InstallかUpdateの2者択一です。
すなわちServer環境未構築、iTunes Library Server有りということは想定されていないわけです。
そのためmyPhotoのUpdate Installを実施してiPhoto Library Serverを最新Version1.5にし、Apache関連の構築はManualで実施しました。
ところが作業を完了して、iTunes Library Serverを閲覧しても、全く画像が表示されないのです。

本来であれば、こういう作業を実施する場合は、段階を踏んでServer環境を構築して検証、iPhoto Library ServerのUpdateして検証というStepを踏むのが常套ですが、それを纏めて実施してから検証作業を行ったため、一体何方に問題があるのか分からなくなってしまいました。
こういう場合は、今までの経験で最初からやり直すのが一番の近道です。

結論として次の手順でmyPhotoの稼働に成功しました。

  • 1.保存していたCloneを使用して作業前の状態に戻した。
  • 2.Apacheの修正を手作業で実施(すでにWebServerを立上げていますのでPHPの実行環境を設定)
    • /etc/httpd/httpd.confの修正
    • #LoadModule php4_module libexec/httpd/libphp4.so
    • #AddModule mod_php4.c
    • の2行のコメント「#」を削除します。
    • AddType application/x-httpd-php .php
    • を追加します。
  • 3.この環境でmyPhoto1.3の稼働を確認
  • 4./Volumes/jSIG/sig/Sites/myPhoto/iPhoto Library/を最新の状態にするため、その後追加した写真をImport
    • myPhotoのSoftはiTunesLibraryにImportの都度関連Fileを更新する仕組をとっているようで、単に別VolumeのiTunesLibraryと入替えても正しく表示されないようです。そのため"~/Pictures/にiTunesLibraryのAliasを置いて、iTunesLibrary本体を"~/Sites/myPhoto/iPhoto Library"に置くという仕組を採っている理由のようです。

どうやら私の環境(OSX Tiger 、iPhoto4.0.3)ではmyPhoto1.5の実行は上手く行きませんでした。
Tigerの新規Install状況下でのmyPhoto1.5のInstallは問題ないのかもしれませんが、検証していません。

DNSについて(Tiger)

DNSについて(Tiger)

2005-05-15

TigerにUpdateした後も特に問題が出ていなかったので今まで調査もしなかったのですが、少しTigerも落ち着いて来ましたのでDNSについて調べてみました。

私は以前からOSXでLocal DNS Serverを運用しています。直接の理由は私のHome Pageは外部Siteと自宅Serverの2ヶ所で運用しており、BBSは外部Siteのcgiの制約から自宅Server1ヶ所にあるという少々複雑な形態です。そのため自宅から自分のBBSに入る場合はPrivate Addressで、外部からはGlobal Addressで入るという切分けが必要になります。
当初この問題を解決するためにLocal DNS Serverの運用が必要だと思いDNSの設定を行ったのですが、以前当HomePageの"OS X でhosts登録"(2002年04月 04日(木))で紹介したNetinfoManagerによるhosts登録によりLocalでのDomain名解決という問題は解決されています。
Local DNSの運用のMeritsはそのためDomain名のCachingという意味だけとなっています。

Tigerから大きく変わったのはStarupItems (/System/Library/StartupItems/)がなくなり LaunchdがDaemon起動の面倒をみるということになりました。
DNSについては/System/Library/LaunchDaemons/org.isc.named.plistというFileに規定されています。
これは、macosxhintsの"Speed internet browsing via a local domain name server"の記事を読んで知りました。

Local DNSで必要な各種Fileとその内容は当HomePageの"Local DNS(BIND)導入"(2003年08月 15日(金))で紹介していますが、Tigerでは/private/etc/named.confがTiger Default のnamed.confに入れ替わっています。そのためこれをnamed.conf.tigerとして保管してPanther時使用していた/private/etc/named.conf.applesavedをnamed.confとして入替えました。
named.conf以外の必要Fileは/private/var/named/にそのまま残っていましたので、修正はこれだけで終了しました。

さて次にこのLocal DNSが正しく稼働しているのかCheckする方法ですが、上記のmacosxhintsに実に簡単な方法が紹介されています。

Best way to see if your local router does DNS is to do a verbose name query: from a terminal window, type:
host -v www.apple.com

これを使ってみました。

  • % host -v is.dnsart.com
  • Trying "is.dnsart.com"
  • ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39580
  • ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
  • ;; QUESTION SECTION:
  • ;is.dnsart.com. IN A
  • ;; ANSWER SECTION:
  • is.dnsart.com. 86400 IN A 10.0.1.200
  • ;; AUTHORITY SECTION:
  • dnsart.com. 86400 IN NS is.dnsart.com.
  • Received 61 bytes from 127.0.0.1#53 in 0 ms
  • 上記のとおり127.0.0.1のDNSが使われています。

そこで今まで行ったことにないDomainを入力して、1回目でどのDNSが使用されるのかまた2回目でDNS Cacheが有効になっているのかを調べてみました。

1回目

  • % host -v www.0-i-0.com
  • Trying "www.0-i-0.com"
  • ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9021
  • ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
  • ;; QUESTION SECTION:
  • ;www.0-i-0.com. IN A
  • ;; ANSWER SECTION:
  • www.0-i-0.com. 3600 IN A 61.211.236.209
  • ;; AUTHORITY SECTION:
  • 0-i-0.com. 3600 IN NS 0-i-0.com.
  • ;; ADDITIONAL SECTION:
  • 0-i-0.com. 3600 IN A 61.211.236.209
  • Received 90 bytes from 61.122.241.xxx#53 in 198 ms

2回目

  • % host -v www.0-i-0.com
  • Trying "www.0-i-0.com"
  • ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61509
  • ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
  • ;; QUESTION SECTION:
  • ;www.0-i-0.com. IN A
  • ;; ANSWER SECTION:
  • www.0-i-0.com. 3423 IN A 61.211.236.209
  • ;; AUTHORITY SECTION:
  • 0-i-0.com. 3423 IN NS 0-i-0.com.
  • ;; ADDITIONAL SECTION:
  • 0-i-0.com. 3423 IN A 61.211.236.209
  • Received 77 bytes from 127.0.0.1#53 in 1 ms

上記のとおり1回目はISPのDNS Serverが使用され2回目はLocal DNS Serverが使用されその名前解決Speedが 198 ms-->1 msと歴然とした差があることが解ります。いまやLocal DNSはCache Serverとして有効に機能していることが分かります。


なお、TigerでCache専用のDNS Serverを構築する方法は、上記macosxhintsの"Speed internet browsing via a local domain name server"、あるいは"Tiger Tips: How to enable BIND"を参照にしてください。なお、双方とも私は検証していません。

Postfixを有効にする(Tiger)

Postfixを有効にする(Tiger)

2005-05-10

Hal Tanaka氏からTigerでSMTP ServerとしてPostfixを稼働させる方法の情報をいただきました。
Tanakaさん いつもありがとうございます。


『Hello Macfreak

OSX 10.4-Tigerの導入も思った程のトラブルもなく移行が完了しました。

システム関連の変更で気になるのは、Tigerからブートプロセスが一元管理になり、「Launchd」
と呼ばれるタスクが起動処理を担当するようになったことです。

Postfixの起動もPantherとは異なる方法になったようです。
Postfixをアクティブに設定、各種の項目の変更には、「Postfix Enabler」がシエアウエアで
提供されていますが、Tiger対応版はレジストしない限り使えないように仕様変更されています。
単にSMTP起動をさせるのに、「Postfix Enabler」を使わなくてもと思いネットを探して
いましたところ
Send E-Mail Everywhere: Postfix on Mac OS X (and other Unix systems)というページを
発見、5月3日にアップデートされ、TigerでPostfixをアクティブにして、ブート時に自動起動する
方法が記述されています。
http://www.reitter-it-media.de/software/osxpostfix.html#tiger

「Postfix Enabler」はシエアウエアでPostfixの機能を引きだし設定するにはこのツールを推奨しますが
単にSMTPサーバを立ち上げるだけの使用法なら、上記の情報で十分ではないかと思います。
(当方は「Postfix Enabler」をレジストして使用しました)』


(macfreak)Hal Tanaka氏のこの情報はMacでSMTP ServerだけをたてているUserには大変朗報です。
私はPantherの Update Install後Postfixを有効にできず四苦八苦した経験から、Hal Tanaka氏と同じくPostfix Enablerを購入したクチです。
しかし上記Siteで解説されているStepsでPostfixを有効にできるのであれば、確かにPostfix Enablerの購入はいらないですね。なおこのStepsは検証していません。
私はG4 Pantherの環境でPOP3も運用していますので、こちらをTigerにVersion UpするときにはPostfix Enablerを有効に利用するつもりです。

Hal Tanaka氏が上記で触れている「Launchd」については、未だよく理解していませんが、従来crontabに登録され実行されていたperiodic maintenance tasksが/System/Library/LaunchDaemons/に登録が変更され、その実行は「Launchd」により行われるということをmacosxhintsの投稿を読んで知りました。
Sleep時にmaintenance tasksを実行するためにWakeUp処理をするcronwakeというDaemonにお世話になっていますので、私は従来通りのcrontabでの実行を継続しています。

Tiger Install

Tiger Install

2005-04-30 

OSX Tigerは4/29(金)の午前中に到着しましたが、この日は忙しくてInstall作業は夜になってからになりました。
以前のPantherの時もそうでしたが、新機能を確認する前に現行の各種設定がTigerで使用できるのかの確認が最初の作業となります。

Install準備作業として幾つかのPartitionを用意しました。
・現行OS+Tiger 試行Partition:A
・Tiger 試行版BackUp Partition:B
・Tiger 新規Install Partition:C
・現行OS(jOSX)BackUp Partition:D
Installに先立ち現行OSXをA,DにClone作成しました。

今までの経験で新OSXに全面移行が完了するのに約2週間はかかりますので、その間の必要Partitionの確保はしておくのが望ましいです。
InstallはDVDをSetしてInstallOSX IconをDouble Clickして開始して約30分で終わります。
Rebootしますと、いつもの起動画面のProgress Barが出てから何秒か空白状態が続きその後、今までのように進捗内容が表示される時間もないままRebootが進み幾つかのDialog(Errorを含む)が表示されました。

  • ・AFP client wants permission to use "名前" item from your keychain. Do you want to allow this.
  • ・Apple script error:System events got an error:NSInternal Script Error (8)
  • ・TinkerTool might not be fully compatible with this system.
  • ・Identifying your keyboard.
  • 上記のScript Errorは未調査
  • 以下幾つかの問題点を見つけました。
  • 1.ApacheのCustomizeが必要
  • 2.SMTP Serverの設定が必要
  • 3.CapsLock Key-->Control KeyにRemapするuControlのTiger版未発表

ApacheのCustomize記録

  • /private/etc/httpd/httpd.confの設定 
  • この設定は次の条件に基づくものです。 
  • 1.Web Alias Root Addressは/Users/Shared/web/ 
  • 2.cgiのAlias Root Addressを定めない(任意の場所可) 
  • 3.ssi文書のFileType(拡張子)はhtml指定(shtmlを使用しない)
  • 【 365行目 】
  • 変更前 DocumentRoot "/Library/WebServer/Documents"
  • 変更後 DocumentRoot "/Users/Shared/web" 
  • www Serverのroot Addressの指定 
  • 【 376目 】 
  • 変更前 Options FollowSymLinks
  • 変更後 Options All 
  • 【 377行目 】 
  • 変更前 AllowOverride None 
  • 変更後 AllowOverride All 
  • 【 390行目 】 
  • 変更前 <Directory "/Library/WebServer/Documents">
  • 変更後 <Directory "/Users/Shared/web">
  • www Serverのroot Addressの指定 
  • 【 399行目 】(必須)
  • 変更前 Options Indexes FollowSymLinks MultiViews
  • 変更後 Options Includes ExecCGI Indexes FollowSymLinks MultiViews 
  • ssi、cgiの機能追加 
  • 【 671行目 】 
  • 変更前 ScriptAlias /cgi-bin/ "/Library/WebServer/CGI-Executables/"
  • 変更後 #ScriptAlias /cgi-bin/ "/Library/WebServer/CGI-Executables/" 
  • cgi root AddressのAlias指定を無効にする 
  • 【 677行目~682行目 】
  • 変更前 <Directory "/Library/WebServer/CGI-Executables">
  • AllowOverride None 
  • Options None 
  • Order allow,deny
  • Allow from all
  • </Directory>
  • 変更後 #<Directory "/Library/WebServer/CGI-Executables">
  • #AllowOverride None 
  • #Options None 
  • #Order allow,deny 
  • #Allow from all 
  • # </Directory>
  • cgi root Aliasの指定を無効にする 
  • 【 882行目 】(必須) 
  • 変更前 #AddHandler cgi-script .cgi 
  • 変更後 AddHandler cgi-script .cgi 
  • cgi Scriptの指定 
  • 【 887行目 】(必須) 
  • 変更前 #AddType text/html .shtml
  • 変更後 AddType text/html .html 
  • ssi文書のFileType(拡張子)指定 
  • 【 888行目 】(必須) 
  • 変更前 #AddHandler server-parsed .shtml 
  • 変更後 AddHandler server-parsed .html 
  • ssi文書のFileType(拡張子)指定

SMTPの設定

uControl

  • 3のuControlのTiger対応版が未Releaseであるのが致命的に辛い、所謂Diamond Cursorが効かないのでとても苦痛。
  • これがReleaseされるまでは、常用OSはしばらくPanthorで過ごします。

上記以外の各ApplicationのTiger対応版を気が付き次第DownLoadして更新処理をしています。
新機能のCheckはそれまでお預けです。

A shell script to check on Apache

A shell script to check on Apache

2005-01-07

あけましておめでとうございます。
今年の私の目標は運動不足を解消することに努力したいと思っています。
年末にギックリ腰に悩まされて、運動不足を痛感した次第です。


さて標題のThemeはmaxosxhintsを読んでいて拾ってきたものです。
OSX Serverには"WatchDog"というSoftがありService(Daemon)がCrushしたりHungUpしたりするのを監視して、そのよう場合にはServiceを再起動するようです。またUNIX Toolとしてdaemontoolsというのもあるようです。
macosxhintsで紹介されているのはapacheだけについて簡易WatchDogとして機能するshell Scriptです。
Filename: checkapache

#!/bin/sh

run=`ps ax | grep httpd | grep -v grep | cut -c1-5 | paste -s -`

if [ "$run" ]; 
then 
echo "Apache is running" 
else 
apachectl start 
fi

上記Fileを chmod 700 として保存します。その後crontabに次を登録します。(Cronnixを利用)

*/10 * * * * /path/to/file/checkapache > /var/log/apachecheck.log
上記はapachecheck.logを上書きします。履歴を保存したい場合は次を登録します。
*/10 * * * * /path/to/file/checkapache > /var/log/apachecheck.log

Shellに詳しい人は色々機能を追加できますが、簡易なApacheのWatchDog用shellですが参考にしてください。 

iPhoto LibraryのWeb公開(Galerie)

iPhoto LibraryのWeb公開(Galerie)

2004-09-21

当HPのBBSでな さんからiPhoto LibraryのWeb公開Soft Galerieについて情報をいただきました。
な さんいつもありがとうございます。

..........................................................................................................................
iPhoto LibraryのWeb公開 投稿者:な 投稿日:2004/09/21(Tue) 13:15 No.234
?BR>
myPhoto は PHP 等が必要なようですが、
Galerie
http://www.myriad-online.com/en/products/galerie.htm

は、iPhoto から手軽に見た目の整ったウェブアルバムが作成できて便利ですよ。
...........................................................................................................................


(macfreak)GalerieをDownLoadして早速使って見ました。
これは素晴らしいSoftですね。難点は日本語対応されていませんので日本語を使用したいときは,HTML Editorで編集する必要があることです。
表紙の編集はIndex.html、コンメントの編集はPages Folderの該当page_xを編集します。
しかしそんな難点を感じさせないです。一応の機能は提供されています。解像度の変更も写真取込み時にされますので、わたしのようにOriginalが高画質の場合などは個別に解像度変更作業も必要ないのが助かります。
Free Softでこんなに簡単に自分のAlbumをInternet上に公開できるのは本当にありがたいことです。
iPhotoのLibrary全体をWeb公開する場合はMyphotoは便利ですが、その内の幾つかのLibraryだけを一般公開したい場合などは重宝します。
早速使わせてもらいます。