URLにスペースを含むとWordPress等でエラーの原因となる

URLにスペースがある状態でWordPressPermalinkを変更すると、TOP以外はError 404。
また、画像が表示されない等の不具合があるので、URLにスペースをいれないようにすること。
※クエリストリングには「+」または「%20」を用いる。例: https://www.google.co.jp/search?q=Mac+Windows

・参考
Why You Should Eliminate & Redirect %20 and Blank Space URLs
How to Redirect URLs with %20 or Blank Spaces in .htaccess File | Austin Bay

An In-Depth Guide to mod_rewrite for Apache

URLが空白を含むときは「スペース」と「%20」、「+」のどれを使うべきか? | 海外SEO情報ブログ

文字化け 対処法 | XAMPP v3.2.2 | phpMyAdmin 4.6.5.2

日本語などを入力すると文字化けや???と表示される時の対処法です。

1. mysql 接続後、デフォルト文字セットをutf8に設定

$connection = mysqli_connect('localhost', 'root', '', 'databasename');
mysqli_set_charset($connection, "utf8");

2. phpMyAdmin テーブルの照合順序をutf8_general_ci に設定

SQL 単一

ALTER TABLE `category` CHANGE `name` `name` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
SQL 複数
ALTER TABLE `category` CHANGE `datetime` `datetime` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, CHANGE `name` `name` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

設定完了
f:id:mu_mu_mu:20171224200401p:plain

データ追加
f:id:mu_mu_mu:20171224201100p:plain


・参考
PHP - ロリポップサーバーでphpMyAdminの日本語が文字化けする(91552)|teratail

mysql - correct utf-8 characters in phpMyadmin - Stack Overflow

Let's Encrypt 証明書更新時のエラー対処 Amazon Linux AMI

Amazon EC2 instance

証明書の更新時、以下のエラーが出ました。

sudo ./certbot-auto renew
Error: couldn't get currently installed version for /opt/eff.org/certbot/venv/bin/letsencrypt:
Traceback (most recent call last):
File "/opt/eff.org/certbot/venv/bin/letsencrypt", line 7, in
from certbot.main import main
File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/certbot/main.py", line 9, in
import zope.component
File "/opt/eff.org/certbot/venv/local/lib/python2.7/dist-packages/zope/component/__init__.py", line 16, in
from zope.interface import Interface
ImportError: No module named interface


以下のコマンドを実行します。

unset PYTHON_INSTALL_LAYOUT
sudo /opt/eff.org/certbot/venv/local/bin/pip install --upgrade certbot
Successfully installed PyOpenSSL-17.3.0 asn1crypto-0.23.0 certifi-2017.11.5 cffi-1.11.2 chardet-3.0.4 cryptography-2.1.3 enum34-1.1.6 future-0.16.0 idna-2.6 ipaddress-1.0.18 parsedatetime-2.4 pbr-3.1.1 pycparser-2.18 pytz-2017.3 requests-2.18.4 six-1.11.0 urllib3-1.22 zope.component-4.4.1 zope.event-4.3.0 zope.interface-4.4.3


再度、証明書を更新します。

sudo ./certbot-auto renew
new certificate deployed with reload of apache server; fullchain is
/etc/letsencrypt/live/www.---.com/fullchain.pem
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/www.---.com/fullchain.pem (success)


Apacheを再起動します。

sudo service httpd restart


更新後に証明書の情報から有効期間を確認しましょう。
有効期間が更新されていれば成功です。


・参考
Amazon Linux で Let's Encrypt のエラーが出た場合の対処 - らくがきちょう

ImportError: No module named interface from zope.interface · Issue #5100 · certbot/certbot · GitHub

AtomとChromeでPCがクラッシュ、画面が一色になった原因

AtomChromeを使用していたらPCがクラッシュ。
2つのモニターの内、一つが緑一色、もう一つが灰色一色になりました。

f:id:mu_mu_mu:20170908112429j:plain

PCの故障かなと思ったのですが、調べると故障ではないようなのでメモしておきます。

Dell M4500, Quadra FX1800M, Google Chrome, system crash
https://forums.geforce.com/default/topic/974510/dell-m4500-quadra-fx1800m-google-chrome-system-crash/?offset=3

Do Not Use AMD 16.7.3 Drivers: Corruption, Hard Crashes, & OC Limit
http://www.gamersnexus.net/news-pc/2536-do-not-use-amd-16-7-3-driver-corruption-and-crashes

どうやらドライバーとメモリーの問題らしい。
クラッシュ後、再起動して確認するとGeForceドライバーとAtomが暫く更新されていませんでした。
そういえば以前、GeForceドライバーとAtomを更新せず、ChromeAtomで作業をしたら非常に重かった。
それはキャッシュやCookie等の問題ではなく、GeForceドライバーとAtomを更新したらChromeがいつも通り軽くなったので、今回のクラッシュもそれが原因かな。
ということで、GeForceドライバーとAtomをこまめに更新しましょう。

パーマリンク設定変更で404エラーの対処 CentOS7 PHP7 WordPress 4.7.3

httpd.confのOptions Indexes FollowSymLinks下にあるAllowOverrideをAllにします。

vi /etc/httpd/conf/httpd.conf
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

Apacheを再起動します。

service httpd start

再度パーマリンク設定を保存して確認しましょう。


・参考
トピック: パーマリンクの変更で404エラーになります。 « サポートフォーラム — WordPress

WordPress を専用ディレクトリに配置する - WordPress Codex 日本語版

CentOS7 PHP7.1.2 お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

mysql extensionはdeprecatedされてPHP7に存在しないので、
php-mysqlnd packageのmysqliとpdo_mysql extensionsが入っているか確認します。

$ php -m | grep mysql

何も出力されない場合はphp-mysqlndをインストールします。

yum install yum-utils
yum-config-manager --enable remi-php71
yum install php-mysqlnd

再度確認します。

$ php -m | grep mysql
mysqli
mysqlnd
pdo_mysql

Apacheを再起動します。

# service httpd restart

再起動後、Wordpressへアクセスしましょう。


・参考
お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。 – KUJIRA note

Unable to install php-mysqli on PHP7 - Stack Overflow

blog.remirepo.net

PuTTYgen鍵生成 PuTTY ssh "server refused our key"の対処法

PuTTYgenで鍵生成後、public keyの内容が下記のようだとserver refused our keyとなります。

----BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20160208"
XXXXXX
XXXXX.....
----END SSH2 PUBLIC KEY ----

これを下記のように変更する必要があります。

"
ssh-rsa XXXX......== rsa-key-20160208
"

public keyの内容を青枠線内に表示されている内容に変更しましょう。

f:id:mu_mu_mu:20161128181248p:plain

・参考
How to Generate SSH Keys on PuTTY

PuTTY + ssh - "server refused our key" | DigitalOcean

WinSCPの秘密鍵の設定方法:秘密鍵とは?/秘密鍵の作り方