Webサーバ再構築Memo
Apache 1.3.33 - OpenSSL 0.97e - mod_ssl 2.8.22 のインストール
自分用メモ
◆ 下準備
コンパイル環境の構築
gcc-2.95.3
make-3.80
autoconf-2.54
automake-1.7
flex-2.5.4
をパッケージでインストールする
アーカイブの解凍
# mkdir /export/home/work
# cd /export/home/work
# gunzip -c mm-1.1.3.tar.gz | tar xf -
# gunzip -c apache_1.3.31.tar.gz | tar xf -
# gunzip -c mod_ssl-2.8.19-1.3.31.tar.gz | tar xf -
# gunzip -c openssl-0.9.7d.tar.gz | tar xf -
■パスを設定する(構築の間だけ)
/etc/default/login
/etc/default/su
両ファイルとも同じ設定とする(規定値=コメントアウト)
一般ユーザ用デフォルトパス
PATH=/bin:/usr/bin:/usr/local/bin::opt/sfw/bin:/usr/ccs/bin:/usr/ucb:/usr/openwin/bin
スーパーユーザー用デフォルトパス
SUPATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/opt/sfw/bin:/usr/ccs/bin:/usr/ucb:/usr/openwin/bin
◆ OpenSSL 0.97d のインストール
※ 標準のmakeではうまくいかない。GNU makeを使うこと。
$ cd /export/home/work/openssl-0.9.7d
$ ./config
$ gmake
$ sudo gmake install
/usr/local/ssl 配下にインストールされる
◆ ドキュメント・ログファイル保存ディレクトリの作成
$ sudo mkdir /export/home/www
$ sudo mkdir /export/home/www/htdocs
$ sudo mkdir /export/home/www/cgi-bin
$ sudo mkdir /export/home/www/icons
$ chmod 755 /export/home
$ chown -R nobody:nobody /export/home/www
◆ mod_ssl(Apacheへのパッチ)の適用
$ cd /export/home/work/cd mod_ssl-2.8.19-1.3.31
$ ./configure \
--with-apache=../apache_1.3.33 \
--with-ssl=../openssl-0.9.7e \
--enable-shared=ssl \
--enable-module=so \
--logfiledir=/var/adm/apache \
--htdocsdir=/export/home/www/htdocs \
--cgidir=/export/home/www/cgi-bin \
--iconsdir=/export/home/www/icons
◆ Apache-1.3.31のインストール
$ cd ../apache_1.3.31
$ gmake
$ sudo gmake certificate TYPE=custom
証明書が作成されます。
$ sudo gmake install
■ Apache自動起動の前にパスフレーズの解除
パスフレーズを解除することにより、Apacheの起動時にパスフレーズが求められなくなります。
さらにApacheが自動起動できるようになります。
# cd /usr/local/apache/conf
# sudo cp -p ssl.key/server.key ssl.key/server.key.org
# sudo /usr/local/ssl/bin/openssl rsa -in ssl.key/server.key.org -out ssl.key/server.key
※ただし、パスフレーズの解除は、セキュリティ上好ましくありませんので
起動するごとにパスフレーズを入力するほうが良いでしょう。
■ シンボリックリンクを作成
$ cd /etc/init.d
$ ln -s /usr/local/apache/bin/apachctl httpd
■ 起動スクリプトの編集
$ vi /etc/init.d/httpd
start)
if [ $RUNNING -eq 1 ]; then
echo "$0 $ARG: httpd (pid $PID) already running"
continue
fi
if $HTTPD -DSSL; then
echo "$0 $ARG: httpd started"
else
echo "$0 $ARG: httpd could not be started"
ERROR=3
fi
;;
■ ランレベル2で起動したとき自動起動するように設定
$ cd /etc/rc2.d
$ sudo ln -s /etc/init.d/httpd S99apache
コメント