カテゴリー
さくらインターネット

MySQLをバージョンアップしたらWordPressが早くなった

正月休みで久しぶりにWordPressの管理画面をみたら、サイトヘルスステータスに「1件の致命的な問題」があり、「非常に古いデータベースサーバー」とあった。説明には「 MySQL バージョン 5.6 以上を推奨」とある。

さくらインターネットのコントロールパネルを開いて、MySQLのバージョンを調べると、バージョン5.1だった。これはバージョンアップする必要ありです。

さくらインターネットのサイトにバージョンアップ方法があったので、この通りにすすめて無事バージョアップ完了できました。

【新コントロールパネル】データベースアップグレード機能 – さくらのサポート情報

ただし、「この機能はデータのコピーまでとなります。アップグレード後のデータベースをご利用いただくには、ウェブアプリケーションの設定を変更していただく必要があります。」と説明があるように、全自動という訳にはいかなくて、wp-config.php の修正は手作業になる。ちょっと面倒。

MySQLをバージョンアップしたら、これまでに比べ、ブログを閲覧したときの表示動作が早くなったので良かった。編集作業でDBに書き込む動作も早くなっていると想像されるのですが、相当久しぶりにやっているのでなんとも言えない。

ついでにテーマもTwenty Twentyに変更し、Aboutなども最近の事情にあわせて修正しました。カスタマイズ方法がわからないので、ぼちぼち手直ししてみたいと思います。

 

カテゴリー
Python3 さくらインターネット

pip3が使えないので、さくらのレンタルサーバに Python3.6.5 をインストールする

久しぶりにさくらレンタルサーバを触っていて、pip3が使えないことに気づいた。

$ pip3 install pytz
Collecting pytz
  Could not fetch URL https://pypi.python.org/simple/pytz/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:777) - skipping
  Could not find a version that satisfies the requirement pytz (from versions: )
No matching distribution found for pytz

エラーメッセージから推測するに、 OpenSSLがらみの問題で使えないようだ。この前のように、Python 3.6.3 をバージョンアップして Python 3.6.5 にしたのだが、pip3 が正常に使えない。

$ python3 -V
Python 3.6.3

$ pip3 -V
pip 9.0.3 from /home/bty/local/python/lib/python3.6/site-packages (python 3.6)

それじゃ、ということで、OpenSSL あたりはどなっているのか調べてみる。

$ openssl version
OpenSSL 1.0.2h  3 May 2016

$ python3
Python 3.6.5 (default, May 26 2018, 19:04:07) 
[GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> print(ssl.OPENSSL_VERSION)
OpenSSL 0.9.8zf 19 Mar 2015
>>>

あれれ。なぜか、せっかくインストールした Python 3.6.5 は古いバージョンのOpenSSLを呼んでくるみたいだ。configure するとき、/usr/local/ssl を使うようにオプションを追加してコンパイルしたら、新しいOpenSSLを使うようになり、pip3もちゃんと動くようになった。

$ python3
Python 3.6.5 (default, May 26 2018, 19:04:07) 
[GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> print(ssl.OPENSSL_VERSION)
OpenSSL 1.0.2h  3 May 2016

以下はインストールした記録

■インストール準備

前回インストールしたPython 3.6.3 と インストールに使ったファイルたちをばっさり削除した。

$ rm -rf ~/local/python/*
$ rm -rf ~/work/py3/*

■Python3.6.5 をインストール

$ mkdir -p ~/work/py3
$ cd ~/work/py3
$ wget --no-check-certificate https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
$ tar zxvf ./Python-3.6.5.tgz
$ cd ./Python-3.6.5
$ ./configure CPPFLAGS="-I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib" --prefix=$HOME/local/python
$ make
$ make install

インストール先は $HOME/local/python ディレクトリになる。

■メモ
それにしても、いつSHELLをbashに変更したんだろうか、ぜんぜん記憶がない。

カテゴリー
Python さくらインターネット

さくらのレンタルサーバにPython3.6.1をインストールした

Python3.4をインストールしたのが昨年6月だから、ほぼ1年経っている。

手元のPCのPythonは、Anacondaという超便利な仕組みでインストールして、Python 3.6.0になっている。このPCで作ったプログラムをさくらのレンタルサーバに転送して実行したらエラーがでてしまった。

dateteimモジュールで、W3C Datetime 形式のタイムスタンプ、つまり 2004-09-22T14:12:14+00:00 という形式のやつを作りたいので下記のように書いて

dt.isoformat(timespec=’seconds’)

Python3.4.3で実行したら、

‘timespec’ is an invalid keyword

と怒られた、というわけだ。Python 3.6で動いてるんだから、プログラムの回避策を考えるよりもPythonをバージョンアップしたほうが早い。

前置きはそこそこに、Python 3.6.1のインストールはあっけなく終わった。

前回記事のさくらのレンタルサーバにPython3.4をインストールするのとおりに、「3.4.3」 を 「3.6.1」 に変更してやったらうまくいった。やっぱり作業を記録しておくのは大事ですね。ということで、再び記録しておく。

取得したソースのURL
https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

% python3
Python 3.6.1 (default, May  6 2017, 18:08:26)
[GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9
Type "help", "copyright", "credits" or "license" for more information.
% pip3 -V
pip 9.0.1 from /home/bty/local/python/lib/python3.6/site-packages (python 3.6)
%