Apache1.3.9 + PHP3.0.12
+ OpenSSL0.9.4 + Apache-SSL0.9.4 インストール
HTTPD Installation
Last modified : 2000/03/24

1.必要ツール&環境

・PHPで使用するデータベースソフト(PostgreSQL)がインストールされている
・Apache、PHP、OpenSSLともにソースファイルが必要
・認証用のSSLery 又は OpenSSLが必要

2.ユーザ追加、フォルダ作成(rootで)

なし

3.ソース入手

Apache     http://www.apache.org/dist/          apache_1.3.9.tar.gz 
Apache-SSL http://www.apache-ssl.org/           apache_1.3.9+ssl_1.37.tar.gz 
PHP        ftp://ftp.happysize.co.jp/php-ja-jp/ php-3.0.12jp-beta4.tar.gz 
OpenSSL    ftp://ftp.openssl.org/source/        openssl-0.9.4.tar.gz 

ダウンロード先 --- /usr/local/src

4.ソース展開

ダウンロードしたソースがあるフォルダで行います。

  # cd /usr/local/src
  # tar zxvf apache_1.3.9.tar.gz
  # cd apache_1.3.9
  # tar zxvf ../apache_1.3.9+ssl_1.37.tar.gz

  # cd /usr/local/src
  # tar zxvf php-3.0.12jp-beta4.tar.gz
  # tar zxvf openssl-0.9.4.tar.gz

5.Configure、Make & Make Install

OpenSSLソースをConfigure、makeします(インストール方法は、openssl-0.9.4/INSTALLに記述) 

  $ cd openssl-0.9.4
  $ ./config --openssldir=/usr/local/openssl
  $ make clean ← 前に作成した際のゴミを削除
  $ make ← オブジェクト生成 
  $ make test ← 自己テスト
  # make install ← インストール

パス追加 --- /usr/local/openssl/bin 

Apache(オリジナル)をSSL化するためのパッチを適用します。

# cd /usr/local/src/apache_1.3.9
# ./FixPatch

ApacheソースをConfigureします。ここでのConfigureは仮の物で、後でもう一度Configureします

# ./configure --prefix=/usr/local/www

次にPHPソースをConfigure、make、make installします。

# cd /usr/local/src/php-3.0.12jp-beta4
# ./configure --with-pgsql --with-apache=../apache_1.3.9 --enable-track-vars
# make
# make install

make installで/home/postgres/tmp/apache_1.3.9/src/modules/php3というフォルダ作られます。
Apacheのインストールでは、このモジュール群を組み込みます。

次にApacheインストールの前に、環境変数「LD_LIBRARY_PATH」を設定します。

# export LD_LIBRARY_PATH=/usr/local/pgsql/lib

次にApacheソースをConfigure、make、make installします。

# cd /usr/local/src/apache_1.3.9
# ./configure --prefix=/usr/local/www --activate-module=src/modules/php3/libphp3.a
# make
# make install

+---------------------------------------------------------
| You now have successfully built and installed the
| Apache 1.3 HTTP server. To verify that Apache actually
| ... 

と表示されてばインストールはとりあえず成功です。

6.Apacheサーバ証明書の生成(仮)

Apacheソースツリーのsrcディレクトリでで行います。

# cd /usr/local/src/apache_1.3.9/src
# make certificate
/usr/local/src/openssl-0.9.4/apps/openssl req -config ../SSLconf/conf/ssleay.cnf  -new -x509 -nodes
 -out ../SSLconf/conf/httpsd.pem  -keyout ../SSLconf /conf/httpsd.pem;
ln -sf httpsd.pem ../SSLconf/conf/`/usr/local/src/openssl-0.9.4/apps/openssl  x509 -noout -hash
 < ../SSLconf/conf/httpsd.pem`.0
Using configuration from ../SSLconf/conf/ssleay.cnf
Generating a 1024 bit RSA private key
....................................................................+++++
..................+++++
writing new private key to '../SSLconf/conf/httpsd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Shinagawa
Organization Name (eg, company; recommended) []:XXX
Organizational Unit Name (eg, section) []:System
server name (eg. ssl.domain.tld; required!!!) []:event2.xxx.co.jp
Email Address []:supp-ev2@xxx.co.jp

この処理を行うと、/usr/local/src/apache_1.3.9/SSLconf/confディレクトリにファイル
httpsd.pemが作られ、生成されたサーバ証明書が格納される。このディレクトリには、証明書の
ハッシュ値をファイル名とするシンボリック・リンクも作られる。

この2つのファイルを/usr/local/www/certsにコピーします。

正式なサーバ証明書の作成方法については、サーバ証明書 作成方法を参照して下さい。
 
7.設定ファイル変更

通常のApacheサーバとSSL化したApacheサーバを別々に稼動させる方法について説明します。
この場合は、設定ファイルを別々に用意する必要があるので手間が増えますが、既存のサービスに
影響を与えずに設定できる利点があります。

PHP

  Apache1.3.9 + PHP3.0.12jp-beta4 インストールを参照して下さい。

Apache-SSL

  制御ファイル「/usr/local/www/conf/httpsd.conf」を用意します。
  詳細については、httpsd.conf設定方法を参照して下さい。

8.Apache動作確認(rootで)

  Apache起動、下記のように表示されれば起動は上手くいっています。

  # /usr/local/www/bin/httpsdctl start

  [Sat Mar 25 20:08:14 2000] [debug] apache_ssl.c(355): Random input /dev/urandom(1024) -> 1120
  [Sat Mar 25 20:08:15 2000] [error] Cannot resolve host name heap --- ignoring!
  Reading key for server event2.xxx.co.jp:443
  Enter PEM pass phrase:  ← パスワードを入力
  Launching... /usr/local/www/bin/gcache
  pid=530
  /usr/local/www/bin/httpsdctl start: httpd started

  別のPCからブラウザを使用し目的のURL(http://localhost/)をアクセスして、表示されればApacheのインストール成功です!

9.PHP動作確認(rootで)

  Apache1.3.9 + PHP3.0.12jp-beta4 インストールを参照して下さい。

10.自動起動の設定(rootで)

  以下のようなスクリプトをエディタで書いてください。
  Linuxは「/etc/rc.d/rc.local」へ追加し、FreeBSDは「/usr/local/etc/rc.d/httpsd.sh」を作成&実行権限を加えます

  #!/bin/sh  ←−− Linuxでは必要ありません
  /usr/local/www/bin/httpsdctl start

11.参考

  ・UNIX MAGAZINE 2000年1月号 --- ネットワーク管理(22)「SSLを使ったサービス」P50
  ・UNIX USER 2000年2月号
  ・日経インターネットテクノロジー1998年1月号 --- http://neal.nikkeibp.co.jp/download/9801/index.html
    (素晴らしきフリー・ソフトの世界) 
  ・CA鍵とサーバ鍵の作成時ログ --- http://goro.denshi.numazu-ct.ac.jp/SSL/log2.html
  ・Apache-SSLのインストール --- http://www.pixy.ne.jp/~miyamae/tech/linux/apache_ssl_132.html
--------------------------------------------------------------------------------
For more information, contact here .