perl徹底攻略の本を買いに行った時、並んでおいてあったweb開発の基礎徹底攻略が初心者には良い感じの本だったので購入し、こちらから読み始めました。

プログラミング言語(スクリプト言語)を学んで、色々webアプリを作るとなると、プログラミング言語以外にも色々な必要な知識が必要なことがわかってきた自分にとって、この本は超初歩的なことから解説してあるとても良い本です。(まだ読み始めたところですが)

perl入学式に入学するまでは、「perlってcgiとかいう掲示板つくるやつですよね?」的な非常に誤った認識をしていたので、cgiについて理解を深めるためにサンプルコードを試してみた。(P11 リスト1 ちなみに、リスト1の最後の行にヒアドキュメントの終端記号EOFを書かないと動きません。ミスプリ?)

まずは、MacbookAir単体でwebサーバーApacheを起動してCGIを試せる環境を設定。

参考にしたサイトはこちら

まず、MacOSX Mountain LionでApacheを使う為には、ターミナルからCUIで設定するしか方法が無いらしい。ターミナルで sudo -s コマンドでスーパーユーザーになって、apacheの設定ファイル

/etc/apache2/httpd.conf

を編集。

自分の環境では、ApacheからCGIが使えるようになる設定文

#AddHandler cgi-script .cgi

が397行目にあったので、#を消して有効にする。

自分のホームディレクトリに置いた実験用cgiファイルを実行できるように、

/etc/apache2/users/ユーザー名.conf

を編集。options の行末にExecCGIを追記。

Apacheの起動、停止、再起動はスーパーユーザー権限でターミナルで以下のコマンドを打つ。

apachectl start

apachectl stop

apachectl restart

ホームディレクトリ/sites/ の中にcgiのサンプルコードを置き、ファイルのパーミッションを755に変更、そしてブラウザからlocalhost/~ユーザー名/サンプルコード.cgiにアクセスすると、ブラウザにperlのコードの実行結果がきちんと表示されました。

今回学んだCGIの使いかた

・perlのコードのファイル名を.plではなく、.cgiにする。

・print命令で標準出力に出力されたhtmlを記述したテキストデータが、cgi -> webサーバ を通じて、クライアントのブラウザにhtml形式で返され、表示される。

cgi、ちょっとしたスクリプトなら、コードを書く手間は非常に楽。ブラウザで結果を手軽に確認できるのでこれはこれで面白かった。

ちょっとした実験なら、cgiも便利。