今から始める MySQL入門(1)
MySQL+Apache+PHPをインストールしよう
鶴長 鎮一(book@tsurunaga.jp)
2007/1/27
本連載は、これからWebアプリケーション開発を習得しようとする方や本格的なプログラミング経験の少ない方を対象にしています。連載途中から始まるサンプルWebアプリケーション(簡単なショッピングサイト)開発を進めていきながら、基本事項や注意点などについて詳しく解説していきます。
連載第1回目では、MySQL+PHP+Apacheのインストールと動作確認までを解説します。
| 関連リンク: | |
| 連載 快速MySQLでデータベースアプリ! http://www.atmarkit.co.jp/flinux/index/indexfiles/mysqlindex.html |
|
PHPとMySQL
はじめに、PHP(Personal Home Page tool)について簡単に紹介します(注)。ご存じのように、PHPはWebアプリケーションの定番として定着しています。また、Strutsのような大規模開発向けフレームワークがもてはやされる一方で、PHPをはじめPerlやRuby、Pythonといったスクリプト系言語に代表される「Lightweight Language」が手軽さと機能の豊富さから近年再注目されています。特にDBやWebとの相性がいいPHPは、初歩的なWebアプリケーションから本格的な用途まで幅広く利用されています。
| 注:快速MySQLでデータベースアプリ! 第5回 PHPで実用アプリケーションを作ろう(前編)でPHP4までの歴史を紹介していますので、ここではそれ以降の動きについて説明します。 |
PHP 4.1まではおおむね順調にリリースされていたのですが、PHP 4.2で「register_globals問題」が大きく取りざたされました(コラム1)。ちなみに、快速MySQLでデータベースアプリ!の第5、6回で紹介しているPHPサンプルもこの被害を受けています。こうした混乱の後に発表されたのが、PHP 5.0です。PHP 5.0にはZend Engine 2.0が採用され、オブジェクト指向やWebサービス機能を強めるなど時勢が強く反映されています。
また、現在ではMySQL、PostgreSQL、Oracle、Microsoft SQL Serverなど対応するDBMSも多くなり、PHP 5.0においては軽量データベースSQLiteをアプリケーションに組み込むことができます。特にMySQLに関しては、PHP/FIのころからかかわりが深く、MySQL 4.1で可能になったトランザクション機能にも拡張ライブラリでいち早く対応しています(コラム2)。
| ▼コラム1 register_globals問題 |
| 「register_globals問題」とは、セキュリティ上の観点からPHPの動作設定項目の1つ「register_globals」のデフォルト値を「On(PHP 4.1まで)」から「Off(PHP 4.2以降)」に変更したことによる一連のトラブルを指します。デフォルト値が変更になったためコードの互換性が損なわれ、意図的に「register_globals=On」とするか、コードの修正が必要になりました。 |
| ▼コラム2 MySQLネイティブライブラリと抽象化ライブラリ |
| PHPは、MySQLネイティブAPI以外にもPEAR::DBやPDO(PHP Database Object)といった抽象化レイヤを使用できます。抽象化レイヤを利用することでDBMS製品による機能差をAPIで吸収し、DBMSに依存するコードを極力排除できます。その一方「多くの抽象化レイヤが存在する」「パフォーマンスで劣る場合がある」などの点を考慮して、本連載では普遍的な操作が可能なMySQLネイティブAPIを使って解説します。 |
| 関連リンク: | |
| PHP4で作るWeb-DBシステム http://www.atmarkit.co.jp/flinux/php4/php4_1/php1.html |
|
| オブジェクト指向言語に生まれ変わるPHP5[前編] http://www.atmarkit.co.jp/flinux/special/php5/php5a.html |
|
| オブジェクト指向言語に生まれ変わるPHP5[後編] http://www.atmarkit.co.jp/flinux/special/php5/php5c.html |
|
ソフトウェア構成とバージョン
多くのディストリビューションではApache、MySQL、PHPをほぼ標準で用意しています。こうした構成は「LAMP(Linux+Apache+MySQL+PHP)」といわれ、高い人気を集めています。また、最近では「LAPP(Linux+Apache+PostgreSQL+PHP)」のような組み合わせも見られます。ちなみに、Windows環境でもXAMPPを利用すれば、各ソフトウェアを一括でインストールできます。
表1に、本連載で使用するソフトウェア構成を示します(注)。
| Linuxプラットフォーム | Fedora Core 6(以下、FC6) |
| DBMS | MySQL 5.0 |
| httpdデーモン | PHP 5.1を組み込んだApache HTTPD 2.2 |
| 注:本連載では、すべてのサービスを1台のサーバにインストールしています。また、インストールに関しては極力提供されているRPMパッケージを利用しています。 |
インストールと設定(1)
インストールは1.MySQL、2.Apache、3.PHPの順で行います(注)。また、以降の作業はすべてrootユーザーで行ってください。ちなみに、Fedora Core以外のディストリビューションでも利用できるようにバイナリアーカイブやソースファイルからのインストールについてもコラム形式で紹介していきます。
| 注:Apache、PHPをインストールする際に、MySQLのパッケージに含まれるクライアントライブラリが必要になるので、この順番でインストールしてください。 |
■MySQLのインストール
MySQLとは、MySQL ABが開発・サポートするGPLなリレーショナルデータベース管理システム(RDBMS)です。MySQL 4.1で採用されたトランザクションに加えて、MySQL 5.0以降ではビューやストアドプロシージャが使用できるようになり、従来の高速動作に加えエンタープライズ色がさらに強調されています。
MySQLをインストールする前に、念のためMySQLがインストール済みかどうかをrpmコマンドで確認します。
# rpm -qa mysql* |
MySQLの新規インストールや関連パッケージの追加インストールは、以下のようにyumコマンドで実行します。
# yum install mysql* |
サービスの起動/停止は、以下のようにinitスクリプトを利用します。
# /etc/init.d/mysql start |
# /etc/init.d/mysql stop |
MySQL ABが提供しているRPMファイルやtarバイナリアーカイブからインストールする場合は コラム3、4を参考にしてください。
| ▼コラム3 MySQL ABのRPMパッケージをインストールするには | ||||||||||||
RPMファイルは、MySQL ABのWebサイトhttp://dev.mysql.com/downloads/mysql/5.0.html#downloadsにあります。CPUタイプ、ディストリビューションなど自分の環境に合ったものをダウンロードしてください(注)。また、必要なファイルは単一ではないので、表2を参考に、それぞれ取得してください。
各RPMファイルが用意できたら、rpmコマンドに「-ivh」オプションを指定してそれぞれインストールします(注)。ちなみに「-i」はインストールの実行、「-v」はインストール過程の詳細情報を表示、「-h」はインストールの進行状況を出力します。
|
| ▼コラム4 MySQL ABのtar.gzバイナリアーカイブをインストールするには | ||||||||
| 各プラットフォームに合わせて最適化されたビルド済みtar.gzバイナリアーカイブファイルが、MySQL ABから提供されており、RPMを利用できないディストリビューションでもインストールできます。
tar.gzバイナリアーカイブは、http://dev.mysql.com/downloads/mysql/5.0.html#downloadsにある「Linux (non RPM packages) downloads」からダウンロードできます。CPUタイプやglibcのバージョンなど自分の環境に合ったものを選択してください。
ダウンロードしたら、下記の手順でインストールします。
|
| 関連リンク: | |
| MySQL AB http://www.mysql.com/ |
|
| エンタープライズ市場に向かうMySQL 5.0[前編] http://www.atmarkit.co.jp/flinux/special/mysql5/mysql5a.html |
|
| エンタープライズ市場に向かうMySQL 5.0[後編] http://www.atmarkit.co.jp/flinux/special/mysql5/mysql5d.html |
|
|
1/3 |
|
||||||
|
||||||
| 連載 今から始める MySQL入門 |
| Linux Squareフォーラム データベース関連記事 |
| 連載:快速MySQLでデータベースアプリ!(全11回) 軽快な動作で知られるRDBMS、MySQLでDBアプリの構築を行う。MySQLのインストールに始まり、PerlやRubyなどのスクリプトでデータベースを操作する方法までを完全解説 |
|
| 連載:今から始める MySQL入門(連載中) 定番のLAMP(Linux+Apache+MySQL+PHP)構成でWebアプリケーション開発に挑戦! サンプルアプリの構築を進めながら、基礎知識や操作方法について詳しく解説する |
|
| 連載:Oracleマイスター養成講座(全6回) 本連載では、Oracleの管理・チューニング方法を紹介していく。これからOracleを始める人、そしてOracleをより深く理解したい人のための、一歩踏み込んだ実用講座 |
|
| 連載:DB2マイスター養成講座(全7回) 本連載では、DB2 UDBの実践的な運用・管理方法を紹介していく。DB2を利用するうえで必要な知識を、実運用を前提にDB2のプロが解説 |
|
| 特集:エンタープライズ市場に向かうMySQL
5.0[前編] MySQL 5.0の新機能をアルファ版でチェック 1月に公開された5.0アルファ版は大幅に拡張されており、エンタープライズ市場への進出を予感させる |
|
| 特集:Linuxで動くリレーショナルデータベース・カタログ データベースサーバのOSとしてLinuxを採用するケースが増えている。Linuxで動作する7つの主なリレーショナルデータベースを紹介する。製品導入の際の参考にしてほしい |
|
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
