NCSA httpd 1.3をベースに、1995年に開発が始まったWebサーバ。フリーソフトウェアとして無償で公開され、世界中のボランティアのプログラマたちの手によって開発された。Apacheはもともと、NCSA httpdの細かいバグを修正したり新しい機能を追加するためのパッチ(patch)の寄せ集めとして開発されていたため、この名称がついた。現在のApacheは単独で動作するWebサーバとなっており、世界で最も使われているWebサーバとなっている。
動的にWebページを生成するWebサーバの拡張機能の一つ。また、そこで使われるスクリプト言語。レイアウトの「雛形」となるHTMLファイル内に、処理内容を記述したスクリプトを埋め込み、処理結果に応じて動的に文書を生成し、送出することができる。正式名称の「PHP: Hypertext Preprocessor」にもあるように、動的に生成されるページの作成に向いている。また、XMLのサポートや各種データベースとの連携に優れている点などから近年普及しつつある。プログラムの表記法はC言語、Java、Perlの各言語から転用したものがベースとなっているが、PHP独自のものもある。言語仕様やプログラムはオープンソースソフトウェアとして無償で入手することができる。
postgresでシステムにログインする。
# rpm -qa | grep apache (現在インストールされているWebサーバのバージョンの確認) apache-1.3.31-0v12 (現在のバージョンが表示) # rpm -qa | grep php (現在インストールされているPHPのバージョンの確認) インストールされていないので、出力なし。 # sudo apt-get remove apache (古いバージョンのapacheを削除する) パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージが削除されます: apache mod_ssl アップグレード: 0 個, 新規インストール: 0 個, 削除: 2 個, 保留: 37 個 0B のアーカイブを取得する必要があります。 展開後に 2583kB が解放されます。 継続しますか?[Y/n] Y (Yを入力して削除)
# sudo mkdir /usr/local/web (このディレクトリ以下にApache とPHPをインストールする)
# cd (postgresのホームに戻る) # cd src # wget http://sunsite.tus.ac.jp/pub/apache/httpd/httpd-2.0.55.tar.gz # ls httpd-2.0.55.tar.gz postgresql-8.0.4/ postgresql-8.0.4.tar.gz (これを見ればダウンロードが成功) # tar zxvf httpd-2.0.55.tar.gz (ソースを解凍する) # ls (解凍されたパッケージを確認する) httpd-2.0.55/ httpd-2.0.55.tar.gz postgresql-8.0.4/ postgresql-8.0.4.tar.gz
# cd httpd-2.0.55 # ls ABOUT_APACHE LICENCE acconfig.h configure.in server ..........以下の処理では、メッセージが多く出る。それと、数分間がかかるかもしれない。
# ./configure --prefix=/usr/local/web/httpd-2.0.55 --enable-mods-shared=most --sysconfdir=/etc/httpd/conf # make (コパイル開始) # sudo make install (インストールの開始) # cd /usr/local/web (インストールが成功したかを確認) # ls http-2.0.55 (httpd-2.0.55が表示されればよい) #sudo ln -s httpd-2.0.55 httpd (バージョン間切り替えのためシンボルリンクを貼る)
# sudo apt-get install flex # sudo apt-get install libxml2-devel
# cd ~/src # wget http://jp2.php.net/get/php-5.0.5.tar.gz/from/jp.php.net/mirror
# lsphp-5.0.5.tar.gz
# tar zxvf php-5.0.5.tar.gz # ls httpd-2.0.55/ php-5.0.5/ postgresql-8.0.4/ httpd-2.0.55.tar.gz php-5.0.5.tar.gz postgresql-8.0.4.tar.gz
# cd php-5.0.5 # ls CONDING_STANDARDS TODO.BUILDv5 .............. CREDITS ...... ......... # ./configure --prefix=/usr/local/web/php-5.0.5 --enable-mbstring --with-pgsql=/u01/app/postgresql/product/current --with-apxs2=/usr/local/web/httpd/bin/apxs --with-config-file-path=/etc # make # sudo make install # cd /usr/local/web # ls php-5.0.5/ httpd-2.0.55 httpd #sudo ln -s php-5.0.5 php (バージョン間切り替えのためのシンボルリンクを貼る)
以上でサーバ自体のインストールが完了。
$sudo vi /etc/profile //以下の内容を最後のところに追加する PATH=/usr/local/web/httpd/bin:/usr/local/web/php/bin:$PATH export PATH $source /etc/profile $which apachectl /usr/local/web/httpd/bin/apachectl //左記が表示されるならOK
$sudo mkdir /data/www/html $sudo mkdir /data/www/cgi-bin $cd /etc/httpd/conf $sudo vi httpd.conf (以下の項目を見つけて編集を加える) ServerRoot "/usr/local/web/httpd" PidFile /var/run/httpd.pid User nobody Group nobody ServerName klab-?.is.kyusan-u.ac.jp (各チームのサーバ名) DocumentRoot "/data/www/html" CustomLog /var/log/httpd/access_log common ServerTokens Minimal ScriptAlias /cgi-bin/ "/data/www/cgi-bin/" #AddDefaultCharset ISO-8859-1 (日本語文字化けを防ぐためこの行を#でコメントアウト) ・・・・・ AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps #cd /data/wwww/html #sudo vi phpinfo.php (以下の内容のファイルを作成する) <?php phpinfo(); ?> #apachectl start (Webサーバ起動)
ブラウザから作成したページにアクセスしてみる http://klab-?.is.kyusan-u.ac.jp/phpinfo.php php及びwebサーバに関する情報がでればよい
$sudo cp ~postgres/src/php-5.0.5/php.ini-dist /etc/php.ini $sudo vi /etc/php.ini ([mbstring]セッション以下に次の内容の通りに編集) mbstring.language = Japanese mbstring.internal_encoding = EUC_JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none mbstring.func_overload = 0 display_errors = on (phpのエラーを表示させる)
$apachectl stop $apachectl start
http://klab-?.is.kyusan-u.ac.jp/phpinfo.php にアクセスし、mbstringの部分を確認