Category Archives: Apache

開発用SSL環境の構築

開発用にSSL環境を作る必要にせまられ、オレオレ証明書でテスト環境を作ってみました。
Apache 2.0.63 + OpenSSL (2.2あたりとはconfファイルの配置に違いがあるようですが)

こちらのサイトを参考にさせていただきました。

まずは、OpenSSLを使ってオレオレ証明書を作ります。
今回はOpenSSL付属のApacheが入っていたのでそれを使います。(ない場合別途落としてきます)
OpenSSLはApacheディレクトリのなかのbinにあります。

##パスを通します
> cd C:\Program Files (x86)\Apache Group\Apache2\conf
> path %PATH%; C:\Program Files (x86)\Apache Group\Apache2\bin

## キーファイルの作成
> openssl genrsa -rand charset.conv -out server.key 1024

## CSRの作成
> openssl req -new -key server.key -out server.csr -config ..\openssl.cnf

## 以下コマンドラインの対話
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:kanagawa
Locality Name (eg, city) []:kamakura
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ceed
Organizational Unit Name (eg, section) []:ceed
Common Name (eg, YOUR name) []:localhost
Email Address []:test@localhost

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

## CRTファイルの作成
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650

##以上で、server.csr, server.crt, server.key が作成される

httpd.conf の編集

#モジュールの読み込み
LoadModule ssl_module modules/mod_ssl.so

ssl.conf の編集

#SSLCertificateFile conf/ssl.crt/server-dsa.crt
SSLCertificateFile conf/server.crt

#SSLCertificateKeyFile conf/ssl.key/server-dsa.key
SSLCertificateKeyFile conf/server.key

DocumentRoot "/path/to/root"

<Directory "/path/to/root">
    SSLOptions +StdEnvVars
</Directory>

レジストリの設定
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Apache2

“C:\Program Files (x86)\Apache Group\Apache2\bin\Apache.exe” -k runservice
    ↓
“C:\Program Files (x86)\Apache Group\Apache2\bin\Apache.exe” -D SSL -k runservice

以上で設定は完了です。
サービスからApacheの再起動を行えばSSLが使えるようになるはずです。
もし正常に起動できない場合は、ポート443が塞がっていないか確認しましょう。(VPN ServerやSkypeなどが使用している場合があります)
コマンドラインから
netstat -ano
で確認できます。
0.0.0.0:443 になんらかの接続がある場合、そのPIDを調べて、該当するプロセスを終了します。
正常に起動すれば、SSLによって上記ポートがListenされます。

phpでssiを使う設定

最近phpでssiを使うことがあったのだが、httpd.confの書き方で挙動が違うことを経験したので覚書。
通常、SSIを通場合、AddType text/html .shtml などと書くが、この記述がPHPのAddTypeより後に書かれているとPHPとして実行されない(PHPコードがそのまま出力される)ということがおきるようです。ちょっと悩んだ結果試しに記述位置を入れ替えてみたら、SSI、PHPともに実行されたので一旦OK。
どうしてそうなるのか、細かく調べたいところだけど、一旦OKとしましょう(汗)

AddType text/html .shtml .html .php
AddOutputFilter INCLUDES .shtml .html .php

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
getting health insurance in new york buy clomid online UK major health insurance companies buy levitra uk online what are wells fargo hours buy finasteride affordable health insurance for children accutane no prescription medical center of trinity viagra online uten resept midwestern university wellness center dapoxetine top individual health insurance companies viagra ireland