主要サーバのインストール〜データの引越し・・・apache2,MySQL,PHP,Sambaその後の追加インストール〜・・・ImageMagickSC430インデックス情報収集〜発注Dellのパンフレット先輩からDellの法人向けパンフをもらう。サーバっつってもうちの会社じゃDimension3100Cか5100Cかなぁ。ふーん、サーバ専用マシンもあるんだ・・・。Dellのオンライン見積もりDimension3100の見積もりしてみる。見積もりはタダだしな。この頃の予算はできるだけ安く、だった。Dellのオンライン見積もり・その2しばらくブランクがあったが、その間にどこかで気になったサーバ用マシンSC430も見積もりしてみる。先輩との打ち合わせで予算はモニタ込みで10万で設定。5100も同じように見積もった。使えるのか?情報収集かなりSC430が気になってきたので、上司へ見積もり提示する前に大慌てで情報収集にあたる。5100なら普通のWindowsが動くのは当然だから大丈夫だが、SC430はWinXPとFreeBSDサポート外なのよね。XP対応、FreeBSDではamd64で対応。FreeBSD対応、XPは付属CDのドライバで騙すかメーカー純正ドライバで対応。XPは付属CDのドライバで騙すかメーカー純正ドライバで対応、FreeBSDではX11使わないから問題ない(笑)。使わないから問題ない(笑)。大丈夫でしょう(笑)。メモリは値段の高さから推測すると高耐久タイプと勝手に期待。FreeBSDは何事もなくインストール実績を確認、WinXPも2000からのアップデートか、SP2なら問題なくインストールできるらしい。見積もり提示前に先輩と打ち合わせ。第1候補としてSC430を勧める事に。「サーバ用のパーツ使ってますからそこらのマシンとは違います」が売り文句。上司からゴーサインが出た。余計なものを付けるよりもシンプルで安定したマシン構成、がわかってもらえたらしい。あれ?・・・メモリをDDR-333からDDR-400に変えても値段が一緒だったと思ったが・・・、変えちゃえ。それとモニタは2台で共用するので、モニタ有りとモニタ無しで注文した。2週間ぐらいかかると。来た着いたけど・・・モニタ有りが先に来て、2日後にモニタ無しが着いたのはちょっとどうか?と・・・。先輩から「記念だからおまえが箱を開けろや。お神酒と榊を捧げ祝詞をあげて・・・(心の中での話だが(笑))・・・開梱する。思ったより結構でかい感じがするかも。ネットワーク以外の接続する。←いやいや消えません)まずマニュアルに目を通す。えっ俺だけだって?初躓き(つまづき)ん?セットアップCDでセットアップしろって?なんだこりゃ?とりあえず電源入れてみるか。おお!グラフィカルな画面が登場。セットアップCDを入れて再起動しろってことらしいが、意味がようわからん。結局セットアップCDを入れて再起動したがやはり意味がようわからんので無視。WindowsのCDを入れて気がついたのだが、セットアップCDで起動した・しないに関わらず、あらかじめ数メガのプライマリパーティーションが作られている。中身はMSDOSチックなのだがたいした大きさでもないし、確かたいした物も入ってなかったはず。最終的にはいらないと判断し、後の作業で全てまっさらにすることに。BIOS設定いらないデバイスは不使用にしておこう。起動順もHDD→CDに。ハードウェアの使用前点検BIOSと同じような起動方法でメンテナンスプログラムが動くので、先にHDDのチェックを行った。メモリも・・・と思ったがかなり時間がかかりそうだったので短い奴だけに。CDが認識しないさて、FreeBSD6.1-RELEASE/amd64のCDを入れて起動。・・・ブートメディアが見つからない。なんでCDが認識しないの?・・・と思ったら。CD-ROMドライブはSATAじゃなくてATAだからデバイス未使用にしちゃだめだった(←馬鹿)。OSインストール何事もなかったようにCDブートし、FreeBSDのインストール。最小ディストリビューションで必要なものを付け加えた。ソースも全てインストール。パッケージは後に入れるPHPとMySQLとSambaに必要なものとPOPデーモンとsudoかな。気になるのがパッケージインストール作業中にXMLあたりで失敗したのかどうなのかよくわからないがメッセージが出たことかな。管理者パスワードとタイムゾーンとネットワークの設定を済ませておく。ここまでは小一時間で済んだ。運用前だからいろいろ弄るのは今のうち。いうことでカーネルの再構築をしてみる。説明どおりにカーネル設定ファイルをコピーして編集する。いらないデバイスを削るためだ。SCSI・RAID・FIREWIRE・未搭載のNICなどなど。あとプリンタや外部USB機器(プリンタ・スキャナ・フラッシュオーディオ等)も削った。次にmake.confの編集。CPUに合わせた最適化オプションをつける。buildkernelあれ?PentiumD820って何てCPU?「noconaってcpuは何?」ってエラーだった。カーネル設定ファイルのcpu項目ってのはnoconaとすると思ったのだが、試行錯誤や調査の結果、やはり最初のままHAMMERでいいみたい。最適化オプションはいずこへ?最適化オプションでMMXやらSSE3やら設定したのだが、途中でそれを無視するオプションが実際に使われていることに気がついた。?と思っていろいろオプションを変えてみることに時間を費やしていたが、開発者情報によるとあえてカーネル構築ではそのタイプの最適化を行わないことになっているそうな。意味がわからんのだが仕方が無いのでそうしておく。それでもエラーそれでもmake中にエラーで止まる。デフォルトのカーネル設定だと最後までいくのに。仕方がないので(旧Macのトラブルシューティングで有名な)消去法で試行錯誤してみた。SCSI)を外すのをやめたらエラーが出なくなった。installkernelも済んだ。再起動してみるとなんか見慣れない起動画面だ。ブートメニューの後、ログインまで黙ってしまうのだ。止まっているわけではないのだが、認識したデバイスとかが表示されていたのが表示されない。supportを外すのをやめたら表示されるようになった。起動時のタイトル画面とスクリーンセーバって書いてあると思ったのに、そんな意味もあるのか。2つめのCPUは?再起動してみると今度はデバイスが表示されるようになったので確認をしてみた。(←カーネルサンダースのカーネル:笑)になっている。なんかおかしいな、あれ?2つ目のCPUはどこへ行った?。以前の起動時には2つ目のCPUも有効になったようなメッセージがあったはずだが。Kernelの行をつけ足す必要があったらしい。上司から「新しいサーバはまだか?」と言われてしまった。「今、最新のCPUに合わせてチューニング中です」と答えておいた。えっ笑うところ?世界征服はカーネル再構築がうまくいったので(昔はうまくいった例がなかった)、調子に乗ってシステムの再構築もやってみることに。buildworldとやってみたが、途中でエラーで止まる。原因もさっぱりだったしこれ以上時間をかけるのはさすがにちょっとまずいかも?と思い、このまま断念することにした。仕切り直しいろいろごちゃごちゃいじってきたので、一旦ハードディスクをまっさらにして今までの事を正しいやり方でやり直すことに。この時どうせならと思い、設定ファイルを保存して殆どの作業をシェルスクリプトにした。設定DNS,NFS,POP3,SMTP,NTP・・・この辺もすでに経験済みだったので自作シェルスクリプトにて自動で設定ファイルをコピーして完了。ユーザの引越しそーいや利用者にユーザアカウントを新しいサーバで登録し直してもらわなきゃな。思っていたのだが、実はお引越しできるんじゃん?と思って調査してみたら・・・あった。古い/etc/master.passwdの内容を必ずvipwで新しいmaster.passwdに追加編集、/etc/gruopも同様に追加編集して、ユーザのホームディレクトリを手動で作ればOK。ディレクトリのオーナー情報・パーミッションの再設定も忘れずに。主要サーバのインストール〜データの引越し主要サーバプログラムのビルドapache2とMySQLとPHP5とSamba、それに依存するものをまとめてコンパイル&インストール。この辺もすでに経験済みだったので自作シェルスクリプトにて自動でやってしまった。samba.build.sh嵐の前の静けさ再起動してサーバ接続・・・全てOKですな。apache確認ページ、phpinfo()も出たし、MySQLもとりあえず接続OK。はて?MySQLのユーザってで・・・MySQLのユーザってどうやって作るんだっけ?参考書をひっくり返してユーザ作成。あれ?PHPからアクセスできないじゃん。あ、localhostとかでの設定の考え方が微妙に間違えてた。最終的にはこれまたスクリプト・・・mysqlに渡すSQLをファイルにして自動処理。嵐がやってきた本来の目的のひとつであるPHPによるWebアプリケーションを移行する。殆どスクリプトやデータファイルのコピーとアドレスの変更とかそんなんだけど。データの移行作業が完了してシステムを動かしてみた・・・。っ・・文字化けがっ!あれーーっ!設定間違えたかなー?エンコーディングは?スクリプトは?・・・。フォームから入力した日本語が??だらけに。シフトJISのHTTP入力(POST/GET)でマルチバイト検出か翻訳変換(transrate)に失敗してLatinとかで変換しているのではなかろうか?。単純なテストスクリプトではうまく動作しているが、肝心なスクリプトだと先頭でチェックしても化けている。しまいには特定のスクリプトで返事が返ってこない。httpdの子プロセス?がCPUを50%以上削ってるし・・・(デュアルコアなので実際には片方のCPUが100%近く)。してリリースされたばかりの最新版PHPだからバグか?と思って一つ前のバージョンのPHPを再ビルドしてみたがやっぱりダメ。バグ情報も出ていないようだし・・・。マルチバイト関係の設定を旧サーバから上書きしてもダメ。結局PHP5をあきらめてPHP4の最新版をインストールしてみたら・・・動いた。(泣)ひくひく軽い放心状態で先輩に「PHP5はあきらめました。XREAがPHP4を続行する気持ちがなんとなくわかったような気がします・・・」と報告。いうライブラリが原因ではないかと思っていた。XREAがPHP5を導入しないという話を聞いていたが、今ではPHP5も導入されている。最後の引越し図面データを引越しするので設計の人に作業をとめてもらうよう頼む。CADマシンをnfsマウントしてからデータディレクトリを丸ごとコピー。入れておくとPDFも変換できるようなので、インストーラCDからパッケージインストールしておいた。ソースを拾ってきてインストール。imagemagick.build.sh下調べをしていればあまり問題はなかったな。環境設定は使いまわし。GhostScriptも中でコマンド呼び出ししているみたいだし。゙・・・ちゃんとscbusが必要だと書いてあるじゃん・・・。buildworldで失敗したのはもしかしたら-O3が原因だったかも・・・。過度な最適化オプションはバイナリの動作だけでなくコンパイルにも影響するような気が。続くSC430インデックスへトップページへこな。