Webアプリケーションの開発でよく使われる(私も仕事で使っている)、Linux + Apache + MySQL + Perl, Python, PHPの組み合わせ、いわゆるLAMP環境を、MacBook Airに構築します。


1. Linux(Ubuntu)


前回VirtualBoxを利用したUbuntuの利用方法は書いたので、説明は省きます。まず、OSであるLinux(Ubuntu)を起動します。


2.  Apache HTTP Server

サーバーソフトのApache HTTP Serverは、Ubuntuにデフォルトで入っています。また、通常であれば、Ubuntuの起動と同時にApacheも起動するようになっています。起動していることを確認するには、ブラウザーのURLに「http://localhost/」と入力します。「It works!」と表示されれば、Apacheが正常に動作しています。


3. MySQL

MySQLとは、SQLという言語を利用するデータベースソフトウェアです。MySQLのインストールは、Windowsだと結構めんどくさい。しかし、Ubuntuなら、端末で「sudo apt-get install mysql-server」と唱えるだけです。途中で、データベースのパスワードの設定を求められます。(phpMyAdminも同様に、sudo apt-get install phpmyadminでインストールできます)

「端末」とは、Macにおける「ターミナル」にあたるソフトウェアで、対話型インターフェース(コマンドライン)でコンピューターの操作を行うことができます。端末に向かって「おまじない」を唱えると、コンピューターがそれに従って処理を進めてくれるのです。初めはとっつきにくく感じると思いますが、慣れれば非常に便利であることに気づくはずです。

コマンドについて解説すると、「sudo」とは、管理者としてこのコマンドを実行します、という意味で、sudoコマンドを実行すると、Ubuntuセットアップ時に設定したパスワードの入力が求められます。アプリケーションのインストール等の、管理者しか実行できない操作を行うときに使用します。

「apt-get」はパッケージを取得してダウンロードするコマンド、installでインストール、mysql-serverがインストール対象です。これらのコマンドは、UNIXコマンドと呼ばれ、Mac OSのターミナルでも同様のコマンドが使えます(ただし、apt-getのようなLinux特有のコマンドもあります)。

インストールが終わったら、端末で「mysql -uユーザー名 -pパスワード」と入力します。-u及び-pの後ろには空白を入れません。パスワードを設定していない場合、-p以降は不要です。

MySQLが起動して、操作可能になります。「SHOW DATABASES;」というクエリを実行してみると、information_schemaとtestという2つのデータベースが存在していることが分かります。

36


4. Perl, Python, PHP

これら3つの言語は、Ubuntu 12.04には最初から入っています。
Perl, Pythonは最初から入っています。PHPは、「sudo apt-get install php5」でインストールできます。

インストールされているか確認するためには、端末で「php -v」と入力してやります。インストールされていれば、「PHP 5.3.10...」といったバージョン情報が表示されます。perlも同様。pythonは「python -V」(Vは大文字)と入力します。


5. アクセス権の変更

Apache HTTP Serverのルートフォルダは、デフォルトでは/var/wwwになっています。したがって、ここにphpファイルを置けば、phpを実行可能になる、のですが、デフォルトでは/wwwフォルダには書き込みが禁止されているため、ファイルを新しく入れたり作ったりすることができません。

phpを実行できるようにするためには、「apacheの設定を書き換えてルートフォルダを変更する」「/var/wwwのアクセス権を変更する」の2つの方法がありますが、今回はアクセス権を変更してみます。

アクセス権の変更には、「所有者を変更する」「パーミッションを変更する」の2種類のやり方があります。右クリックメニューの「プロパティ」からでは変更できないので、端末を利用する必要があります。

所有者を変更するコマンドは「sudo chown -R user /var/www/」。chownはchange owner、すなわち所有者変更。-Rで/www/フォルダ内の全てのファイルの所有者を変更します。userの部分にはユーザー名を入れてください。

アクセス権を変更するコマンドは「sudo chmod -R 775 /var/www」。chmodでアクセス権変更、775はアクセス権の内容で、775は「管理者と所有者は読み書き実行が可能、それ以外のユーザーは読みと実行は可能だが書きは不可」という状態です。

所有者の変更とアクセス権の変更は、どちらか片方でもOKです。

/var/wwwに書き込みできるようになったら、適当なプログラムでphpの実行テストをします。

19

これで、LAMP環境を構築することができました。インストールが必要なのはMySQLだけでしたね。


7. PHPの設定・PHP+MySQL

ここからはPHP特有の話になります。現在、PHP5とMySQLのインストールが完了しましたが、まだPHP5とMySQLが連携できるようにはなっていません(のハズ…)。「sudo apt-get install php5-mysql」でPHP5とMySQLを連携させるパッケージをインストールします。

また、PHPはデフォルトではエラーメッセージを出さない設定になっているので、「sudo gedit /etc/php5/apache2/php.ini」を実行します。これは、geditというテキストエディタでphp.iniというPHPの設定ファイルを編集するコマンドです。

php.iniを開いたら、ctrl + Fで検索をかけ、「display_errors = Off」という文字列を見つけます。これを、「display_errors = On」に書き換えてやれば、エラーメッセージが表示されるようになります。なお、設定を反映させるにはapacheの再起動が必要です(sudo service apache2 restart)。

ひと通り設定が終わったら、MySQLデータベースにテスト用のテーブルを作成し、PHPでそのテーブルの中身を呼び出すプログラムを書いてみます。

22


以上で、LAMP環境構築は一旦終了です。VirtualBoxを利用すれば簡単に仮想OS環境を構築できますし、UbuntuにはApacheや様々なプログラミング言語が最初からインストールされているので、開発環境の構築は比較的容易だと思います。