ホーム < ゲームつくろー! < IKD備忘録

サーバ
Apacheの起動とPHPのテスト


 ApacheはWebサーバを構築するためのソフトウェアの一つです。どこぞの誰かが「ホームページ見たいんですけど」とWebサーバに要求すると、Apacheがその要求を解釈して適切なホームページを送信してくれます。一方PHPはプログラム言語のひとつで、Webアプリケーションを作るのに特化しています。…すいません、知ったかぶりです(^-^;

 UbuntuにApacheとPHPを入れました。こうなるとPHPを動かしたくなります。その方法を調べていきます。


@ そもそもApache入ってるのかな?

 自動的にインストールされたApache。それは本当にちゃんと入っているのか?それを調べるにはApacheのバージョンチェックをするのが簡単そうです。端末から、
 

apache2 -v

コマンドを入れると、

Server version: Apache/2 2.22 (Ubuntu)
Server built:   Feb 13 2012 01:37:27

と現在のApacheのバージョン情報と入れた時の時間が返ります。直接的には端末を起動して、

cd ~
cd /etc/apache2

とするとapache2のインストールフォルダに移動できます。最初の「cd ~」というのはカレントディレクトリをルート(一番最初)に戻すコマンドです。cdはカレントディレクトリを変更するコマンドです。こういうの、一つ一つ覚えていくのですよ(^-^)。

 インストールしただけではApacheはし〜んとしています。Apacheは起動する必要があるんです。起動には、

sudo /etc/init.d/apache2 start

とコマンドを入れます。ぽちっとな:

apache2: bad user name ${APACHE_RUN_USER}

 ほへ?なぜか駄目と言われました。調べてみます…。なるほど、Apacheのコンフィグ設定ファイルであるapache2.confにユーザ名とグループ名を登録しないといけないようです。じゃぁテキストエディタでapache.confを開いて…て、Ubuntuのテキストエディタって?あ、geditというのがデフォルトで入っているようです。今はこれでいいです。

 apache2.confをgeditで開き、USERとGROUPという文字列を検索すると上の記述な部分がありますので、変更してセーブ…、ん?変更してセーブ!…出来ん!なぜじゃ!調べます!!…なるほど「管理者権限」で開かないといけないそうです。で、その方法ですが、端末から、

sudo gedit /etc/apache2/apache2.conf

とsudoを付けてgeditにファイル名を渡すと良いようです。んー、ちょっとめんどくさい。とりあえずこれで管理者権限でエディタ上にconfファイルが開くので、UserとGroupにユーザ名とグループ名を入れます。さて改めて先程のstartコマンドを入れます:

ん〜〜まぁ何か警告は出ていますが、少なくともApache自体は起動したようです。停止させるには、

sudo /etc/init.d/apache2 stop

で止まるようです。

 Apacheを起動する前、ブラウザで「localhost」とURLを打ち込んで開いてみます。すると、

と接続出来ていない旨の表示が出ます。ここでApacheを起動して再度localhostを開いてみると…:

It works !(動いているよ〜)というページがちゃんと開きました!明らかにApache君が作用してくれているようです。


A PHPでなんかする

 Apacheが動いたのを確認したので、次はPHPで何かしてみます。…どうするか直ぐわからなくなるのが、初学の厳しい所ですね。調べます(T_T)。

 テストするくらいであればPHPファイルとして、

test.php
<?php
phpinfo();
?>

というテキストファイルを作れば良いようです。で…、で?これをどうするのかな?ん〜〜と、あ、/var/wwwフォルダに放り込むと良いとあります。んじゃ、ドラッグ…コピーできねぇ:

のー!んではtest.phpをデスクトップに置いて、端末から管理者権限sudoで、

cd ~
sudo /デスクトップ/test.php /var/www/

と管理者権限でコピーします。…できた(^-^)

 さて、ではブラウザから「localhost/test.php」とURLを打ってみます:

でた〜〜〜!PHPの情報表示です。test.phpの中で指定した「phpinfo()」という関数が作ってくれたHTMLです(^-^)。apacheがPHPのスクリプトを解釈して表示したんです(^-^)v.。これでApache〜PHPのラインの基礎ができました。