SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

ApacheModuleでWebアプリケーションをつくろう

コーディングでApacheModuleの開発プロセスをまなぶ

  • このエントリーをはてなブックマークに追加

本稿ではApacheModuleを使って簡単なWebアプリケーションを作成します。普段こうした目的に用いる機会はありませんが、実際のコーディングを通してApacheModuleの開発プロセスに親しんでもらえればと思います。

  • このエントリーをはてなブックマークに追加

1.はじめに

 Webアプリケーション開発の現場で使用されている開発言語には、Java、Perl、PHP、最近であればRuby、Pythonなどがあります。この分野ではC言語も、CGIによるWebアプリケーション開発で旧来から用いられていますが、最近の開発者にはあまり馴染みがないかもしれません。当時の新技術であったJavaと比較して、あまりにも遅い結果が出ていたからとも言われています。

 しかし、Webサーバの「Apache」、データベースの「PostgreSQL」「MySQL」、OSの「Linux」など、各所でオープンソースソフトウェア(OSS)の開発言語には、依然としてC言語が多く用いられています。このようにC言語は、Webアプリケーション開発の現場で使われるケースは減ったものの、現在でも重要な開発言語の一つです。

 そこで今回は、Apache 2.2のmod_dbdで実装された「データベースのコネクションプール」を使用して、Webアプリケーションを実現するモジュールをC言語で作成してみます。

 通常、ApacheのモジュールでWebアプリケーションを作成することはほぼありませんが、Apacheモジュールの開発プロセスを理解するのに、具体的でよいサンプルかと考えます。また最後に、Javaで作成した同じ処理を行うWebアプリケーションと、処理速度を比較してみようと思います。

 Apacheモジュールの作成は、大まかに次のステップで行います。

  1. apxsコマンドによる雛形の作成
  2. テンプレートエンジンClearSilverの導入
  3. mod_dbdの導入

2.対象読者

  • ApacheのModuleを作りたい人
  • C言語を一通り理解している人

3.環境設定

 実際の作業に入る前に開発環境の確認を行っておきましょう。

 今回使用するソフトウェアと入手URLは以下のとおりです。本稿末尾で設定手順を説明していますので、未導入のものがあればそちらを参照してください。

使用ソフトウェア名
ソフトウェア名入手URL
ファイル名
CentOS 5http://ftp.riken.jp/Linux/centos/5/isos/i386/
CentOS-5.0-i386-bin-Xof6(Xは1~6)
PostgreSQLhttp://www.postgresql.org/ftp/source/v8.2.5/
postgresql-8.2.5.tar.gz
Apache HTTP Serverhttp://httpd.apache.org/download.cgi
httpd-2.2.6.tar.gz
ClearSilverhttp://www.clearsilver.net/downloads/
clearsilver-0.10.5.tar.gz
Java SE Development Kit 6http://java.sun.com/javase/ja/6/download.html
jdk-6u3-linux-i586-rpm.bin
Apache Tomcathttp://tomcat.apache.org/download-60.cgi
apache-tomcat-6.0.14.tar.gz

次のページ
4.試験用Apache Module「mod_test」の作成

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

タケル(タケル)

攻殻機動隊の『笑い男』に憧れていて、いつかタチコマには追いつきたいと願うSE

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2502 2008/06/16 14:30

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング