2009年12月アーカイブ

うちが外向けに公開しているサーバーは2台ある。
メインに使っているのが国内においているWindows2003Serverのサーバー
もう一つは国外においているLinuxのサーバー

Windowsのサーバーを使っていると え?ってことを言われることが多いので
なんでWindowsサーバーを使うのか?
書いてみたいと思う。

第一は管理が楽だから。
別にLinuxが使えないわけじゃない。Linux使うときはwebminとか一切使わず
SSHでつないでコマンドでひたすら打ち込んでいるし Linuxだからってできないことはないと思う。
1サーバーで1つのサイトを管理するとかならLinuxでもいいと思う。

けど実際は1サーバーで何十のサイトを管理している。
そうするとGUIベースのWindowsの方が管理効率が抜群にいい。

Linuxでhttp.confでVirtualHostの設定を延々と何十も書いて
このIPはどことどこのサイトで使って CGIの設定は・・・とか
書いてると頭がこんがらかってくる。
まぁ必要ならちゃんと書くけど 後から見たときにファイルを片っ端から見ないと状況が把握できない。
その点Windowsだと管理画面一発でわかるし 修正もそこからできるのでかなり楽ちん。


次にユーティリティが豊富なこと。
Linuxでも昔からの知恵のノウハウはググればたいてい出てくるけど
ちょっと複雑なことしようとすると自分でプログラム書くしかない。
プログラム書くことはできるけど やっぱり面倒。。。

WindowsだとたいていのものはフリーソフトでそろってるからVectorあたりで
適当に検索すれば大概のことはできてしまう。
たとえば定時バックアップを取るとする。
Linuxだったらcp とか使ってバックアップコマンドを作ってそれをcronに登録、
ぐらいまでならまぁそんなに苦でもない。
けど 差分を取って10世代まで管理して バックアップ取った物を別サーバーに転送して・・・とかまでやろうとしたら 1日がかりで書くはめになる。。。
バグのリスクも高いし・・・

その点Windowsならそういうソフトがすぐ見つかるからタスクに登録してやれば終了。
人柱がたくさん立っているから大きな問題起きることはまずないし・・・

Windowsはセキュリティ的に甘いからLinuxの方が、、、って声も聞くけど それはもう過去の話だと思う。
もちろんWindowsUpdateにアンチウィルスソフトやファイヤーウォールといった物は必要だけれど 必要な設定さえしていればもう大問題が起きる危険はかなり低いと思う。


ま、自分がWindowsサーバーをメインに使ってるのは初めてまともに組んだプログラムがaspだったからってのもかなり大きいのですが(笑)
けど今や数百万PV/日のサイトでもWindowsサーバーが使われることもよくあるので
あまりWindowsサーバーアレルギーを出さずに一度試してみてください。

デザイン->テンプレート->インデックステンプレートを作成
タイトルと出力ファイル名に「sitemap.xml」と入れて
本文に以下を挿入して保存でOK!

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc><$MTBlogURL encode_xml="1"$></loc>
<lastmod><$MTDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>

<changefreq>daily</changefreq>
</url>

<MTIfArchiveTypeEnabled archive_type="Individual">
<MTEntries lastn="9999">
<url>

<loc><$MTEntryPermalink encode_xml="1"$></loc>
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
<priority>1.0</priority>

</url>
</MTEntries>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Monthly">
<MTArchiveList archive_type="Monthly">
<url>

<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>

</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Weekly">
<MTArchiveList archive_type="Weekly">

<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">

<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>

</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Daily">
<MTArchiveList archive_type="Daily">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>

<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>

</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Author">
<MTArchiveList archive_type="Author">
<url>

<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>

</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Author-Daily">
<MTArchiveList archive_type="Author-Daily">

<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">

<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>

</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Author-Weekly">
<MTArchiveList archive_type="Author-Weekly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>

<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>

</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Author-Monthly">
<MTArchiveList archive_type="Author-Monthly">
<url>

<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>

</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Author-Yearly">
<MTArchiveList archive_type="Author-Yearly">

<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">

<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>

</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Category">
<MTArchiveList archive_type="Category">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>

<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>

</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Category-Daily">
<MTArchiveList archive_type="Category-Daily">
<url>

<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>

</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Category-Weekly">
<MTArchiveList archive_type="Category-Weekly">

<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">

<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>

</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Category-Monthly">
<MTArchiveList archive_type="Category-Monthly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>

<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>

</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Category-Yearly">
<MTArchiveList archive_type="Category-Yearly">
<url>

<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>

</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>

<MTIfArchiveTypeEnabled archive_type="Page">
<MTArchiveList archive_type="Page">

<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">

<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>

</MTIfArchiveTypeEnabled>

<url>
<loc><$MTLink template="アーカイブインデックス" encode_xml="1"$></loc>
<lastmod><$MTDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>

</url>
</urlset>

mixiアプリの 能力大学 漢字テストの答えを検索するツールを作ってみた。
構想10分、制作30分ってところなんでバグあるかも?だけど
せっかくなんでブログ形式で公開。
ajax使って答えを瞬時に検索(笑)
この画面開きながら漢字アプリやればまずクリアーできます。

お試しあれ~

http://blog.romaji.net/mixi_kanji/


今のところ動物の初級と中級だけデータ打ち込んであります。
時間見て他も増やす予定なのでよろしく!
管理しているサーバーの一つがさっきまで2時間ほどダウンしてたのであわてて再起動依頼。
サーバーがダウンしてpingが通らなくなったら携帯電話にメールが来るように設定してたんだけど あいにくwwwだけ死んで他は生きてるってとっても微妙な状態だったのでpingは通ってしまいエラー通知が来ない。。。

先日はお名前ドットコムDNSのせいでサーバーは生きてるけどDNSの名前解決ができずアクセスできない、って自体も起きたからサーバーのプロセス自体を監視してもダメだし
しかたないのでwebサービスが生きてるか確認するコードを組んでみた。

まず監視対象のサーバーにそれぞれ以下のファイルを設置

ping.txt

当然アクセスすると「pong」とだけ表示される


次に監視サーバーに以下を解凍して出てくる2ファイルを設置
(例:/var/www/html/webping/以下に設置)
webping.zip

pinglist.listには上記で設置したping.txtへのURLを改行区切りで列挙する

とりあえずWEBブラウザかコマンドラインで実行してアクセスして試してみる
またpinglist.txtにわざと誤ったURLを記述しエラーメールが届くか確認する。

テストが終わったらcronに登録して5分おきに実行する

#crontab -e
*/5 * * * * php /var/www/html/webping/webping.php


障害発生すると障害発生するまで延々とメールが送られてくるわけなのでご注意。
3回送ったら1時間起きとかのルーチンも入れようかと思ったけど
使うの自分だしめんどいんでまた今度。
とっても便利なMovableTypeですが 残念ながらメールから投稿する機能がついていません。
そこで登場するのがこのメール投稿プラグイン MailPack
http://www.skyarc.co.jp/engineerblog/entry/4022.html

企業として本格的に使うには結構なお値段がかかりますが 個人で利用する分には無料で利用できます。
単純にメール投稿できるだけでなく 送信元のメールアドレスが一致しないと投稿できないスパムフィルタなど機能も盛りだくさん。
MT使うのに必須なプラグインのひとつだと思います。

hirosikitextfilterプラグインを使用する

入手先
http://memo.hirosiki.jp/article/41793651.html

なおMT4で利用するといくつか不具合があったので修正

■設定画面で文字化けしてるので修正
line 37 ラベルの部分を日本語に変更 およびファイルをUTF8で保存
MT->add_text_filter(
'hirosikitextfilter' => {
label => '改行を変換+URL自動リンク(ひろ式)',
on_format => \&hirosiki_text_filter,
}
);
■line 79 新規ウィンドウで開くように変更
"<a href=\"$o\">$u</a>";
   ↓
"<a href=\"$o\" target=\"_blank\">$u</a>";

/etc/httpd/conf.d/ にバーチャルホスト用のファイルを作成

vi vhost.conf
LogFormat "%{Host}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vcombined
NameVirtualHost 111.111.111:80


ServerName hoge.com
ServerAlias *.hoge.com
VirtualDocumentRoot /var/www/virtual/%2+/%1
CustomLog /var/log/httpd/access_log vcombined




参考サイト
http://www.artsnet.jp/archives/32

2009/11現在Windows2000をクリーンインストールしてもWindowsUpdateでエラーになりどうにもならなくなってしまった。
どうも2000標準のIE5が現在のWindowsUpdateから切り捨てられたみたいで・・・
IE5でWindowsUpdateするとエラーになるみたい。
手動でIE6をインストールしたら無事WindowsUpdateできるようになりました。

今更Windows2000をクリーンインストールする人もまずいないと思うけどせっかくだし備忘録に(笑)


■Windows2000インストール手順
1.Windows2000をクリーンインストール。
2.SP4を当てる
http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=DC27B8C6-2A5A-4399-AD3D-4A97A25F41D9&displaylang=ja

3.各種ドライバインストール(SP4を当てないとエラーになる場合があるので先にSP4を)
4.IE6をダウンロードしてインストール
http://www.microsoft.com/japan/windows/ie/downloads/ie6sp1/default.mspx
5.ひたすらWindowsUpdate

以上


ちなみに久々にIE5でいろいろネットサーフィンしたけどレイアウト崩れるサイトが多数。
そしてすごく軽い(笑)

OpenPneをWindows2003のIIS+MySQLで動かしてみた。

注意点はMySQLのNULLの取り扱いで処理が止まることがよくある。

明示的にNULLを指定するようにSQLを書き直したし・・・

2011年9月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30