ローカルでCGIを動かしたい(1)

人間生きていればローカル環境でCGIのプログラムを動かそうと思うときがある。

俺はある。

今回はエンジニアでない人(つまり、私ですが)が、ローカルでCGIを動かすまでに考えたことを何回かに分けて書く。

めちゃくちゃ頑張ったわりに、そのままこれで得た知識は必要なく成仏しそうな仕事だったから。

 

ていうかそもそも、CGIってなんですか?

.cgiという、あまり見慣れない拡張子

(とは言ったけれど、やっぱどっかで見たこともあるような気がする、.svgとか.tiffみたいな何回見ても違和感がある拡張子よりはどっちかといえば既視感があるような気がする。多分よく行く飲み屋で会ったら、「一度ご一緒したことありますかね?」とは1回くらいは聞いてしまうかもしれない、一応はそんな顔をしている。)

を見たときに、まず上記のような疑問を持つと思う。

 

日本大百科全書(ニッポニカ)

しーじーあい
 

ウェブサーバーが、ブラウザーからの命令で外部プログラムを使って処理を行うための仕組みの一つ。コモン・ゲートウェイ・インターフェースCommon Gateway Interfaceの略称である。

 ウェブサーバーの基本機能は文書表示などをするだけの静的なものであるが、そこに外部プログラムとの間で連携して処理を行うためのインターフェースであるCGIを組み込むことで、動的なページ(表示内容がその場で変化する)にすることができるようになる。情報の流れとしては、ユーザーのパソコンのブラウザーからウェブサーバーに命令が出される。それを受けたサーバーがHTMLに組み込まれたCGIによって、ゲートウェイ(ネットワークを中継する機器やソフトウェア)経由で外部プログラムCGIプログラム)に処理を依頼する。その結果がHTMLとしてサーバーに出力され、ユーザーがそれをブラウザー上で確認できるようになるCGIの使われる例としては、電子掲示板の読み書き、ウェブページ上でのアンケートへの回答、アクセスカウンターの累計、ブログシステムなどがあげられる。言語にはperl (パール) などがよく使われる。同様な働きをするものに、SSI(Server Side Include)やPHP(Hypertext Preprocessor)などのプログラム技術がある。

[編集部]

 

 

あらためて百科事典を調べてみると、実に文系的な(と、私が言うのもなんだが)書き方をしていておもしろい。

太字にしたところだけ読むと大体の意味は分かる。

ブラウザーからウェブサーバーに命令が出されサーバーがプログラムに処理を依頼する。その結果がHTMLとしてサーバーに出力され、確認できるようになる

どういうことなのか。

下記のWebサイトにある画像がわかりやすい。

 

 

前提として、Webサイト(多くの場合、html)は、多くの場合サーバに出来上がったものを置いておいて、それをユーザが参照しにくる仕組みだ。

CGIの場合は、Webサーバに.cgiのプログラムをおいておくと、毎回毎回参照されるたびに新しいWebサイトを作り出してくれる。

つまるところ、サーバありきのプログラムである、ということで、

基本的にサーバではないコンピュータでCGIを動かすことはできない。

 

そんないまどきローカルで動かすなんて言語と何個かのソフトウェアをダウンロードすれば一瞬でしょ、と甘くみていたけれど、どうもそうはいかないみたいだ。

 

普通のパソコン()をWebサーバにできるのか

いままで、「Webサーバ」とは何らかをインターネットに送信しているコンピュータということはわかるけど、それ以降のことはよく知らなかった。

またバカまじめに調べてみると、「Webサーバソフトウェア」と呼ばれるものをインストールすると、普通のパソコンでもWebサーバの機能を持たせることはできるみたいだ。

サーバというと、「京」「富岳」みたいなでかい、モノリスみたいな、「MAGI」みたいな、「科学者」としての自分、「母」としての自分、「女」としての自分の3つのでかいコンピュータの合議制みたいな、あれ私いまなんでエヴァンゲリオンの話してるんだろう、そういうのを思い浮かべる気がするが、

そんなに容量のでかいデータの送受信をするわけでない場合(後ほど説明するが、今回はローカルホストと呼ばれる自分しか接続できない状態のサーバをつくる)、

普通のコンピュータでもサーバにすることはできるようだ。

そこで、無料で一番人気っぽいWebサーバである「Apache」(あぱ…あぱちぇ…自分の言語野では発音できない)が登場することになる。

 

わたくし、Apacheをインストールする

httpd.apache.org

Welcome!とかいきなり言われても。

Apache(アパッチと発音するらしいです、調べました)をダウンロードするのは簡単で、何かよくわからないけどAgreeのボタンを何回か押すだけ。

今回は自分で自分に接続する状態である「ローカルホスト」を使う。

インストールされたApache.exeを1回クリックして、

http://locahost

上記のURLに接続すると、「ローカルホスト、オッケー!」みたいな画面が出てくる。

 

次回、衝撃の事実が(というほど衝撃でもない)

つづく