導入からPHP拡張モジュール組み込みまで
Mac OS Xで動かす軽量プログラミング言語
繁田 卓二
株式会社 qnote
2008/6/5
Mac OS X(Leopard)では、Webアプリケーション開発でおなじみのPerlやPHP、Python、Rubyといった軽量プログラミング言語を扱うことができます。その設定方法を紹介しましょう(編集部)
Webアプリ開発機としてのMac
- - PR -
名実共にUNIXと認定されたMac OS X 10.5 Leopard。最近ではUNIX系Webアプリケーションの開発機としてMacを使用されている方も多いのではないでしょうか?
その理由の1つとして、Webアプリケーション開発に必要な一連の工程が、1台のMac上でシームレスに行えるというメリットが挙げられます。従来のようにプログラミング・動作デモ・デバッグ・単体テスト・性能評価などといった環境それぞれを「構築する」のではなく、手元のMac上に「乗せる」というスタイルは、迅速さと適応性を求める最近の開発スタイルにうまくマッチしているといえるでしょう。
今回はそのLeopardで扱える軽量プログラミング言語(Lightweight Language)の環境を紹介し、さらにその中でも人気の高いPHPの開発環境についてご紹介します。
| 関連記事: | |
| Ruby2.0からオレ様言語まで、軽量言語のお祭りが開催 http://www.atmarkit.co.jp/news/200708/07/ll2.html |
|
| プログラマーを引き付けるMac OS Xの魅力 http://www.atmarkit.co.jp/fcoding/articles/macosx/macosxa.html |
|
| Mac OS XでAMP構築 http://www.atmarkit.co.jp/fcoding/articles/macamp/macampa.html |
|
Leopardで動く軽量プログラミング言語は?
Leopardは「UNIX」と呼ばれるだけあって、インストール直後からいくつかのLL環境が構築されています。各言語のバージョンは、いずれもLeopard発売直前の最新版が導入されており、これらはセキュリティアップデートで自動的に更新される可能性もあります。また、ローカルのWebサーバとの連携もある程度準備されており、変更したプログラムを即座にブラウザで確認する、という開発スタイルが容易に行えます。
Leopardの主なLL環境とバージョンは以下のとおりです。
■Perl(バージョン:5.8.8)
モジュール管理ツール「CPAN」を含め、Leopard特有のクセというものもなく、ほぼすべての環境がそろっています。
■Python(バージョン:2.5.1)
Pythonパッケージ管理ツールのeasy_installコマンドやZope Interface、汎用ネットワークフレームワークのTwistedなどもインストール済みです。また、Cocoaとの言語ブリッジであるPyObjCもインストールされており、X Codeとの連携によってPython言語でCocoaアプリケーションを記述できるようになっています。
■Ruby(バージョン:1.8.6)
Rubyパッケージ管理ツールのgemコマンドのほか、WebアプリケーションフレームワークであるRuby on Railsもインストールされています。また、簡易WebサーバであるWEBrickも含まれていますので、Railsの性能を100%活用できるでしょう。
■PHP(バージョン:5.2.4)
コマンドラインで使用するphpコマンドと、ApacheのモジュールとしてのPHPがインストール済みです。ただし、パッケージ管理ツールであるpearコマンドと標準PEARライブラリはインストールされていません。
もちろん、これら以外の言語環境をインストールすることもできますし、バージョンアップも可能です。ただし先にも述べたように、OSのソフトウェアアップデートやセキュリティアップデートによって上書きされる可能性があるため、注意が必要です。
では、ここからはPHPにフォーカスを当て、アプリケーション開発に必要な環境を構築していくことにしましょう。なお、ApacheのモジュールとしてのPHPはデフォルトでは無効になっているので、「Mac OS XでAMP構築」を参考にしてください。
PEAR環境のインストール
複数あるLeopardのLL環境の中で、PHPだけに備わっていないものが1つあります。それはパッケージ管理ツールです。PerlにはCPAN、Rubyにはgemなどのツールが用意されているにもかかわらず、なぜかPHPだけはパッケージ管理ツールが備わっていません。
PHPにもPEAR(PHP Extension and Application Repository)と呼ばれるパッケージ管理ツールが提供されており、リモートのリポジトリ経由でのインストールが可能なpearコマンドが存在します。PEARは公式サイトにインストーラが提供されていますので、これを使用して、LeopardにPEAR環境とツールをインストールしてみましょう。
今回は、ユーザーのホームディレクトリ直下のphpディレクトリにPEAR環境を作ります。ホームディレクトリへ移動し、以下のようにcurlコマンドでインストーラを取得してphpコマンドに渡します。するとインストーラが起動し、インストーラの開始とプロキシの設定を聞かれます。特に変更が必要なければ、Enterキーで次に進みます。
$ mkdir ~/php |
次に、PEAR環境で使用するディレクトリを設定します。今回はこのままで使用しますので、Enterキーで先に進みます。
1. Installation prefix ($prefix) : /Users/shigeta/php |
最後に、PEAR標準パッケージを同時にインストールするかと聞かれますので、Yを入力します。
The following PEAR packages are bundled with PHP: PEAR_Frontend_Web-beta, |
これでインストールは完了です。パッケージは「~/php/PEAR」ディレクトリにインストールされ、pearコマンドは、ホームディレクトリ以下の「~/php/bin/pear」となります。試しに「list」オプションを付けて、インストール済みのパッケージを表示してみましょう。
$ ~/php/bin/pear list |
このようにパッケージとバージョンのリストが表示されれば成功です。PEARパッケージのコマンドラインスクリプトは「~/php/bin」ディレクトリにインストールされますので、環境変数PATHに追加しておくと便利です。
LeopardのPHP環境を見る
ここで、デフォルトで組み込まれているPHPの拡張モジュールを見てみましょう。
PHPでは、データベース連携など特定の用途に特化した機能は、拡張モジュールとしてPHPのコアから切り離されています。これら拡張モジュールは、必要に応じて、PHPのコンパイル時に組み込みを指定し、インストールする形です。
LeopardのPHPに追加されている主な拡張モジュールは、以下のとおりです。
| LDAP | LDAPディレクトリサーバとの連携 |
| kerberos | Kerberos認証のサポート |
| EXIF | EXIFデータの読み書きをサポート |
| FTP | FTPクライアントとしてのAPI |
| mbstring | マルチバイト言語のサポート |
| iODBC | iODBCによるデータベース操作API |
| MySQL/MySQLi | MySQLデータベースのサポート |
こうして見ると、データベース連携のMySQL拡張やマルチバイト拡張など、一般的なWebアプリケーションで必須となるモジュールだけでなく、UNIXらしくiODBC拡張やOpenSSLのKerberos認証拡張などが組み込まれていることが分かります。同時に、デジカメ写真の情報を読み取るEXIF拡張が標準で組み込まれているところなどはMacらしい一面といえるのではないでしょうか。
ところが、実際に開発を続けていると、最初に用意されている拡張モジュールだけでは機能が足りず、新たなモジュールが必要となってくることもあります。PHPには、デフォルトで組み込まれた拡張モジュール以外にも数多くのモジュールが存在します。使用頻度の高いものでは、PHPから動的に画像を出力するGD拡張モジュールや、PostgreSQLなどのデータベース連携の拡張モジュールなどが挙げられます。
もちろんLeopardでも、これらのモジュールをコンパイルし、システムに組み込むことができます。次は、こういった標準以外の拡張モジュールを追加する方法を解説しましょう。
1/2 |
| Index | |
| Mac OS Xで動かす軽量プログラミング言語 | |
| Page1 Webアプリ開発機としてのMac Leopardで動く軽量プログラミング言語は? PEAR環境のインストール LeopardのPHP環境を見る |
|
| Page2 LeopardのPHP環境を拡張する準備 GD拡張モジュールのインストール |
|
| Coding Edgeフォーラム トップページ |
| Mac OS X関連記事 |
| プログラマーを引き付けるMac OS Xの魅力 続々移行するそのワケとは Mac一筋という熱狂的なユーザーだけでなく、「面白いことをしたい」と考えるエンジニアもMac OS Xを利用し始めている。いったいなぜだろう |
|
| Mac OS XでAMP構築 3通りの方法で整備できる開発環境 Mac OS Xの上にWebアプリケーションの定番、AMP(Apache+MySQL+PHP)環境を3通りの方法で導入してみましょう |
|
| Mac OS Xで動かす軽量プログラミング言語 導入からPHP拡張モジュール組み込みまで Leopardでは、インストール直後からいくつかの軽量プログラミング言語が利用できます。早速試してみませんか? |
|
| Objective-Cは特殊な言語? Cocoaの素、Objective-Cを知ろう(1) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基本を理解しよう |
|
| Mac内にPHP4、5、6を同居させるコツ Mac OS X+PHPでオールインワン環境(インストール編) PHP4の開発は終了したが、移行の問題は残されている。異なるバージョンのPHPをスムーズに切り替えるには? |
|
- [ニッチ]E4Xで攻撃できる? できない? (2010/2/8)
ECMAScriptでXMLを扱う「E4X」。ニッチかもしれませんが、攻撃の可能性があることだけは知っておきましょう - GAE上でLL+RDBアプリを作ろう (2010/2/3)
開発者にとって魅力的な環境に映るGoogle App Engine。これまでの開発手法を変えずに使えないだろうか - 豆まきユースケースの包含 (2010/2/1)
デバッグが上手くいかず、気分転換にもらった豆をポリポリ。節分のユースケースを考え始めます - Apacheで仮想ホストを動かそう (2010/1/29)
1台のApacheサーバで、複数の公開サイトを提供するには? 仮想ホストの設定の意味を知ろう
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |






