備忘録」カテゴリーアーカイブ

OpenSSLを最新版に更新(Ubuntu16.04LTS)

バージョンの確認

openssl version

公式サイトから最新版(1.11d)をダウンロード

cd /usr/local/src/
sudo wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz

解凍、解凍先へ移動
※make時にエラーが出るので、パーミッションの変更をしておく。

sudo tar zxvf openssl-1.1.1d.tar.gz
sudo chown user -r openssl-1.1.1d
cd openssl-1.1.1d

make時のzlib関連エラーを回避
/apps/enc.c を下記のように編集。
/usr/local/src/openssl-1.1.1d/apps/enc.c

- while (BIO_pending(rbio) || !BIO_eof(rbio)) { ... }
+ for (;;) {

ビルド&インストール
※make/make test は sudo を使わない。

sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
sudo make install

OpenSSL共有ライブラリ
/etc/ld.so.conf.d/openssl-1.1.1c.conf

 + /usr/local/ssl/lib

バイナリファイルのバックアップ

mv /usr/bin/c_rehash /usr/bin/c_rehash.backup
sudo mv /usr/bin/openssl /usr/bin/openssl.backup
sudo nano /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"

バージョンチェック

source /etc/environment
echo $PATH
which openssl
openssl version -a

参考:
Installing OpenSSL on Ubuntu 16.04/18.04
OpenSSL-1.1.1d make test failed, test_enc test #171 zlib #9988

IPv6への対応 (Ubuntu16.04LTS / Nginx)

ファイアーウォールの確認

sudo ufw status

Nginxの設定
/etc/nginx/nakachan.conf

server {
listen       80;
+listen      [::]:80; //←追加
server_name  idol-nakachan.world;
return 301 https://$host$request_uri;
}
server {
listen       443 ssl http2;
+listen      [::]:443 ssl http2; //←追加
server_name  idol-nakachan.world;

...
}

再起動

sudo nginx -t
sudo systemctl restart nginx

Value-Domainの設定
ネームサーバー:ns1~5.value-domain.com に変更
DNS/URL:下記のように変更

aaaa @ xxxx:xxxx:xxxx:xxxx:xxxx:xxxx // ←ipv6 を入力
a @ xxx.xxx.xxx.xxx           // ←ipv4 を入力
a www 123.123.123.3
mx @ 10

PHP7.2/7.3への対応

SQLのエクスポートをしようとするとこの様なエラーが出るように…
php7.2/7.3になって文法がいろいろ変わったせいだと思われる。
該当箇所を修正するとエラーが無くなりました。

count()関係の変更
Warning in ./libraries/plugin_interface.lib.php#532
count(): Parameter must be an array or an object that implements Countable

/usr/share/phpmyadmin/libraries/plugin_interface.lib.php

- if($options!= null && count($options)> 0){
+ if($options!= null && count((array)$options)> 0){