IT pass HikiWiki - [Memo2008][EPA]tako作業メモ(中本)(080321) Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
((<[Memo2008][EPA]tako作業メモ(納多, 中本)(080314)>)) からの続き.
= apache2 のインストール (2008/03/21(金))
== パスの設定
インストールされた Apache のバイナリファイル群と man へのパスを通す.
(システム用コマンドも一般ユーザ用コマンドと同じ場所にインストールさ
れているので, 一般ユーザ用コマンドだけ設定を行う.)
=== sh, bash のパスの設定
/etc/bash.bashrc の冒頭にある
# add PATH for local installed softwares
PATH="${PATH}:<一般ユーザ用コマンドのパス>"
の <一般ユーザ用コマンドパス> に /usr/local/apache2/bin を追加する.
=== csh, tcsh のパスの設定
/etc/csh.cshrc の冒頭にある
# add PATH for local installed softwares
set path = ($path /usr/local/bin /usr/bin /bin <一般ユーザ用コマンドのパス>)
の <一般ユーザ用コマンドのパス> に /usr/local/apache2/bin を追加する.
=== zsh のパスの設定
/etc/zsh/zshenv の末尾にある
# add PATH for local installed softwares
export PATH=<一般ユーザ用コマンドのパス>:$PATH
の <一般ユーザ用コマンドのパス> に /usr/local/apache2/bin を追加する.
=== man 関連のパスの設定
/etc/manpath.config の適切な場所に
MANDATORY_MANPATH /usr/local/apache2/man
MANPATH_MAP /usr/local/apache2/bin /usr/local/apache2/man
MANDB_MAP /usr/local/apache2/man /usr/local/apache2/man
の 3 行を追加する.
== 設定ファイルの編集
以下の 3 つの設定ファイルを編集する.
* httpd 用: /usr/local/apache2/conf/httpd.conf
* 各ユーザの public_html 以下の設定用: /usr/local/apache2/conf/extra/httpd-userdir.conf
* httpd-ssl 用: /usr/local/apache2/conf/extra/httpd-ssl.conf
=== /usr/local/apache2/conf/httpd.conf の編集
* HTTP デーモンを起動するユーザを www-data にする.
65, 66 行目を
User www-data
Group www-data
に変更する.
* サーバ管理者 (ServerAdmin) のメールアドレスを設定する.
88 行目を
ServerAdmin epaadmin_at_epa.scitec.kobe-u.ac.jp
に変更する.
* サーバ名 (ServerName) を設定
97 行目を
ServerName epa.scitec.kobe-u.ac.jp:80
に変更する.
* サーバのデフォルトルート (DefaultRoot) を /~epalab に設定
104, 105 行目を
#DocumentRoot "/usr/local/apache2/htdocs"
DocumentRoot "/home/epalab/public_html"
に変更する.
* ディレクトリのインデックスファイルに index.html 以外に index.htm, index.htm.en, index.html.en, index.htm.ja, index.html.ja も追加.
119 行目を
# Deny from all
に変更し, 132, 133 行目を
#<Directory "/usr/local/apache2/htdocs">
<Directory "/home/epalab/public_html">
に変更し, 168 行目を
DirectoryIndex index.html index.htm index.htm.en index.html.en index.htm.ja index.html.ja
に変更する.
* エラーログファイルを /var/log/httpd-error.log に設定
188 行目を
ErrorLog "/var/log/httpd-error.log"
に変更する.
* アクセスログファイルを /var/log/httpd-access.log に設定
217 行目を
#CustomLog "logs/access_log" common
に変更し, 223 行目を
CustomLog /var/log/httpd-access.log combined
に変更する.
* CGI に関する設定を変更
270 〜 273 行目を
AllowOverride AuthConfig Limit
Options ExcCGI FollowSymLinks IncludesNoExec
# order allow,deny
# Allow from all
に変更する.
* extra/httpd-userdir.conf をロード
384 行目を
Include conf/extra/httpd-userdir.conf
に変更する.
* extra/httpd-ssl.conf をロード
402 行目を
Include conf/extra/httpd-ssl.conf
に変更する.
* /~gate, および /cgi-bin に対してのアクセスは HTTPS へ移動させる (参考資料 9, 10 参照).
413 〜 432 行目に
#
# Settings for gate-toroku-system
#
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/~gate/(.*)?$ https://%{HTTP_HOST}/~gate/$1 [L,R]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/cgi-bin/(.*)?$ https://%{HTTP_HOST}/cgi-bin/$1 [L,R]
</IfModule>
を追加する.
* ~epalab/hiki と ~itpass/hiki に関しての設定を各ディレクトリごとの .htaccess で可能とする (AllowOverride)
434 〜 443 行目に
#
# Settings for Hiki Area
#
<Directory /home/epalab/public_html/hiki >
AllowOverride ALL
</Directory>
<Directory /home/itpass/public_html/hiki >
AllowOverride ALL
</Directory>
を追加する.
* /hiki, /~epalab/hiki, /~itpass/hiki に対してのアクセスは HTTPS へ移動させる. その際, URI のエンコードは行わない. (参考資料 9, 10, 11 参照).
445 〜 470 行目に
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/hiki/(.*)?$ https://%{HTTP_HOST}/hiki/$1 [L,R]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/~epalab/hiki/(.*)?$ https://%{HTTP_HOST}/~epalab/hiki/$1 [L,R,NE]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/~itpass/hiki/(.*)?$ https://%{HTTP_HOST}/~itpass/hiki/$1 [L,R,NE]
</IfModule>
を追加する.
=== /usr/local/apache2/conf/extra/httpd-userdir.conf の編集
* 所有者がマッチしなくてもシンボリックリンクの公開を許可する. (SymLinksIfOwnerMatch -> FollowSymLinks).
18 行目を
Options MultiViews Indexes FollowSymLinks IncludesNoExec
に変更する.
=== /usr/local/apache2/conf/extra/httpd-ssl.conf の編集
* ドキュメントルート (DocumentRoot), サーバ名 (ServerName), サーバ管理者アドレス (ServerAdmin), エラーログ (ErrorLog), アクセスログ (TransferLog) を設定する.
77 〜 81 行目を
DocumentRoot "/home/epalab/public_html"
ServerName epa.scitec.kobe-u.ac.jp:443
ServerAdmin epaadmin_at_epa.scitec.kobe-u.ac.jp
ErrorLog /var/log/httpd-ssl-error.log
TransferLog /var/log/httpd-ssl-access.log
に変更する.
== ログローテートの設定
=== /etc/logrotate.conf の編集
12 行目の
#compress
を
compress
に変更する.
=== /etc/logrotate.d/apache2 の作成
/etc/logrotate.d/ に apache2 というファイルを置き, 以下の内容を書き込む.
/var/log/httpd-access.log {
missingok
rotate 12
postrotate
/usr/bin/killall -HUP httpd 2> /dev/null || true
endscript
}
/var/log/httpd-error.log {
missingok
rotate 12
postrotate
/usr/bin/killall -HUP httpd 2> /dev/null || true
endscript
}
/var/log/httpd-ssl-access.log {
missingok
rotate 12
postrotate
/usr/bin/killall -HUP httpd 2> /dev/null || true
endscript
}
/var/log/httpd-ssl-error.log {
missingok
rotate 12
postrotate
/usr/bin/killall -HUP httpd 2> /dev/null || true
endscript
}
== SSL 用の証明書の作成
=== openssl の設定の変更
/etc/ssl/openssl.cnf の 172 行目を
nsCertType = server
に変更し, 241 行目を
nsCertType = sslCA, emailCA
に変更する.
=== 証明書の作成
まず, /usr/local/apache2/conf に移動する.
# cd /usr/local/apache2/conf
次に, 以下のコマンドで CA 用秘密鍵 (cakey.pem) と CA 用証明書 (cacert.pem) を作成する.
# /usr/lib/ssl/misc/CA.sh -newca
ここで, 次々に問われるので以下のように入力する.
CA certificate filename (or enter to create): 何も入力せずに enter
Enter PEM pass phrase: rere
Country Name (2 letter code) [AU]: JP
State or Province Name [Some-State]: Hyogo
Locality Name (eg, city) []: Kobe
Organization Name (eg, company) []: Kobe University
Organizational Unit Name (eg, section) []: EPA lab.
Common Name: epa.scitec.kobe-u.ac.jp
Email Address: epaadmin_at_epa.scitec.kobe-u.ac.jp
A challenge password: 何も入力せずに enter
A optional company name: 何も入力せずに enter
Enter pass phrase for ./demoCA/private/./cakey.pem: rere
この作業によって, 以下のようなディレクトリとファイルが作成される.
/usr/local/apache2/conf/
|
└ demoCA [ 各種証明書等のルートディレクトリ ]
|
├ cacert.pem [ CA 用証明書 ]
├ careq.pem
|
├ certs [ 証明書等のディレクトリ (バックアップに利用) ]
|
├ crl [ 破棄証明書一覧用のディレクトリ ]
|
├ index.txt [ クライアント証明書用 DB ]
├ index.txt.attr
├ index.txt.old
|
├ newcerts [ クライアント証明書 (sireal 追番) のディレクトリ ]
| |
| ├ xxxxx..pem [ クライアント証明書 ]
| | :
| └ xxxxx..pem [ クライアント証明書 ]
|
├ private [ CA 用の秘密鍵用ディレクトリ ]
| |
| └ cakey.pem [ CA 用の秘密鍵 ]
|
├ serial [ クライアント証明書用シリアル ]
└ serial.old
秘密鍵を他人に見られてはいけないので, パーミションを以下のように変更しておく.
# chmod 600 ./demoCA/private/cakey.pem
# chmod 700 ./demoCA/private
このようにして作成した鍵を Apache で使用すると, Apacheの起動時に毎回パスフレーズを聞かれる. 自動起動させるために, 以下のコマンドで鍵からパスフレーズを削除する. (もちろんセキュリティ上は毎回パスフレーズを入力する方が望ましい)
# openssl rsa -in ./demoCA/private/cakey.pem -out ./demoCA/private/cakey.pem
Enter pass phrase for ./demoCA/private/./cakey.pem: rere
次に, 以下のコマンドでサーバ証明書 (server.crt) を作成する.
# openssl x509 -in ./demoCA/cacert.pem -out ./demoCA/server.crt
次に, CA 証明書 (cacert.pem) をブラウザに登録するために, 以下のコマンドで DER フォーマットで記述された証明書 (ca.der) を作成する.
# openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/ca.der
これらの作業により, demoCA/ 以下に server.crt と ca.der が生成される. これらのファイルをカレントディレクトリである /usr/local/apache2/conf にコピーする.
# cp ./demoCA/server.crt .
# cp ./demoCA/ca.der .
次に, CA 用秘密鍵 (cakey.pem) をコピーしてサーバ用秘密鍵 (server.key) を作成する.
# cp ./demoCA/private/cakey.pem ./server.key
これにて完了.
== 動作チェック
apache は /usr/local/apache2/bin/apachectl で起動/停止する. 以下のコマンドで apache を起動する.
# /usr/local/apache2/bin/apachectl -k start
停止するには以下のようにすると良い.
# /usr/local/apache2/bin/apachectl -k graceful-stop
ちなみに, 現時点 (2008/03/27) では, /usr/local/apache2/conf/httpd.conf の DocumentRoot が /home/epalab/public_html となっているが, そんなディレクトリはまだ存在しないので, Apache の起動はできない.
そこで, /home/chikuwa2/public_html/index.html なるファイルを作り, /usr/local/apache2/conf/httpd.conf の中身を書き換えてやると, Apache が起動でき, ブラウザで
http://133.30.109.21 (tako の IP アドレス)
を開くとちゃんと見れた.
= apache2 のインストール (2008/03/28(金))
== 起動スクリプトを用意する
サーバの起動時に自動的に Apache を起動させるため, apache2 の起動スクリプト
を用意する.
まず, Debian の apache パッケージに含まれる /etc/init.d/apache を元に起動スクリプトを apache2 用に書き換えたファイル (apache2) を入手する.
# wget http://epa.scitec.kobe-u.ac.jp/~itpass/epa/apache/apache2
このファイルを /etc/init.d/apache2 にコピーし, 以下のようにパーミションを変更する.
# cp apache2 /etc/init.d/
# chown root:root /etc/init.d/apache2
# chmod 755 /etc/init.d/apache2
次に, ランレベルごとに apache2 の動作を設定する.
# update-rc.d apache2 defaults
そしてサーバを再起動し, 起動時に apache が起動することを確認する.
# shutdown -r now
ブラウザで
http://tako.epa.scitec.kobe-u.ac.jp
を開くとちゃんと見れた.
((<[Memo2008][EPA]tako作業メモ(納多, 中本)(080314)>)) からの続き.
= apache2 のインストール (2008/03/21(金))
== パスの設定
インストールされた Apache のバイナリファイル群と man へのパスを通す.
(システム用コマンドも一般ユーザ用コマンドと同じ場所にインストールさ
れているので, 一般ユーザ用コマンドだけ設定を行う.)
=== sh, bash のパスの設定
/etc/bash.bashrc の冒頭にある
# add PATH for local installed softwares
PATH="${PATH}:<一般ユーザ用コマンドのパス>"
の <一般ユーザ用コマンドパス> に /usr/local/apache2/bin を追加する.
=== csh, tcsh のパスの設定
/etc/csh.cshrc の冒頭にある
# add PATH for local installed softwares
set path = ($path /usr/local/bin /usr/bin /bin <一般ユーザ用コマンドのパス>)
の <一般ユーザ用コマンドのパス> に /usr/local/apache2/bin を追加する.
=== zsh のパスの設定
/etc/zsh/zshenv の末尾にある
# add PATH for local installed softwares
export PATH=<一般ユーザ用コマンドのパス>:$PATH
の <一般ユーザ用コマンドのパス> に /usr/local/apache2/bin を追加する.
=== man 関連のパスの設定
/etc/manpath.config の適切な場所に
MANDATORY_MANPATH /usr/local/apache2/man
MANPATH_MAP /usr/local/apache2/bin /usr/local/apache2/man
MANDB_MAP /usr/local/apache2/man /usr/local/apache2/man
の 3 行を追加する.
== 設定ファイルの編集
以下の 3 つの設定ファイルを編集する.
* httpd 用: /usr/local/apache2/conf/httpd.conf
* 各ユーザの public_html 以下の設定用: /usr/local/apache2/conf/extra/httpd-userdir.conf
* httpd-ssl 用: /usr/local/apache2/conf/extra/httpd-ssl.conf
=== /usr/local/apache2/conf/httpd.conf の編集
* HTTP デーモンを起動するユーザを www-data にする.
65, 66 行目を
User www-data
Group www-data
に変更する.
* サーバ管理者 (ServerAdmin) のメールアドレスを設定する.
88 行目を
ServerAdmin epaadmin_at_epa.scitec.kobe-u.ac.jp
に変更する.
* サーバ名 (ServerName) を設定
97 行目を
ServerName epa.scitec.kobe-u.ac.jp:80
に変更する.
* サーバのデフォルトルート (DefaultRoot) を /~epalab に設定
104, 105 行目を
#DocumentRoot "/usr/local/apache2/htdocs"
DocumentRoot "/home/epalab/public_html"
に変更する.
* ディレクトリのインデックスファイルに index.html 以外に index.htm, index.htm.en, index.html.en, index.htm.ja, index.html.ja も追加.
119 行目を
# Deny from all
に変更し, 132, 133 行目を
#<Directory "/usr/local/apache2/htdocs">
<Directory "/home/epalab/public_html">
に変更し, 168 行目を
DirectoryIndex index.html index.htm index.htm.en index.html.en index.htm.ja index.html.ja
に変更する.
* エラーログファイルを /var/log/httpd-error.log に設定
188 行目を
ErrorLog "/var/log/httpd-error.log"
に変更する.
* アクセスログファイルを /var/log/httpd-access.log に設定
217 行目を
#CustomLog "logs/access_log" common
に変更し, 223 行目を
CustomLog /var/log/httpd-access.log combined
に変更する.
* CGI に関する設定を変更
270 〜 273 行目を
AllowOverride AuthConfig Limit
Options ExcCGI FollowSymLinks IncludesNoExec
# order allow,deny
# Allow from all
に変更する.
* extra/httpd-userdir.conf をロード
384 行目を
Include conf/extra/httpd-userdir.conf
に変更する.
* extra/httpd-ssl.conf をロード
402 行目を
Include conf/extra/httpd-ssl.conf
に変更する.
* /~gate, および /cgi-bin に対してのアクセスは HTTPS へ移動させる (参考資料 9, 10 参照).
413 〜 432 行目に
#
# Settings for gate-toroku-system
#
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/~gate/(.*)?$ https://%{HTTP_HOST}/~gate/$1 [L,R]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/cgi-bin/(.*)?$ https://%{HTTP_HOST}/cgi-bin/$1 [L,R]
</IfModule>
を追加する.
* ~epalab/hiki と ~itpass/hiki に関しての設定を各ディレクトリごとの .htaccess で可能とする (AllowOverride)
434 〜 443 行目に
#
# Settings for Hiki Area
#
<Directory /home/epalab/public_html/hiki >
AllowOverride ALL
</Directory>
<Directory /home/itpass/public_html/hiki >
AllowOverride ALL
</Directory>
を追加する.
* /hiki, /~epalab/hiki, /~itpass/hiki に対してのアクセスは HTTPS へ移動させる. その際, URI のエンコードは行わない. (参考資料 9, 10, 11 参照).
445 〜 470 行目に
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/hiki/(.*)?$ https://%{HTTP_HOST}/hiki/$1 [L,R]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/~epalab/hiki/(.*)?$ https://%{HTTP_HOST}/~epalab/hiki/$1 [L,R,NE]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteLog "/var/log/httpd-rewrite.log"
RewriteLogLevel 0
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/~itpass/hiki/(.*)?$ https://%{HTTP_HOST}/~itpass/hiki/$1 [L,R,NE]
</IfModule>
を追加する.
=== /usr/local/apache2/conf/extra/httpd-userdir.conf の編集
* 所有者がマッチしなくてもシンボリックリンクの公開を許可する. (SymLinksIfOwnerMatch -> FollowSymLinks).
18 行目を
Options MultiViews Indexes FollowSymLinks IncludesNoExec
に変更する.
=== /usr/local/apache2/conf/extra/httpd-ssl.conf の編集
* ドキュメントルート (DocumentRoot), サーバ名 (ServerName), サーバ管理者アドレス (ServerAdmin), エラーログ (ErrorLog), アクセスログ (TransferLog) を設定する.
77 〜 81 行目を
DocumentRoot "/home/epalab/public_html"
ServerName epa.scitec.kobe-u.ac.jp:443
ServerAdmin epaadmin_at_epa.scitec.kobe-u.ac.jp
ErrorLog /var/log/httpd-ssl-error.log
TransferLog /var/log/httpd-ssl-access.log
に変更する.
== ログローテートの設定
=== /etc/logrotate.conf の編集
12 行目の
#compress
を
compress
に変更する.
=== /etc/logrotate.d/apache2 の作成
/etc/logrotate.d/ に apache2 というファイルを置き, 以下の内容を書き込む.
/var/log/httpd-access.log {
missingok
rotate 12
postrotate
/usr/bin/killall -HUP httpd 2> /dev/null || true
endscript
}
/var/log/httpd-error.log {
missingok
rotate 12
postrotate
/usr/bin/killall -HUP httpd 2> /dev/null || true
endscript
}
/var/log/httpd-ssl-access.log {
missingok
rotate 12
postrotate
/usr/bin/killall -HUP httpd 2> /dev/null || true
endscript
}
/var/log/httpd-ssl-error.log {
missingok
rotate 12
postrotate
/usr/bin/killall -HUP httpd 2> /dev/null || true
endscript
}
== SSL 用の証明書の作成
=== openssl の設定の変更
/etc/ssl/openssl.cnf の 172 行目を
nsCertType = server
に変更し, 241 行目を
nsCertType = sslCA, emailCA
に変更する.
=== 証明書の作成
まず, /usr/local/apache2/conf に移動する.
# cd /usr/local/apache2/conf
次に, 以下のコマンドで CA 用秘密鍵 (cakey.pem) と CA 用証明書 (cacert.pem) を作成する.
# /usr/lib/ssl/misc/CA.sh -newca
ここで, 次々に問われるので以下のように入力する.
CA certificate filename (or enter to create): 何も入力せずに enter
Enter PEM pass phrase: rere
Country Name (2 letter code) [AU]: JP
State or Province Name [Some-State]: Hyogo
Locality Name (eg, city) []: Kobe
Organization Name (eg, company) []: Kobe University
Organizational Unit Name (eg, section) []: EPA lab.
Common Name: epa.scitec.kobe-u.ac.jp
Email Address: epaadmin_at_epa.scitec.kobe-u.ac.jp
A challenge password: 何も入力せずに enter
A optional company name: 何も入力せずに enter
Enter pass phrase for ./demoCA/private/./cakey.pem: rere
この作業によって, 以下のようなディレクトリとファイルが作成される.
/usr/local/apache2/conf/
|
└ demoCA [ 各種証明書等のルートディレクトリ ]
|
├ cacert.pem [ CA 用証明書 ]
├ careq.pem
|
├ certs [ 証明書等のディレクトリ (バックアップに利用) ]
|
├ crl [ 破棄証明書一覧用のディレクトリ ]
|
├ index.txt [ クライアント証明書用 DB ]
├ index.txt.attr
├ index.txt.old
|
├ newcerts [ クライアント証明書 (sireal 追番) のディレクトリ ]
| |
| ├ xxxxx..pem [ クライアント証明書 ]
| | :
| └ xxxxx..pem [ クライアント証明書 ]
|
├ private [ CA 用の秘密鍵用ディレクトリ ]
| |
| └ cakey.pem [ CA 用の秘密鍵 ]
|
├ serial [ クライアント証明書用シリアル ]
└ serial.old
秘密鍵を他人に見られてはいけないので, パーミションを以下のように変更しておく.
# chmod 600 ./demoCA/private/cakey.pem
# chmod 700 ./demoCA/private
このようにして作成した鍵を Apache で使用すると, Apacheの起動時に毎回パスフレーズを聞かれる. 自動起動させるために, 以下のコマンドで鍵からパスフレーズを削除する. (もちろんセキュリティ上は毎回パスフレーズを入力する方が望ましい)
# openssl rsa -in ./demoCA/private/cakey.pem -out ./demoCA/private/cakey.pem
Enter pass phrase for ./demoCA/private/./cakey.pem: rere
次に, 以下のコマンドでサーバ証明書 (server.crt) を作成する.
# openssl x509 -in ./demoCA/cacert.pem -out ./demoCA/server.crt
次に, CA 証明書 (cacert.pem) をブラウザに登録するために, 以下のコマンドで DER フォーマットで記述された証明書 (ca.der) を作成する.
# openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/ca.der
これらの作業により, demoCA/ 以下に server.crt と ca.der が生成される. これらのファイルをカレントディレクトリである /usr/local/apache2/conf にコピーする.
# cp ./demoCA/server.crt .
# cp ./demoCA/ca.der .
次に, CA 用秘密鍵 (cakey.pem) をコピーしてサーバ用秘密鍵 (server.key) を作成する.
# cp ./demoCA/private/cakey.pem ./server.key
これにて完了.
== 動作チェック
apache は /usr/local/apache2/bin/apachectl で起動/停止する. 以下のコマンドで apache を起動する.
# /usr/local/apache2/bin/apachectl -k start
停止するには以下のようにすると良い.
# /usr/local/apache2/bin/apachectl -k graceful-stop
ちなみに, 現時点 (2008/03/27) では, /usr/local/apache2/conf/httpd.conf の DocumentRoot が /home/epalab/public_html となっているが, そんなディレクトリはまだ存在しないので, Apache の起動はできない.
そこで, /home/chikuwa2/public_html/index.html なるファイルを作り, /usr/local/apache2/conf/httpd.conf の中身を書き換えてやると, Apache が起動でき, ブラウザで
http://133.30.109.21 (tako の IP アドレス)
を開くとちゃんと見れた.
= apache2 のインストール (2008/03/28(金))
== 起動スクリプトを用意する
サーバの起動時に自動的に Apache を起動させるため, apache2 の起動スクリプト
を用意する.
まず, Debian の apache パッケージに含まれる /etc/init.d/apache を元に起動スクリプトを apache2 用に書き換えたファイル (apache2) を入手する.
# wget http://epa.scitec.kobe-u.ac.jp/~itpass/epa/apache/apache2
このファイルを /etc/init.d/apache2 にコピーし, 以下のようにパーミションを変更する.
# cp apache2 /etc/init.d/
# chown root:root /etc/init.d/apache2
# chmod 755 /etc/init.d/apache2
次に, ランレベルごとに apache2 の動作を設定する.
# update-rc.d apache2 defaults
そしてサーバを再起動し, 起動時に apache が起動することを確認する.
# shutdown -r now
ブラウザで
http://tako.epa.scitec.kobe-u.ac.jp
を開くとちゃんと見れた.