opensslをインストールしてセキュアなhttps通信ができるようにする。
ソースコードのダウンロード
公式サイトより最新バージョンをダウンロードする。
- OpenSSL: Source, Tarballs
- http://www.openssl.org/source/
/usr/local/src/に最新版をダウンロードする。
cdn-project:/usr/local/src# wget http://www.openssl.org/source/openssl-0.9.8i.tar.gz --16:05:46-- http://www.openssl.org/source/openssl-0.9.8i.tar.gz => `openssl-0.9.8i.tar.gz' www.openssl.org をDNSに問いあわせています... 195.30.6.166 www.openssl.org|195.30.6.166|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 3,459,643 (3.3M) [application/x-tar] 100%[=============================================================================================================================>] 3,459,643 103.21K/s ETA 00:00 16:06:21 (99.30 KB/s) - `openssl-0.9.8i.tar.gz' を保存しました [3459643/3459643]
解凍
cdn-project:/usr/local/src# tar xvzf ./openssl-0.9.8i.tar.gz (省略) cdn-project:/usr/local/src/openssl-0.9.8i# ./config shared (省略) cdn-project:/usr/local/src/openssl-0.9.8i# make
makeをしようとしたら下記のエラーが発生した。
cdn-project:/usr/local/src/openssl-0.9.8h# make making all in crypto... make[1]: ディレクトリ `/usr/local/src/openssl-0.9.8h/crypto' に入ります ( echo "#ifndef MK1MF_BUILD"; echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c */'; echo ' #define CFLAGS "gcc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM"'; echo ' #define PLATFORM "linux-elf"'; echo " #define DATE "`LC_ALL=C LC_TIME=C date`""; echo '#endif' ) >buildinf.h gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -c -o cryptlib.o cryptlib.c make[1]: gcc: コマンドが見つかりませんでした make[1]: *** [cryptlib.o] エラー 127 make[1]: ディレクトリ `/usr/local/src/openssl-0.9.8h/crypto' から出ます make: *** [build_crypto] エラー 1
gccがインストールされていない模様。aptgetでgccをインストール。
cdn-project:/usr/local/src/openssl-0.9.8i# apt-get install gcc (省略)
途中cdromを入れてくださいとかわけのわからないことを指示されたが言われたとおりやってインストールは無事完了。
もう一度makeのやり直し。
cdn-project:/usr/local/src/openssl-0.9.8i# make (省略) cryptlib.c:744: error: ‘stderr’ undeclared (first use in this function) cryptlib.c:744: error: (Each undeclared identifier is reported only once cryptlib.c:744: error: for each function it appears in.) cryptlib.c: In function ‘OpenSSLDie’: cryptlib.c:755: warning: implicit declaration of function ‘abort’ cryptlib.c:755: warning: incompatible implicit declaration of built-in function ‘abort’ cryptlib.c: In function ‘OPENSSL_stderr’: cryptlib.c:758: error: ‘stderr’ undeclared (first use in this function) make[1]: *** [cryptlib.o] エラー 1 make[1]: ディレクトリ `/usr/local/src/openssl-0.9.8i/crypto' から出ます make: *** [build_crypto] エラー 1
またエラー。gccだけインストールしてもだめか。
cdn-project:/usr/local/src/openssl-0.9.8i# apt-get install g++ (省略)
g++一式をインストールした後でもう一度挑戦。
cdn-project:/usr/local/src/openssl-0.9.8i# ./config shared (省略) cdn-project:/usr/local/src/openssl-0.9.8i# make (省略) cdn-project:/usr/local/src/openssl-0.9.8i# make install (省略)
無事完了できた模様。