以前、OwnCloudを設定したが、うまくいかなかったので、サブドメインを切って設定を行った。
しかし、サブドメインを切る=SSL証明書を取っても専用にしかならないのでダメだなぁ、と思い、www.geekwind.net以下のディレクトリパスで設定に再チャレンジ。
一度設定を行っているので、思いのほかうまく進んで、問題なく設定ができた。
最初はオレオレ証明書でもいいか、と思っていたが、せっかくなので、まじめに認証局に証明してもらうことを決意。
どこで証明書を取得しようかと思い、いろいろ調べた結果、とりあえずSSLストアというところに決定。
ここのRapidSSLなら最低 1,080円から証明書が取得できるのだ。
年数が多ければ、さらに価格が安くなり、4年で3,890円となる。
COMODOも同じ価格なのだが、COMODOは以前いろいろあったので、今回は避けてRapidSSLにした。
別段ECサイトな訳でもないし、個人で利用するので、充分だろう。
ということで、言われるがままに証明書を取得した。
ちなみに、支払いはクレジット決済でなく、PayPal支払い(といっても、PayPal側にはクレジットになるのだが)。
中間証明書も設定をして、サーバを再起動したところ、無事に設定された。
設定方法については別途記載しようと思う。
Archive
現在、DropBoxを利用しているが、はっきり言って容量は最小である。
画像をバカスカ入れていると、徐々に使用可能な容量が減ってくる。
一応、Pogoplugがあるので、そこに画像を貯めておけば、iPadやPCなどから閲覧は可能である。
でも、Pogoplugはあくまで画像のバックアップ用的な使い方なのである。
ということで、最近やたらと気になり始めたのがOwnCloudなるもの。
個人的にVPSを保有しているので、ここをベースにOwnCloudをインストールすればVPSのディスクがDropBoxのように使えるようになると来たもんだ!
ディスク容量は…
Filesystem 1K-blocks Used Available Use% Mounted on /dev/vda3 100886428 4727252 91034444 5% /
一切問題なし。
ということで、OwnCloudのインストールにチャレンジしようかと思う。
ただ、セキュリティ面も気にはなるので、ついでに正規にSSLの証明書も取ってみようかと思ったりしている。
さて、どうなることやら。
CAcert.orgの方から、もうすぐ証明書の有効期限だよ、というメールが届いていた。
更新しなきゃなー、と思いつつ今日更新。
更新はいたって簡単で、メニューのサーバ証明書を表示させると、登録してある一覧が表示されるので、更新したいサイトを選択して、更新をかけると証明書を発行してくれるのである。
いやぁ、シンプルでいい。
更新後に一覧を表示すると以下のように期間が10月まで更新された。
自己証明でSSLできるようにしたが、非常に気持ちが悪いのでやっぱり証明してもらうことにする。
とはいえ、お金を払わずに証明してくれるのは、前回の記事に書いた通りCAcert.orgなので、ここで証明してもらうことにした。
証明してもらうための申請データを作成しないといけないので、事前に作成する。
まずは、秘密鍵の生成である。もちろん、パスフレーズも設定する。
続いて、証明書の申請データを作成する。
あっという間にデータが作成できた。
# openssl req -new -key geekwind.net.key -out geekwind.net.csr Enter pass phrase for geekwind.net.key:********** You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]:JP State or Province Name (full name) [Berkshire]:TOKYO Locality Name (eg, city) [Newbury]:MINATO Organization Name (eg, company) [My Company Ltd]:CAcert.org Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:www.geekwind.net Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
CAcert.orgに登録である。
ちょっと面倒だったのは、パスワードを忘れた場合のリマインダーが5つきっちり入れないと登録できないところである。
ユーザ登録後、サイトを登録し、先ほど生成したgeekwind.net.csrをペロっと貼り付けると、あっさり証明してくれた。

しかし、パスフレーズがあると、Webサーバの自動起動に影響があるので、パスフレーズを取り除く処理を行う。
一応、バックアップを取りつつ、パスフレーズを除去。
# mv geekwind.net.key geekwind.net.key.org # openssl rsa -in geekwind.net.key.org -out geekwind.net.key Enter pass phrase for geekwind.net.key.org:********** writing RSA key # cat geekwind.net.key geekwind.net.crt > geekwind.net.pem
できあがったものをlighttpd.confにセットして、lighttpdの再起動である。
# service lighttpd restart Stopping lighttpd: [ OK ] Starting lighttpd: [ OK ]
見事にそれっぽくなった。

なぜSSLかというと、phpmyadminやらCMSやらをインストールした後、それにログインする際にはSSL環境下でアクセスしたいということからである。
個人的に利用するだけなので、証明書は自己証明でいいと判断。
もちろん、CAcert.orgという無料で証明書を発行してくれるところもある。
まずは自己証明のSSLがOKになったら、そちらに進んでもいいかと思っている。
ただ、CAcert.orgは半年に一回更新をかけないといけないので、ちょっと手間かもしれない。
ちなみに、CAcert.orgで証明書発行しても、ブラウザでは確認が取れていない証明書なのでインストールしないとダメだけど、それでもオレオレ証明書よりはいいかもね。
ともあれ、まずは自己証明から。
# /etc/pki/tls/misc/CA -newca CA certificate filename (or enter to create) ・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・ Making CA certificate ... Generating a 1024 bit RSA private key ..++++++ .............++++++ writing new private key to '../../CA/private/./cakey.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- ・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・ ----- Country Name (2 letter code) [GB]:JP State or Province Name (full name) [Berkshire]:Tokyo Locality Name (eg, city) [Newbury]:Minato Organization Name (eg, company) [My Company Ltd]:Private Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:********** Email Address []:dummy@********.***** Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from /etc/pki/tls/openssl.cnf Enter pass phrase for ../../CA/private/./cakey.pem: Check that the request matches the signature Signature ok ・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・ Write out database with 1 new entries Data Base Updated # /etc/pki/tls/misc/CA -newreq Generating a 1024 bit RSA private key ・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・ ----- Country Name (2 letter code) [GB]:JP State or Province Name (full name) [Berkshire]:Tokyo Locality Name (eg, city) [Newbury]:Minato Organization Name (eg, company) [My Company Ltd]:Personal Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:********** Email Address []:dummy@********.*** Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Request is in newreq.pem, private key is in newkey.pem # /etc/pki/tls/misc/CA -sign Using configuration from /etc/pki/tls/openssl.cnf Enter pass phrase for ../../CA/private/cakey.pem: Check that the request matches the signature Signature ok ・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・ Certificate is to be certified until Oct 22 15:18:10 2011 GMT (365 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated ・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・ -----BEGIN CERTIFICATE----- MIIC1jCCAj+gAwIBAgIBATANBgkqhkiG9w0BAQUFADBmMQswCQYDVQQGEwJKUDEO MAwGA1UECBMFVG9reW8xEDAOBgNVBAoTB1ByaXZhdGUxEjAQBgNVBAMTCVByaXZh ・・・・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・・・・ TIm+tG3jtYsxikhV/1yCbM/WIPa10L6plFcPLTnS43sdzgyo7lUN9fA6FXxp0i43 1lvJqN1faeudug== -----END CERTIFICATE----- Signed certificate is in newcert.pem
早速、lighttpdに設定して、httpsアクセスできるか、確認してみる。
lighttpd.conf内のSSLに関する部分をファイルの最後尾に追加して、再起動する。
# sudo -u root vi lighttpd.conf $SERVER["socket"] == "182.*.* .*:443" { #### SSL engine ssl.engine = "enable" ssl.pemfile = "/etc/certs/newcert.pem" server.name = "www.*****.***" server.document-root = "/var/www/lighttpd/docs-ssl" } # echo "SSL site" > /var/www/lighttpd/docs-ssl/hoge.txt # service lighttpd restart
ブラウザでhttp://www.******.***/hoge.txt にアクセス。Not foundになる。
続いて、SSLのかかった https://www.*******.***/hoge.txtにアクセス。
悪意のあるサイトかもしれない、と脅されるがアクセスすると見事にアクセスできた。
しかし!Firefoxではアクセスできないことが判明。
うーん、どっかで設定ミスったかなぁ。
一応、以前会社でやったときはうまくいったのになぁ...。
あれこれやってもうまくいかず、いろいろ悩んでしまって面倒くさくなってしまった。
なので、以下の方法で逃げた。
# /etc/pki/tls/certs/make-dummy-cert newcert.pem
なんと、このコマンド一発でオレオレ証明書の発行ができてしまうのである。
うーん、こんなんでいいんだろうか?
今度、落ち着いてゆっくりやろう。