VMware Playerを使ったWeb開発環境(Apache MySQL PHP)の構築 Part2

このエントリーをはてなブックマークに追加

今回はUbuntu LinuxにApache, MySQL, PHPをインストールしてみます。

Apacheのインストール

Ubuntuではソフトをインストールする場合aptと呼ばれるソフトウェア管理ツールを使ってインストールするのが一般的です。aptを利用することでソフトのインストール、アンインストール作業が簡単に行えます

まずaptが管理するソフトウェア情報を最新のものにします

$ sudo apt-get update

次にApacheをインストールします

$ sudo apt-get install apache2

Apacheのインストール後、設定ファイルは/etc/apache2/以下に展開されます。
また、デフォルトの公開ディレクトリ(htmlファイルを配置する場所)は/var/www/以下になります。

次に、/etc/apache2/apache2.confにサーバー名を追加します。
サーバー名はUbuntuのインストール時に設定したovaldesign01.localを使用します。

apache2.confに追加するコード: ServerName ovaldesign01.local:80

$ sudo gedit /etc/apache2/apache2.conf

apache2.conf

# server as "/etc/apache2/foo.log".
#

ServerName ovaldesign01.local:80

### Section 1: Global Environment

apache2.conf編集後、apacheを再起動します

$ sudo /etc/init.d/apache2 restart

最後にブラウザからApacheにアクセスしてみます。下記のいずれかのアドレスでアクセスできます。

1.HTTP://IPアドレス/
2.HTTP://コンピュータ名/

It works!と表示されます。これでApacheのインストールは完了です。

MySQLのインストール

次にMySQLをインストールします。Apacheと同様にaptを使ってインストールします。

$ sudo apt-get install mysql-server

インストールの途中にmysqlのrootユーザー用のパスワードの設定を求められるので任意のパスワードを設定します。

インストール後、MySQLは自動で起動します。ターミナルから下記のコマンドでログインします。

$ mysql -u root -p

MySQLにログイン後、statusコマンドを使ってMySQLの構成を確認します。

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (i686) using readline 6.1

Connection id:		41
Current database:
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.1.49-1ubuntu8.1 (Ubuntu)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	latin1
Conn.  characterset:	latin1
UNIX socket:		/var/run/mysqld/mysqld.sock
Uptime:			8 min 57 sec

Threads: 1  Questions: 328  Slow queries: 0  Opens: 265  Flush tables: 1  Open tables: 23  Queries per second avg: 0.610
--------------

aptでmysqlをインストールした場合のデフォルトのキャラクタセットがlatin1になります。これをutf8に変更します。
コマンドラインからgeditを使って/etc/mysql/my.confを開き、[client]と[mysqld]の箇所に以下のコードを入力します。

$ sudo gedit /etc/mysql/my.conf

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

入力後、mysqlを再起動します。

$ sudo /etc/init.d/mysql restart

再度、statusコマンドでMySQLのキャラクタセットがutf8に変わっていることを確認します。

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (i686) using readline 6.1

Connection id:		34
Current database:
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.1.49-1ubuntu8.1 (Ubuntu)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/run/mysqld/mysqld.sock
Uptime:			10 sec

Threads: 1  Questions: 101  Slow queries: 0  Opens: 99  Flush tables: 1  Open tables: 23  Queries per second avg: 10.100
--------------

以上でMySQLのインストールは完了です。

PHPのインストール

PHPに関連するインストールパッケージはいろいろありますが
ここではPHPとMySQLのシステムを構築したいので
PHP本体とphp5-mysqlをインストールしました。

$ sudo apt-get install php5 php5-mysql
$ sudo /etc/init.d/apache2 restart

インストール後、PHPがApacheと連動しているか確認します。
/var/www/にinfo.phpというファイルを作成し、以下のコードを記述します。

$ cd /var/www/
$ sudo touch info.php
$ sudo gedit info.php

info.php

<?php
    phpinfo();
?>

info.phpを作成したらブラウザからアクセスします
http://ovaldesign01.local/info.php

インストール及び設定が正しく行われていれば下記のようなページが出力されます。

ローカルユーザー用の公開ディレクトリ(public_html)を作成

/var/www/以下のディレクトリはルート権限のパーミッション制限があり、sudoを実行しなければファイルを設置、編集できません。そこでローカルユーザーのホームディレクトリにpublic_htmlというディレクトリを作成し、そこにwebページをローカルネットワーク内で公開できるように設定します。

まず、Apacheに組み込まれている、「userdirモジュール]を有効にします。

$ sudo a2enmod userdir

次に、public_html以下でPHPが実行できるよう、php5.confファイルを設定します。
設定ファイル:/etc/apache2/mods-enabled/php5.conf

$ sudo gedit /etc/apache2/mods-enabled/php5.conf

	# php_admin_value engine Off  ←コメントアウトする

設定完了後、Apacheを再起動します。

$ sudo /etc/init.d/apache2 restart

ブラウザからのアクセスは下記のようになります。

http://IPアドレス/~ユーザー名/***.html

http://コンピュータ名/~ユーザー名/***.html

実際にinfo.phpというファイルを設置して確認してみます。
info.phpは「PHPのインストール」で作成したコードと同じものです。

$ pwd
/home/masa
$ mkdir public_html
$ cd public_html
$ touch info.php
$ gedit info.php

[Next] VMware Playerを使ったWeb開発環境(Apache MySQL PHP)の構築 Part3
[Prev] VMware Playerを使ったWeb開発環境(Apache MySQL PHP)の構築 Part1


コメントは受け付けていません。