Welcome Guest 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

新 あきら様のブログ
あきらのページ見るって事は暇しとんの?ブログ
ランキング参加用リンク
カウンター
累計:
本日:
昨日:
トップ (メニュー)  >  Opensslのインストール

Opensslのインストール

apacheでhttps接続できるようにします。



Opensslパッケージをインストールします。
apt-get install openssl


openssl version
と入力し、OpenSSLのバージョンが表示されればインストールされています。


mod_sslを有効にします。
a2enmod ssl

設定を反映するため、
/etc/init’d/apache2 force-reload


作業ディレクトリを移動し、秘密鍵を作成します。
cd /tmp

openssl genrsa -des 1024 > server.key

Enter Pass phrase:パスフレーズを入力します。
Verifying Enter Pass Phrase:先ほどのパスフレーズを再び入力します。

[オプション]
genrsa:作成する鍵を指定するオプションで、RSAというタイプの鍵を作成する。
-des:どの鍵作成のアルゴリズムを使用するか指定するオプションで、DES3というアルゴリズムを使用して作成する。
1024:鍵の長さを指定する。(1024ビット)


秘密鍵のパスフレーズを削除します。
openssl rsa -in server.key -out server.key

Enter pass phrase for server.key:先ほど設定したパスフレーズを入力します。

[オプション]
rsa:作成する鍵の種類を指定します。今回は、RSA鍵ですのでrsaを指定する。
-in:暗号化された鍵を指定するオプションです。暗号化して作成したserver.keyを指定しています。
-out:出力する証明書のファイル名を指定するオプションです。暗号化していたserver.keyという名前で保存してもOK。


公開鍵(CSRファイル)を作成します。
openssl req -new -key server.key -out server.csr

入力することは、上から
(任意)
(任意)
(任意)
(任意)
(任意)
www.コモンネーム.net(コモンネームは、サーバのURLでIPアドレスでも可)(重要)
(任意)
(任意)
(任意)


※本来の環境では、認証局からデジタル証明書を取得してください。これは、確認作業用としてです。
デジタル証明書の発行
server.keyとserver.csrができているこを確認します。
ls -a

openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt


作業ディレクトリを移動します。
cd /etc/apache2/sites-available


openssl.cnfの設定を変更します。
vi /etc/ssl/openssl.cnf

[usr_cert]セクションに以下を追加
nsCertType = server


openssl.cnfの設定を変更します。
[v3_Ca]セクションに以下を追加
nsCertType=sslCA, emailCA

※# CAで証明書発行をするときのRFC2459に基づくX.509 v3拡張項目。NetscapeのCertTypeをnsCertTypeで表す。
自己署名証明書の拡張はv3_caを参照する。Netscape用の設定。


設定ファイルをローカルディレクトリにコピーします。
cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz .(←"."を忘れずに!!)

圧縮ファイルを解凍します。
gzip d ./httpd-ssl.conf.gz

解凍されていることを確認します。
ls -a
[httpd-ssl.conf]があることを確認します。


シンボリックリンクの作成
ln -s /etc/apache2/sites-available/httpd-ssl.conf /etc/apache2/sites-enabled/httpd-ssl.conf
を実行します。

※/etc/apache2/sites-enabled/
使用するサイト定義ファイルへのリンクファイルが置かれるディレクトリ


証明書を指定の場所へのコピーします。
mkdir /etc/apache2/ssl
cp /tmp/server* /etc/apache2/ssl/
※/etc/apache/sslフォルダはないので、作成します。

実行結果を確認します。
ls -a /etc/apache2/ssl/
を実行し、以下のファイルがあること確認します。
[server.crt][server.csr][server.key]


httpsで接続するサイトの設定を行います。
vi httpd-ssl.conf


httpsで接続するサイトの設定を行います。
Listen 443をコメントコメントアウトします。

#Listen 443


httpsで接続するサイトの設定を行います。
<VirtualHost _default:443>の欄を変更します。

NameVirtualHost *:443
<VirtualHost *:443>
DocumnetRoot /usr/share/apache2/default-site/htdocs
ServerName サーバのIPアドレス:443(または、ssl証明書のコモンネームをいれる)
#ServerAdmin の行をコメントアウト
ErrorLog /var/log/apache2/error.log (error.logにする)
TransferLog /var/log/apache2/access.log (access.logにする)

※デフォルトでは、htdocsフォルダはないので、フォルダを作成します。
またhtdocsフォルダの中に適当なhttps接続用のindex.htmlファイルを置いています。


httpsで接続するサイトの設定を行います。
サーバ証明書を配置した場所のパスと、秘密鍵を配置した場所のパスを指定します。
[SSLCertificateFile]→/etc/apache2/ssl/server.crt (サーバ証明書を配置したパスでsslフォルダがパスに入るので注意)

[SSLCertificateKeyFle]→/etc/apache2/ssl/server.key (秘密鍵を配置したパスでsslフォルダがパスに入るので注意)


apacheを再起動します。
/etc/init.d/apache2 stop
/etc/init.d/apache2 start


ウェブブラウザ(IEなど)から、
https://自分のIPアドレス/
を実行します。


[OK]をクリックします。


[はい]をクリックします。


https用の接続ページが表示され、右下に鍵のマークが確認できます。




押し頂けるとありがたい
旅先でのパンク対応に
あとお水はいかがですか
XOOPS Cube PROJECT