今から始める 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ジャパン)
- natテーブルを利用したLinuxルータの作成・2 (2010/3/11)
IPパケットのディスティネーションアドレスを書き換える「DNAT」を使って、透過型プロキシを構築します - 一歩進んだ監視のカスタマイズ (2010/3/3)
スクリプトの実行結果などを取得できるユーザーパラメータを用いて、自分のニーズにぴったり合った監視を実現 - OSSライセンス順守の第一歩 (2010/2/18)
企業として、OSSライセンス違反を犯さないためには、どのような手順が必要か、いくつかアドバイスします - 無視できないフラグメンテーション問題への解答は? (2010/2/10)
今回は、メモリコンパクション、そしてメモリバリアを発行するシステムコールという2つのパッチについて深く紹介します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜Java編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |






