3通りの方法で整備できる開発環境
Mac OS XでAMP構築
Shin.鶴長
2008/5/19
DarwinをベースとしたUNIX系OS「Mac OS X」では、ApacheやSambaをはじめとするおなじみのアプリケーションを動作させることができます。今回は、Webアプリケーションの定番、AMP(Apache+MySQL+PHP)環境を導入してみましょう(編集部)
Aquaインターフェイスの後ろにUNIX
Mac OS Xは、BSDの流れをくむ「Darwin」をベースとしたUNIX系OSです。
Mac OS Xを手掛けるアップルでは、発売当初からUNIX由来の堅牢(けんろう)性や安定性を前面に打ち出し、UNIX互換であることを強くアピールしていますが、「Aqua」と呼ばれる洗練されたユーザーインターフェイスに覆い隠され、普通に使用するうえでUNIXを意識することはありません。
しかしひとたび「ターミナル.app」を立ち上げれば、ps、ls、viなど、Linuxで慣れ親しんだコマンドに触れることができます。またほかのUNIX系OSで利用されているソフトウェアを移植しやすいという利点から、ApacheやSambaをはじめ、さまざまなUNIXアプリケーションをMac OS Xで利用することができます。
今回はWebアプリケーションの定番、AMP(Apache+MySQL+PHP)環境のインストールを通し、Mac OS X 10.5 Leopard(以降、Leopard)のUNIXとしての一面について言及します。
関連記事: | |
Webアプリ開発環境としてのSafariを知ってますか? http://www.atmarkit.co.jp/fjava/column/andoh/andoh40.html |
|
プログラマーを引き付けるMac OS Xの魅力 http://www.atmarkit.co.jp/fcoding/articles/macosx/macosxa.html |
|
Mac OS Xで動かす軽量プログラミング言語 http://www.atmarkit.co.jp/fcoding/articles/macll/maclla.html |
UNIXとしての「Mac OS X」
UNIXを名乗るには、UNIXという商標を管理するThe Open Groupの承認を得る必要があります(注1)。
2007年10月に発売されたMac OS X 10.5 Leopard(注2)はSUS Version 3を取得し(http://www.apple.com/jp/macosx/technology/unix.html/)、UNIX系OSではなく、UNIX OS(著者注:系が付かない)と晴れて公言できるようになりました。
これで名実ともにUNIXを名乗れるようになりましたが、The Open Groupの承認を得る前から、UNIXとしての互換性には定評がありました。AMPのようなポータビリティ性の高い開発案件では、Mac OS Xで開発作業を行う人も少なくありません。
注1:Linuxディストリビューションでは、2008年5月現在どこも承認を得ていません 注2:Intelアーキテクチャのみで、PowerPCアーキテクチャは対象外です |
まずは「アプリケーション」フォルダの中の「ユーティリティ」フォルダ(画面1)から、「ターミナル.app」アイコンをダブルクリックし、端末エミュレータを起動します。
LinuxのGNOMEターミナルやKonsoleのように、Mac OS Xでもターミナル.appを通して、CUIによるファイル操作やコマンド実行が可能です。プロンプトに続けて「pwd」と入力すれば、ログイン時のカレントディレクトリがホームディレクトリに設定されていることが分かります。
フォルダ(注3)を「/etc/」に移動すれば主なアプリケーションの設定ファイルを見つけることができます。主要なCUIコマンドは「/usr/bin」や「/sbin」にインストールされ、コマンドパスも通っています。デフォルトシェルに「bash」が指定されているため、Tabキーによる補完機能もほかのUNIXと同様に行えます。
Leopardのターミナル.appはマルチバイトの入力や表示も改善され、デフォルト設定でも十分日本語に対応しています。viやEmacsを使って日本語で文書を編集することも、日本語が使用されたファイル名をlsコマンドで表示することもできます(注4)。
画面1 「アプリケーション」→「ユーティリティ」フォルダから「ターミナル.app」を起動します |
画面2 Mac OS X 10.5 Leopardのデスクトップとターミナル.app。なお、ターミナルの表示色やフォントは、筆者の設定によるものです。ターミナルはタブモードを備えていますが、デモのため複数ウィンドウを表示させています |
注3:本稿ではGUIでもターミナル上の操作でも「ディレクトリ」ではなく、「フォルダ」で統一しています 注4:Mac OS X 10.4のlsコマンドで日本語でファイル名を表示させるには、「-v」オプションを付加する必要がありました。また日本語を入力するために環境変数を設定するなど、ターミナル.appのデフォルトでは日本語を扱うには多くの支障がありました |
またCUIコマンドだけでなく、X11アプリケーションのようなGUIも利用できます。X11アプリケーションは「/usr/X11/bin」にインストールされています(画面3)。
画面3 X11アプリケーションの起動 |
なお、Leopardのデフォルトインストールではrootアカウントが無効化されているため、rootでログインすることや、suコマンドでrootユーザーにスイッチすることはできません(注5)。ただし管理者として登録されたユーザーなら、sudoコマンドを使ってroot権限でコマンドを実行することができます。
Mac OS Xではユーザーを登録する際に、「管理者」「通常」「ペアレンタルコントロールで管理」「共有のみ」からユーザータイプを選択することができます。
注5:「sudo -s」でroot権限でシェルを実行することはできます |
AMP環境を整備する3つの方法
AMP環境に必要なApache、MySQL、PHPのうち、LeopardにはApacheとPHPがすでにインストールされています。MySQLを加えるだけでAMP環境を構築することができますが、設定ファイルの修正などにターミナル.appを使用する必要があり、多少UNIXに対する知識が必要になります。
インストール作業でもLeopardの優麗なGUIを生かすには、AMP環境を一括インストールするパッケージを利用します。こうしたパッケージにはサービスの起動や停止、設定の変更を支援するコントロールパネルも同梱されています。
今回は、Leopard標準環境にMySQLを追加する方法に加え、XAMPPとMAMPを使ったパッケージインストールも併せて紹介します。
ここで取り上げるインストール方法は次のとおりです。
・Leopard標準環境を生かし、MySQLだけ追加インストールする方法
Leopardの標準環境を有効に活用できます。「Software Update」を使ったApacheやPHPのアップデートも可能です。ただしコマンドライン操作を必要とし、3パターンの中ではインストール難易度が最も高くなります。
・XAMPPを使う方法
インストールから設定までGUIを使用することができ、インストールも比較的簡単です。PerlなどAMP以外の環境もインストールされるなど、規模の大きなパッケージです。Leopardへの負担も大きくなります。
・MAMPを使う方法
XAMPP同様、大半の操作やインストールをGUIで行うことができ、インストールも簡単です。パフォーマンスチューニングも考慮されていますが、パッケージの更新は1年ほど行われていません。
なお、ここで紹介するインストール方法では、セキュリティに対する考察や設定が不十分です。AMPパッケージの多くは開発用と割り切られているため、サーバとして常時稼働させるには不向きです。
ここからの作業は管理者として登録されたユーザーが作業を行うものとします。rootアカウントを直接使用せず、sudoコマンドを利用するようにしています。「$」はターミナル.app上のプロンプトを表しています。
1/4 |
Index | |
Mac OS XでAMP構築 | |
Page1 Aquaインターフェイスの後ろにUNIX UNIXとしての「Mac OS X」 AMP環境を整備する3つの方法 |
|
Page2 Leopard標準環境を生かし、MySQLを追加インストール |
|
Page3 MySQLのインストール |
|
Page4 XAMPPを使う方法 MAMPを使う方法 |
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をスムーズに切り替えるには? |
|
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
|
|