続・Solaris9でApache

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