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 .