[WP] WordPressをアップデートした途端にエラーを吐いてダウン,SnapShot Replicationを使用して瞬時に復元! パーミッションの設定方法[2023/09/23]

Ver.6.2.2でもダメ

WordPress 6.1.3から6.2.2に更新してもWarnningを吐いてしまう.その後,WordPressは起動しなくなってしまった.

Warnningはフォルダーの権限(パーミッション)設定にあるとのメッセージです.このメッセージが170余り続きます.どうやら173行面のfilesystem関連のようです.


Warning: chmod(): Operation not permitted in /volume1/web/myblog/wp-admin/includes/class-wp-filesystem-direct.php on line 173

以下に示したサイト*1の内容を参考に修正してから,もう一度WordPressの更新を行おうと考えている.今日(7/9)はここまで.

*1, WordPressのパーミッション設定決定版

(d/f) rwx rwx rwx
r: read, w: write, x: execute

https://qiita.com/hirai-11/items/f4d81f27886b623c5ef0

備忘記録

WordPressの更新プログラムの適用には,個人ユーザーで割り当てるのではないため,以下の設定は更新プログラムの適用には,基本的に関係がない.ただし,この設定の目的は,セキュリティを高めることである.

– そもそものパーミッション設定値は

ググった結果,一般的な値は以下の通り.環境によっても違った最適な値があると考えられるので,現状はこれで設定しても良いがが,最適値を知るには調査を継続して,塾講が必要である.それが専門家の一歩.

パーミッション(permission; 権限)は,(所有者-グループ-その他)の並びでそれぞれ十進数では,一桁の0~7の数字で構成されている.差更に0~7は二進数では,三桁(rwx)で表される.r: read, w: write, x: executeの意味.r, wおよび xは,0または1であり,1の場合に権限がある.

具体的な数値の意味としては,7は,フルアクセスであり,6の意味はread & writeとなる.

以上の意味から,基本的に7, 5, 1は,めったに設定されない.

  1. .htaccess : 606 or 604
    • 606の左から6は所有者(owner),0はグループ(group),6はその他のユーザー
  2. wp-config.php : 400
  3. ディレクトリ : 705
  4. その他ファイル : 604

NASでの作業 (コマンド編)

パーミッション設定作業は,DSMではできない(?)か,当初は理解不足だったのでsshでログインしてコマンド操作で実施したが,それでもWordPressのUpdateはできなかった.おそらく,トップの「web」フォルダーを含めた設定が必要ではないかと考えられた.sshでのコマンドについて備忘記録をここに残しておく.

<備忘記録>

  1. Login: ssh “<NAS IP Address>” -p “<port>”
  2. Command : sudo chmod 604 .htaccess
  3. command : sudo chmod 400 wp-config.php
  4. Command : sudo find . -type d -print|xargs|sudo chmod 705
  5. Comamnd : sudo find . -type f -print|xargs|sudo chmod 604

NASでの作業(DMS編)

そもそも,パーミッションの(所有者-グループ-その他)についてFileStationからプロパティを開いて,そのパーミッションにおけるパラメータとの対応がよくわからない.パーミッションの「所有者」とは? 「グループ」とは?

例えば,そのパーミッション設定には,User or Groupとい設定項目がある.これは,(所有者-グループ-その他ユーザー)におけるどのことを示しているのか不明だ.User or Groupで「http」を指定したパーミッションは,いったい(所有者-グループ-その他)のどれにあたるのか?

所有者/グループの見極めの答えは,こうだ.

  1. httpが所有者か,グループか,その他ユーザーかは,コントロールパネルのユーザー設定で判断できる.httpは,グループにあるので,httpはグループと判断できる.
  2. 同様に,httpsはグループである.

以下のSynologyサイトにパーミッションの設定方法が記載されている.sshは,セキュリティ的にあまり使いたくないので,DMSのFileStationでパーミッションの設定ができるように,設定方法を調査した.

トップの「web」フォルダーのパーミッションの設定は以下の通り,readまたはread & writeに設定する.

  1. webのプロパティー(properties)から
  2. Permission Editorを開く
  3. User or Groupを「http」に
  4. Inherit (継承) from を「<none>」のまま
  5. Typeを「Allow」に
  6. Apply toを「All」に
  7. Read,またはReadとWriteにチェック.

以上の結果,機能しなくなっていたSiteGuard(以下に説明した)のCAPTCHAが表示できるようになった.

How should I set access permissions to folders used for hosting websites?

https://kb.synology.com/en-ca/DSM/tutorial/What_should_I_set_permissions_to_folders_for_websites

Read設定では機能しないプラグイン

SiteGuardというWordPressへのログイン制限が可能となるプラグインでは,ReadとWriteの設定になっていないとCAPTCHAが表示されない.

人気順