WordPress の Tips を公開しました

前のブログにも書いていましたが WordPress のバージョンアップをいろいろやってた中で記事としてまとめられそうなものが1つあったので Tips として公開しました。

PHP のバージョンアップや MySQL のバージョンアップなどもありましたが、調べれば他のサイトでも載っているようなことなので省いています。まあ単純にいろいろ手探りすぎすぎて確証がなかっただけなのですが。それらについては前のブログを見てください。

IIS 上の WordPress で使用している MySQL のバージョンを 5.1 から 5.7 に上げる際に躓いたこと

PHP の方は WebPI で簡単にバージョンアップできたので問題ないのですが、MySQL の方は WebPI に 5.5 までしかなく、さらに直接バージョンアップできないようなので以下のサイトを参考に実施してみました。

[MySQL]5.1から5.7へバージョンアップ(Windows編) (tksoft.work)

しかし、いくつかの箇所で書いている通りに動かなかったり文字化けしている箇所があったので、そのあたりを補足しておきます。

ちなみに参照先の記事ではコマンドプロンプトを使用していますが、私の環境ではすべて PowerShell で実行しています。

初回起動とデータファイルのアップグレード

image

図のようにかかれているのですが、上記をそのまま実施してもエラーになります。正しい手順としては

  1. コマンドプロンプトを起動して「cd "C:/Program Files/MySQL/MySQL Server 5.7/"」と入力する
  2. 「.\bin\mysqld --skip-grant-tables」と入力する。
  3. 最初のウィンドウは「実行中のまま」になるので閉じずに放置。
  4. 新しくコマンドプロンプトを起動して「cd "C:/Program Files/MySQL/MySQL Server 5.7/"」と入力する
  5. 「./bin/mysql_upgrade -u root 」と入力する。

数十行にわたってアップデートされれば成功です。抜粋すると結果はこんな感じ

Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv                                 OK
mysql.db                                           OK
      :
      :
status   : OK
Upgrade process completed successfully.
Checking if update is needed.

サービスの無効と登録

ここのコマンドもおそらく文字化けして間違っています。

image

正しい手順は

  1. コマンドプロンプトを「管理者権限」で起動。
  2. 「cd "C:/Program Files/MySQL/MySQL Server 5.7/"」を入力。
  3. 「.\bin\mysqld --install MySQL5.7 --defaults-file="C:/Program Files/MySQL/MySQL Server 5.7/my.ini"」を入力。

正常に実行されたなら「Service successfully installed.」と表示されるはずです。

次の Network Service のパスワードについてですが、登録するタイミングでは空にする必要があります。ここのパスワード蘭は空で登録しても再度開くと空登録でも●●●●が表示される仕組みになっています。

環境変数

変更しなくても 5.7 で動作することは確認しましたが、一応 5.1 から 5.7 に直した方がいいかも。コマンドで「mysql --version」と入力しても 5.1 のままなので。

WordPress 側のセキュリティ対策、バージョンアップを実施しました

WordPress を初期インストールしてから WordPress しかバージョンアップを実施していなかったので、内部の PHP や MySQL のバージョンアップ、HTTP ヘッダーの見直しなどを実施してみました。

基本的にはブログのような扱いしかしていないので閲覧には問題ないと思いますが、何かエラーになるような現象があればコメントください。

※一部のページで前からレイアウトが崩れていますが、まあ記事を見る分には問題ないので放置中…

ホームページの移転について

現在 sorceryforce.net のサイトはレンタルサーバー「ExpressWeb」で運用しているのですが、今年でサービスを終了するようなので、移転を考えなければいけなくなりました。契約期間はまだあるので今すぐということではないのですが、近いうちに別サーバーにサイトを移す予定です。

このサイトは ASP.NET で作っているので、移転先も Windows Server にする予定です。特別 Web サービスを公開しているわけではないので、ドメインの切り替えとかうまくいけばアドレス変わることなくダウンタイムは特にないかもしれません。

ただ1つ問題があって、このブログだけ WordPress で動いているのでもしかしたら移行は単純にいかないかもしれません。割と変な構成で作ってしまっていて、ASP.NET アプリケーションの中に WordPress が存在するという意味不明な構成になっているため、移行先で正しく動かせるか自信がありません。

なのでもしかしたらブログのほうだけは別のサイトで運用する、という形になることも考えられます。過去記事がうまく移行できてページIDも同じであるならばリダイレクトでうまく制御できると思いますが、移行がうまくいかなければ記事が消滅ということになるかもしれません…。

まあ、まだちょっと先の話なので、日が近づいて来たらまた書くつもりです。

]]>

ブログにアクセスカウンター設置してみました

WordPress の標準機能にアクセスカウンターの機能がなかったのでずっと放置していたのですが、久々に調べてみたらプラグインでいろいろ公開されているみたいだったのでサイドメニューに追加してみました。

使用したプラグインは「count per day」というもので、英語圏のプラグインなのですが、インストール後は自動的に日本語で表示されるので割と使いやすいです(一部英語のままですが)。プラグインインストール後はウィジェットから配置できます。

WordPress のアクセスカウンターなので sorceryforce.net や sorceryforce.com のアクセスカウントは含まれません。

]]>

ExpressWeb 上にインストールした WordPress の自動インストール手順

メモです。

ExpressWeb に WordPress をインストール後、自動アップデートしようとしてもエラーになります。これはフォルダに書き込み権限がないためです。

●アップデート手順

  1. ExpressWebのコントロールパネルにログイン
  2. ファイルマネージャーを開き、WordPress をインストールしたフォルダまで移動 (インストールフォルダの仲間で入らない)
  3. インストールフォルダの右にある灰色の南京錠マークをクリック
  4. ドメイン名の行にある「変更」にチェックを入れてアクセス権を変更する
  5. WordPress ダッシュボードから自動インストールを行う
  6. インストールが完了したらアクセス権の「変更」を解除する
]]>