PHP+MySQL なプログラミングをしてみんとす。
最終的にはレンタルサーバーを借りてそこで PHP スクリプトを動かすのだが、最初からサーバー上でプログラムを動かしながら開発するのは効率が悪いので、ローカル環境に PHP+SQL サーバーを立てたい。なるべくお手軽に。ちなみに、Linux、Apache、MySQL、PHP を合わせて LAMP と呼ぶそうだ(PHPMyAdmin も合わせると LAMPP)。
Windows 環境に PHP をインストールするのは何かとトラブルがおきそうなので、仮想マシン上(VMWare)に Linux をインストールしてサーバーを立て、ネットワークでつなぐことにした。
Linux は Ubuntu 11.04 をチョイス。CentOS も評判だが、Ubuntu の方が手軽らしい。Ubuntu はサーバー版というのがあるが、これは本格的にサーバーを立てる人向けで、GUI すら無い玄人向け。なので Ubuntu のデスクトップ版をチョイス。
VMWare の仮想マシン設定は、HDD 15GB、メモリ 512MB、ネットワークアダプタはブリッジ。仮想マシン名は「LAMP-VM」にしておいた。
CD から Ubuntu を起動してインストール。キーボードレイアウトは OADG 109A を選択。インストール後の初回起動時に「It seems that~」のエラーメッセージが表示されるが、特に問題なく起動できる。
利便性のため、Ubuntu のデスクトップにアイコンを作成。[Ubuntu メニュー⇒アプリケーション⇒アクセサリ⇒端末]で右クリックし、「このランチャをデスクトップへ追加」を選択。また、エクスプローラー(Ubuntu では nautilus と言う)で /usr/bin を開き、nautilus のアイコンをデスクトップにドラッグ&ドロップ、マウスを離す際に Alt キーを押して「ここへリンクを作る」を選択。
続いてサーバー類のインストール。端末上で
Apache(Apache 2)が表示するドキュメントは /var/www にあるが、ここのファイルは root 権限でしか編集できない。これでは不便なので、
テキストエディタ(gedit)を起動し、/var/www 内に、test.php というファイル名で
続いて、/var/www に Windows ファイル共有でアクセスできるようにする。まず、仮想マシンに固定 IP アドレスを割り当てる。[Ubuntu メニュー⇒システム⇒設定⇒ネットワーク接続]を開き、「有線」タブの Auto eth0 を編集する。方式を「手動」にして、固定 IP アドレスを割り振る。ネットマスクは「24」にする。
nautilus(エクスプローラー)上で /var/www を右クリックして「共有のオプション」を選び、フォルダを共有しようとすると、「共有サービスがインストールされていません」と怒られるので、「サービスのインストール」を実行。
/etc/samba/smb.conf を gedit で開き、[global] セクション内に
また、この時点で、Windows 側からブラウザ経由でもドキュメントを表示できるようになっている。Windows 側のブラウザで、仮想マシンに割り振った IP アドレスにアクセスすると、Ubuntu 上で localhost にアクセスした時と同じドキュメントが表示される。
MySQL が動作しているかどうかは、次のスクリプトを作成・閲覧すれば良い。
最終的にはレンタルサーバーを借りてそこで PHP スクリプトを動かすのだが、最初からサーバー上でプログラムを動かしながら開発するのは効率が悪いので、ローカル環境に PHP+SQL サーバーを立てたい。なるべくお手軽に。ちなみに、Linux、Apache、MySQL、PHP を合わせて LAMP と呼ぶそうだ(PHPMyAdmin も合わせると LAMPP)。
Windows 環境に PHP をインストールするのは何かとトラブルがおきそうなので、仮想マシン上(VMWare)に Linux をインストールしてサーバーを立て、ネットワークでつなぐことにした。
Linux は Ubuntu 11.04 をチョイス。CentOS も評判だが、Ubuntu の方が手軽らしい。Ubuntu はサーバー版というのがあるが、これは本格的にサーバーを立てる人向けで、GUI すら無い玄人向け。なので Ubuntu のデスクトップ版をチョイス。
VMWare の仮想マシン設定は、HDD 15GB、メモリ 512MB、ネットワークアダプタはブリッジ。仮想マシン名は「LAMP-VM」にしておいた。
CD から Ubuntu を起動してインストール。キーボードレイアウトは OADG 109A を選択。インストール後の初回起動時に「It seems that~」のエラーメッセージが表示されるが、特に問題なく起動できる。
利便性のため、Ubuntu のデスクトップにアイコンを作成。[Ubuntu メニュー⇒アプリケーション⇒アクセサリ⇒端末]で右クリックし、「このランチャをデスクトップへ追加」を選択。また、エクスプローラー(Ubuntu では nautilus と言う)で /usr/bin を開き、nautilus のアイコンをデスクトップにドラッグ&ドロップ、マウスを離す際に Alt キーを押して「ここへリンクを作る」を選択。
続いてサーバー類のインストール。端末上で
sudo apt-get install apache2 php5 php5-gd mysql-server php5-mysql phpmyadminと入力。HTTP サーバーの選択画面では Apache を選択(スペースキーを押す)。「phpmyadmin のデータベースを dbconfig-common で設定しますか?」の問いには「はい」で回答。パスワードの設定を何回か求められるので設定する。インストール後、ブラウザで localhost にアクセスしてインストールの成功を確認する。
Apache(Apache 2)が表示するドキュメントは /var/www にあるが、ここのファイルは root 権限でしか編集できない。これでは不便なので、
sudo chmod -R 777 /var/wwwとして、一般ユーザーでも編集できるようにする。あくまでも開発環境で、インターネットに公開する訳では無いので(ネット越しの仮想マシンへのアクセスはルーターで遮断する)、セキュリティは気にしない。
テキストエディタ(gedit)を起動し、/var/www 内に、test.php というファイル名で
<?php print_r (phpinfo()); ?>という内容のファイルを保存する。ブラウザで localhost/test.php にアクセスし、PHP が動作していることを確認する。
続いて、/var/www に Windows ファイル共有でアクセスできるようにする。まず、仮想マシンに固定 IP アドレスを割り当てる。[Ubuntu メニュー⇒システム⇒設定⇒ネットワーク接続]を開き、「有線」タブの Auto eth0 を編集する。方式を「手動」にして、固定 IP アドレスを割り振る。ネットマスクは「24」にする。
nautilus(エクスプローラー)上で /var/www を右クリックして「共有のオプション」を選び、フォルダを共有しようとすると、「共有サービスがインストールされていません」と怒られるので、「サービスのインストール」を実行。
/etc/samba/smb.conf を gedit で開き、[global] セクション内に
usershare owner only = falseの一文を追加する。再び nautilus で /var/www を共有しようとすると、今度は共有できる。これで、Windows 側から /var/www にアクセスできるようになったので、使い慣れた Windows アプリで HTML/PHP ファイルを作成できる。Windows のエクスプローラーで、ネットワーク⇒仮想マシン名(LAMP-VM)⇒www でドキュメントにアクセスできる。
また、この時点で、Windows 側からブラウザ経由でもドキュメントを表示できるようになっている。Windows 側のブラウザで、仮想マシンに割り振った IP アドレスにアクセスすると、Ubuntu 上で localhost にアクセスした時と同じドキュメントが表示される。
MySQL が動作しているかどうかは、次のスクリプトを作成・閲覧すれば良い。
<?php以上により、仮想マシンを起動しておけば、Windows 上で HTML/PHP ファイルの作成と閲覧、MySQL データベースの利用ができるようになった。
mysqli_connect("localhost","root",[インストール時に指定したパスワード]) or die("Error");
echo "Success";
?>