序説

とりあえず、前書き

今となっては事の起こりがなんだったのかじぇ~んじぇん分からない。
ま、多分、今まで Microsoft WindowsNT4.0 + CGI とか、同じく Microsoft WindowsNT4.0 + ASP で済んでいた仕事で、唐突に客先の方から Linux でやると言われてしまったことが発端だったのではないかと思う。
んで、何にせよ唐突に Linux である、じぇ~んじぇん分かりましぇん♪
でも既に客先ではオタクとかみずきちゃんで通っているこの瑞輝智佳、ここで負けたらオタクが廃る

でもさ、何も部課長クラスまで「あ、みずきちゃん来たよ」とか言わなくてもいいやん………
仕事とプライベートは分離したいとか今更になって思っているけど、もう無理って感じ(涙)

Linux で、Oracle8i ということなんで、取り敢えず開発環境に PHP を推してみたりした。
そんなに大規模な開発じゃないし、とか言い訳するけど、その時点では実のところ PHP なんて毛ほども知らないという事実が………
知らないことをひた隠す、世の中はったりだ。
結局 PHP は勉強して、今では最低限度使えるようになったけどね。
あ、ちなみにその仕事ではサーバがデータセンタに入ってしまうので、その前に PHP の構築をしないといけなかったんだ、これが。
しかもサーバ自体はこちらで用意するわけではなくて、別件の仕事をしている別会社の間借り
更に追い打ちで WEB サーバと DB サーバが完全に分離していて、PHP + Oracle8i 環境は全く整っていないと来た。
Oracle8i Client をインストールして、Net8 の設定して取り敢えず繋げられるようにして、PHP のソースを持ってきてコンパイルして設定書き換えて phpinfo() 関数流してみて動作確認。
既に Linux 知っている人から見れば簡単な作業なんだろうけど、瑞輝智佳はこれが Linux 初体験だったりする(爆)

いや、実はね、別会社に「PHP を使えるようにしておきました」って言われたんで「有り難い」と思ったんですわ。
でも、実体は本当に「使える」様にしていただけ。
OCI8 関数も設定されていない状態で、「使える」状態だと思ったんだろうかねぇ~
結局それでコンパイルから始めたわけ。

(2005-01-02 追記)
今考えてみれば、要はインストール時に PHP の rpm を選択したってダケだったんだろうな。
あの時の Linux は MIRACLE LINUX 2.0 だったと思うから、Red Hat Linux の 7.1 だかが元になっているはずだし。
そうすると当然 --with-oci8 オプションなんて付いた状態でコンパイルされてないよな………

その後も、どぉ~やら客先は Linux を推進していくらしいけど………
我が社にはテスト環境がない(爆)
ちゅ~か UNIX にしろ Linux にしろ、環境構築だ運用だって全く実績がないんだ、ウチ。
アプリケーションは Microsoft WindowsNT4.0 + Oracle8 + PHP で作って、Linux + Oracle8i + PHP に持っていくという状態。
しかもそれでなんとかしちゃってるから、上も問題が生じる可能性があること自体に気付いていない

実は既に問題はある。
テスト環境は Oracle8 で、実機は Oracle8i、この "i" の違いが大きくて、Oracle8 に対応している PHP は 4.0.5 まで、4.0.6 以降は 8i 対応。
だから、テスト環境の PHP のバージョンを実機に合わせてアップさせることが出来ないんだよなぁ~
場合によっては大問題………(涙)

で結局は Linux 自体に触れるのは客先に行った時のみ、これじゃ憶えられないよね、使わなけりゃ憶えられるわけないじゃん。
基本的にオタクは好きで経験したモノ以外は憶えないわけだし。

(2005-01-02 追記)
その後、客先は Linux 推進しなくなった。
やっぱ初心者が見よう見まねで管理しているから Windows 系に逃げた方が楽なんだろうね。
でもその後に基幹システムに Solaris が入って本格的に自前で管理できなくなった(笑)

と言うわけで、事の起こりは多分に仕事のせいだったんではないかと思う。

んで、PHP をやってみて思う。
今まで PERL で CGI 組んでた時に比べると随分と楽に出来るなぁ~と。
データベースへの接続も随分と楽に出来るし。
ま、PERL の DBD + DBI みたいにデータベースの差を吸収する抽象化が進んでないから、データベース間の互換性はまるでないけどね。
その分特定のデータベースに特化させてオーバヘッドを少なくできる利点はあるだろうけど、それって高級言語の特性としては本末転倒だね。
ま、それはおいといて、とにかく楽、自分のサイトでも是非とも PHP を運用したい。

実は文法とか仕様とかで頭に来ることは多いんだけどねぇ~
UNIX なり Linux なりって C 言語の世界じゃない? その C 言語プログラマ達が C 言語だと面倒だからって PERL にしろ PHP にしろ作ったわけで、C 言語その物が元々ポリシーなんてない高級アセンブラなのに、更にそこから逸脱しようとしたらおかしな言語仕様になっちゃうの当たり前だよね。
ま、こんな事言ったら自称 C 言語ウィザード共に罵られるだろうけど(笑)

でも、ま、PHP が使える ISP ってダケじゃダメなんだよね、当然。
データベースが使えないと話にならない。
データベースは仕事では基本的に Oracle を使っていたんだけど、ひょんなコトから MySQL を知って、ある仕事を MySQL で構築してみようと思い立ったわけ。
ま、当然 Linux 環境無いんで Windows 版でテストしているけど、ライセンスとか考えても MySQL ってお得感ある。
SQL 文で LIMIT 節が使えるのもいいね。

トランザクション管理が出来るようになったのはつい最近。
厳密な意味ではリレーショナルデータベースでトランザクション管理が出来ないのは問題なんだけど、設計次第では無くても行けるし、トランザクション管理していないテーブルならより高速に処理できる利点もあるよね。
特に MySQL の SELECT 文の素早さと LIMIT 節の存在は、とにかく速度が重要な WEB アプリケーションではもの凄い大きい。

んで、PHP と MySQL が使える ISP を当然探すわけさ、たしかにいくつか在るよ、在るけどね………
多かれ少なかれボトルネックを抱えてる、海外のデータセンタにサーバが入っているとか。
世の中とことん自由にならないよね。

そう、自由にならないんだよ。
自由にならない。

どうやったら自由になるか、そりゃもちろん、自宅サーバしかないわけでしょ?
自宅サーバならデータベース何入れようが、WEB アプリを何で組もうが、全く関係ない。
かねてより欲しかった独自ドメインもなし崩し的に手に入れるほか無くなるでしょ。
そうするとオタクの性、自宅サーバに対する憧憬が沸いてくるワケよ。

でもね、下逸の Windows なんかで WEB サーバ作りたいと思う?
俺は思わないね、あんな OS だけでマシンパワー持っていく本末転倒な馬鹿 OS なんかでサーバ組みたくない。
大体、長時間の連続稼働に対する信頼性がないってのは致命的でしょ? あのメモリリークの固まりは………

そうなると、もう LAMP プラットフォーム しかないわけだ。
Linux + Apache + MySQL + PHP、オープンソースのベストチョイスと呼ばれている構成だ。
やってみたいのよ、とにかく経験してみたい、俺みたいなオタクが経験すればそのまま仕事でも幅が出るし、いいことずくめでしょ?

流石に今回の欲望は止まらなかったね。
いい加減仕事でも綱渡りの連続なんで纏まった知識が欲しいという緊急の要請もあったし、何より一度火が点いたオタクの血はそうそう簡単には止まらないよ。
というわけで、この 11 月に入ってから、唐突に動き出したわけだ。

この『サーバ構築紆余曲折日記』は俺が LAMP プラットフォームのサーバで、独自ドメイン取って、一般公開できる状態になるまで不定期に更新する。
LAMP に関しては完全に初学者だし、全く未知の領域の話ばかりだから、多分途中で停滞することもあると思う、全然うまくいかなくて立ち往生することもあると思う。
でも、取り敢えず最後まで諦めずにやってみようと思う。
お付き合い下さる心の広い方は、思い付いたように更新されるこのページを見守っていて下さいな。

Valid HTML 4.01 Strict Valid CSS!