豚吐露@wiki
Apache+SSLの導入
最終更新:
ohden
-
view
Apache2+SSL
環境
Ubuntu 8.10
Apache 2.2.14
OpenSSL 0.9.8k
Ubuntu 8.10
Apache 2.2.14
OpenSSL 0.9.8k
当たり前じゃが、Apache2がinstall済みであることが前提。
Apacheのインストール
Apacheのインストール
OpenSSLとmodsslのinstall。
※最近下のapt-get使ったらどっちも無いって言われた...が、apache-ssl moduleは入っとるっぽぃ。Apache入れた段階で一緒に入るようになったんかな?
※最近下のapt-get使ったらどっちも無いって言われた...が、apache-ssl moduleは入っとるっぽぃ。Apache入れた段階で一緒に入るようになったんかな?
> sudo apt-get install ssl > sudo apt-get install apache-ssl
Apache-SSLモジュールを有効にする。
> sudo a2enmod ssl
Enabling module ssl. See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates. Run '/etc/init.d/apache2 restart' to activate new configuration! |
SSL使用portの設定。
> cd /etc/apache2/ > sudo vi ports.conf
中を見て、mod_sslに対する記述が無かったら以下を追記する。
<IfModule mod_ssl.c> Listen 443 </IfModule> |
ports.confの中にはこんなんもあるんじゃが...これは何なんじゃろうか?
<IfModule mod_gnutls.c> Listen 443 </IfModule> |
GnuTLSって事はGnuのTLS moduleの参照らしいが...まぁ、わからんので放置。
証明書と秘密鍵を作る。
> sudo mkdir ssl > cd ssl > sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf ./apache.pem
※証明書を作り直して、その証明書を有効にしようと思うたらapacheの再起動が必要。
commonNameを設定。

[Tab]キー押下で『了解』へ移動し[Enter]キー押下で設定
出来上がった証明書はtext fileなので閲覧が可能。

[Tab]キー押下で『了解』へ移動し[Enter]キー押下で設定
出来上がった証明書はtext fileなので閲覧が可能。
> sudo vi apache.pem
見てみると
『-----BEGIN RSA PRIVATE KEY-----』~『-----END RSA PRIVATE KEY-----』のエリアと
『-----BEGIN CERTIFICATE-----』~『-----END CERTIFICATE-----』エリアに分かれてると分かる。
それぞれ秘密鍵と証明書。
『-----BEGIN RSA PRIVATE KEY-----』~『-----END RSA PRIVATE KEY-----』のエリアと
『-----BEGIN CERTIFICATE-----』~『-----END CERTIFICATE-----』エリアに分かれてると分かる。
それぞれ秘密鍵と証明書。
> cd /etc/apache2/sites-available/ > sudo vi default-ssl
50行目辺りに『SSLCertificateFile』『SSLCertificateKeyFile』の項目があるので、その項目をコメントアウト(行頭に『#』を付ける)し、以下の1行を追加する。
SSLCertificateFile /etc/apache2/ssl/apache.pem #SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem #SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key |
※行頭#で始まっとる下2行はうちの環境にたまたまあった『SSLCertificateFile』『SSLCertificateKeyFile』の項目ね。環境によって違うと思う。
『SSLCertificateFile』は証明書fileを指定する項目で、『SSLCertificateKeyFile』は秘密鍵を指定する項目。
で、その2項目をコメントアウトして『SSLCertificateFile』だけにしてるのは、さっき作成したapache.pemの中に証明書も秘密鍵も入ってるから。apacheが使いたい方だけを読み込んで使ってくれるらしい。
で、その2項目をコメントアウトして『SSLCertificateFile』だけにしてるのは、さっき作成したapache.pemの中に証明書も秘密鍵も入ってるから。apacheが使いたい方だけを読み込んで使ってくれるらしい。
※今回は『make-ssl-cert』を使ったが、OpenSSLとか使ってもできるらしい。やってないのでまた今度。
> sudo a2ensite default-ssl
Enabling site default-ssl. Run '/etc/init.d/apache2 reload' to activate new configuration! |
> sudo /etc/init.d/apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName ... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [ OK ] |
再起動できたら、ブラウザでアクセスしてみる。
https://localhost |
※httpsなのを忘れないように。
アクセスすると認証ダイアログが表示される。
勝手に作った証明書なので、当然怪しいって言われるけど気にしない。w
勝手に作った証明書なので、当然怪しいって言われるけど気にしない。w


気になる人はお金払って証明書買って下さい。(ノ∀`)
あ、そぉそぉ。
証明書作成時に入力したcommonNameってのはココに表示されるんよね。
証明書作成時に入力したcommonNameってのはココに表示されるんよね。
更新日: 2010年11月11日 (木) 13時38分22秒