ガラクタIT創作活動へのモチベーションも回復してきたので、私が活動の場としているサイトやブログ・SNSの再構築に取り掛かることにした。
まずはWebサーバーのnginxをstableからmainlineのバージョンにアップデートすることにした。
作業はaptでバイナリインストールすることにした。すでに私はstableの1.10.1をインストールしている環境での作業になる。
nginxのバイナリパッケージのインストールは以下のサイトの手順に従った。
http://nginx.org/en/linux_packages.html#distributions
ubuntuでの手順は以下のとおりである。
- http://nginx.org/keys/nginx_signing.keyをダウンロード
sudo apt-key add nginx_signing.key
/etc/apt/sources.list
に以下を追加
deb http://nginx.org/packages/mainline/ubuntu/ codename nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ codename nginx
(codenameには使用中のバージョンのものを入れる)apt-get update
apt-get upgrade
apt-get install nginx
これでmainlineバージョンのインストールができるはずなのだが、なぜかコケる。
.../nginx_1.11.7-1~trusty_amd64.deb を展開する準備をしています ...
nginx (1.11.7-1~trusty) で (1.10.1-3+trusty2 に) 上書き展開しています ...
dpkg: アーカイブ /var/cache/apt/archives/nginx_1.11.7-1~trusty_amd64.deb の処理中にエラーが発生しました (--unpack):
'/etc/default/nginx' を上書きしようとしています。これはパッケージ nginx-common 1.10.1-3+trusty2 にも存在します
dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました
処理中にエラーが発生しました:
/var/cache/apt/archives/nginx_1.11.7-1~trusty_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
どうも前のバージョンが悪さしているようなので、以下の操作を実行。
apt-get remove nginx-common
apt-get autoremove
これで再度apt-get install nginx
を実行したらインストールができた。
これで念のためHTTP/2 Testを実行したところALPN未サポートとメッセージ表示。これは確か前に経験したな。。
https://blog.sfpgmr.net/entry/2016/05/21/170719
なので、ソースパッケージからインストールすることした。その時に使ったconfigureのコマンドラインは以下の通り。--with-openssl=../openssl-1.0.2h
が肝となる。ああ、opensslも最新バージョンにしとけばよかったな。。
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed' --with-openssl=../openssl-1.0.2h
これでmainlineバージョンに変更することができた。