物理NIC買い忘れた

ESXiホストと仮想マシンのIPアドレスは別に必要だったため、物理NICをAmazon.co.jp でお買い物。

ギガビット デスクトップPCI-e 10/100/1000 Mbps自動ネゴシエーションネットワークアダプタ(インテル 82574L / EXPI9301CT チップセット)NIC、シングル銅RJ45ポート(短縮版)

インテル PRO/1000 PT サーバ・アダプタ EXPI9400PT

届くのが来週なのでESXiホストのオレオレ認証局からSSL証明書をインポートしました。

「自己認証局(CA)と自己証明書(SSL)を Windows 版の XCA で管理してみる」

が詳しいので参照することをお勧めしますが、インポートはEdgeブラウザの[設定] -[証明書の管理] – [インポート]-[証明書のインポートウィザードの開始]から、作成した証明書を[インポート]しました。

ブラウザからホスト名でエラーなしでアクセスできることを確認して作業終了です。

来週こそゲストOSインストールしたいです。

サイトのSSL暗号化

Webサーバー間通信内容暗号化(Apache+mod_SSL+Certbot) でサイトのSSL暗号化しようとして失敗した点をメモ。

1.Apache はソースからビルドしたので/usr/local/apache2/conf.d/ssl.conf がなかった。→コピーして解決。

# cp /etc/httpd/conf.d/ssl.conf /usr/local/apache2/conf.d/ssl.conf

2./usr/local/apache2/conf.d/ssl.confをApacheが起動しても読み込んでくれなかった。→httpd.conf 内に Include conf.d/*.conf を追記して解決。

# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf
#
# Note: The following must must be present to support
#       starting without SSL on platforms with no /dev/random equivalent
#       but a statically compiled-in mod_ssl.
#
Include conf.d/*.conf  ←(追記

3.httpd.conf のヴァーチャルホスト設定はssl.conf が設定してあると2重になる。→httpd.conf の<VirtualHost *:443>~</VirtualHost>を削除して解決。

以上、3点でした。ルーターの443 を開放してApache を再起動したらホームページをhttps:// ~で表示できることを確認。

searchreplacedb2.php でデータベースのhttp:// の部分をhttps:// にreplace してサイトのSSL化、・・・完了です。

OpenSSL バージョンアップ

OpenSSL のバージョンアップの方法をメモ。OpenSSL 最新版は、OpenSSL-1.0.2e (2016年1月11日現在)

OpenSSL バージョン1.0.2d をソースからインストール – Qiita

上記サイトを参考に、バージョンを読み替えて、./config。

# wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
# tar xzvf openssl-1.0.2e.tar.gz
# cd openssl-1.0.2e
# ./config --prefix=/usr/local/ssl shared zlib
# make && make install
# mv /usr/bin/openssl /usr/bin/openssl.bak
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# openssl version

今回は、/usr/local/ssl ディレクトリにインストールしました。ポイントは、PHPのオプションも、

--with-openssl=/usr/local/ssl

と書き換えてリビルドする必要があることです。(じゃあ最初にやれよということですね、はい。)

リビルドがうまく行かない場合は、作業ディレクトリで、config.log でエラーをチェックしてgoogle に投げたり、make distcleanして makeをやり直してみましょう。私の場合は、yum install openssl-devel で追加したところwordpress/が一時、表示できなくなりOS再起動をしてなんとか復旧しました。

まとめ:リビルドは最悪のケースを考えてバックアップを万全にしましょう。

VirtualBox でLAMP

昨日のエラー Building The OpenGL support module [FAILED] は消えていましたが、今度はApache2 のhttpd.conf で、Cannot load /usr/local/apache2/modules/mod_ssl.so  into server: libssl.so.1.0.0 とエラーするので、OpenSSL をソースビルドでいれてみました。

LinuxにApacheとOpenSSLをソースからビルドしてインストールする – Qiita
http://qiita.com/DQNEO/items/3613cc1d87c01121a9e2

それでもエラーがなくならないので、yum から mod_ssl をインストールしたところ解決しました。OpenSSL とmod_ssl の違いが分かりませんが結果オーライということで。

[root@centos ~] yum install openssl-devel 
[root@centos httpd-2.2.31] cd modules/ssl
# /usr/local/apache2/bin/apxs -cia -DHAVE_OPENSSL -I/usr/include/openssl -lssl *.c

PHP は (2015年8月9日現在) 最新版、6.5.11 を./configure make make install して

./configure --with-apxs2=/usr/local/apache2/bin/apxs\
--with-iconv\
--enable-mbstring\
--with-mysql\
--with-libxml-dir=/usr/bin/xml2-config

phpinfo.php 表示できました。

phpinfo