タグ: Synology

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

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

    はじめに

    WordPressは,以下のようなファイル群で成り立っています.WordPressのバックアップは,それぞれのファイルのバックアップがされているなら、問題が生じて復元が必要となった場合,問題となったファイル群の復元によりWordPressを元にもどせます.

    1. データベース (MariaDB 10)
    2. WordPressのシステム(PHPファイル)

    WordPressがSynology NASに置かれているなら,プラグインを使用せずとも,PHPファイルの復元はSynology NASの標準機能を使って簡単に行うことができます.

    WordPress更新でスタック

    WordPressの新しいバージョンが出た時にアップデートすることになる訳ですが,例えば,WordPress 6.0や6.2など(x.0やx.x)の場合,細かなバグがまだ少なからず含まれている場合があります.そういった時に少なからず起こるのが,「WordPressの更新をした途端にWordPressがダウンする」ことです.

    また,最近知った情報では,WordPressなど関連するフォルダの権限設定について,WordPressのインストーラが厳格になったことで,以前のバージョンから新しいバージョンへの更新が途中で止まることが多々あるようです.フォルダのパーミッションの設定で以前にいじった記憶があり,それが原因として今回,何度目かのWordPress のバージョン更新で顕在化してしまったようです.現在,WordPress 6.2および,しばらく待った6.3も更新の途中でエラー表示を多数吐きながら,そのまま沈黙してしまいます(2023/08/19).そうなると,もはや,サイトへの閲覧・アクセスは完全に閉ざされます.

    バックアップと復元

    このようなケースに対するWordPressの復旧は,データベース(MariaDB 10)の復元に関しては基本的に必要ではなく,プログラム自体であるPHPファイルなどのWordPressのシステムファイル群の復元を行うことで可能です.

    同様に,プラグインのインストールや更新においても、WordPressが問題を起こした場合の基本的な対策は,データベースを復元するのではなく、PHPファイル群の復元を行うこととなります.

    以下,これらPHPファイル群の復元に関して説明します.

    復元方法の概要

    データベース(MariaDB 10)のバックアップについては説明しません.

    当サイトでは,データベースのバックアップには,とりあえずインストールしたプラグインで対応しています.でも,復元に使用したことはありません.あまり,信じていないからですが.

    Synology NASでWordPressを構築しているのに,WordPressのバックアップ・アプリを使用することは,少し滑稽ですね.レンタルサーバーを使用してWordPressを構築している場合は,当然,WordPressのプラグインのバックアップ・アプリを使用してください.

    今回説明するPHPファイル群の復元では,Synology NASのバックアップ・アプリ: 「SnapShot Replication」を使います.SnapShot Replicationを使用するということは,その他色々なファイルに対して適応可能なシステム用バックアップツールであり,PHPファイルやWordPressに限定されないし,信頼性が高いと思っています.

    SnapShot Replicationは,指定した時間間隔毎に自動的に指定フォルダをバックアップし続けます.何世代までを残すのかの設定をしていれば,容量に困ることは少なくなります.

    もしも,WordPressの更新によりWordPressがダウンしてしまっても,Synology NASのDMSにログインして,SnapShot Replicationから直近で複製されたファイル群を復元してやればよいのです.でも,更新などを実行する場合は,SnapShot Replicationから事前にReplicationしておくのが上等です.

    以下,SnapShot ReplicationによるReplication(複製)とRestor(復元)の手順を示します.

    事前の状態のバックアップ

    WordPressの更新やプラグインの更新の前に,下図のようにSnapShot Replicationを起動して,”Replication -> Action -> Sync”を実行しシステム変更直前の状態を保持します.

    リストア(復元)

    更新作業を実行したものの失敗に終わり,サイトの閲覧・アクセスが完全に閉ざされた時は,以下の手順で事前に取った複製を使って復元します.

    1. DMSにログイン
    2. SnapShot Replicationを起動
    3. 左画面の復元(Recovery)をクリック
    4. 主画面にある複製リストを選択(例では,Web – Replicated)
    5. 復元(Recovery)をクリック
    6. 複製リストが現れる(例では,Recover – web)
    7. WordPressの更新(など)でWordPressがダウンする前,且つ最も新しい複製リストを選択する
    8. (因みに,Browseをクリックすると,複製されたフォルダ/ファイルが表示される.
    9. Action > Restore to this snapshot (復元)をクリックする
    10. (複製するスケジュール間隔が短くて,変更されたファイル数が少ない場合は,瞬時に復元は完了します)
    11. 復元完了
    12. 以上

    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が表示されない.

    Ver.6.3でもダメ

    最近,Version 6.3が出たので,WordPress 6.1.3から6.3に更新してみました.でも,同じように,同様の項目と数のWarnning を吐いて,そのまま沈黙して終了となりました.そこで少しググって,親のフォルダの権限に,「http」のRead権限を設定して,もう一度,Version 6.3で更新してみました.

    その結果,以下のWarnningを吐き沈黙しましたが,今回のWarnningの数は著しく少なくなりました.173行目のfilesystem関連のWarnningは出なくなりました.(実は,もう少し追加の設定が必要なのですが,それは,以下に完結しているので,もう少し読んでみてください)


    試行錯誤でのその他エラー

    試行錯誤してからWordPressの更新をする場合,以下のように表示が出て先に進まない時があります.その場合,データベースにインストールのイベント情報が入力されているため,WordPressのシステムファイルの復元では改善できません.15分間待つしかないようです*2.

    WordPress を更新
    別の更新が現在進行中です。

    *2, WordPress「別の更新が現在進行中です」エラーの解決方法

    https://kinsta.com/jp/knowledgebase/wordpress-another-update-is-currently-in-progress/

    結局

    wordperssのupdateを可能にするには,結局,親フォルダでる”Web”へのアクセス権限として,”http”をオーナーを”Full Control: フルコントロール”に設定することで,無事にWordPress 6.3-jpで更新することが出来ました.

    1. 設定対象 : 親フォルダ”Web”
    2. “オーナ” また “http”による”フルコントロール: 管理・読取・書込”権限を設定した (一般的なLinuxのフルコントロールとは,rwxのうちx(実行)が無いため異なると考えられる)
    3. 設定は,FileStationからフォルダのプロパティを開いて行う

    やっぱり,”ホームNW研究所”の観音寺さん*3には,いつも助けられてばかりです.この場を借りて感謝します^^).

    *3,WordPressの更新に失敗した時の対策
    – ホームNW研究所 –

    webを”フルコントロール: 管理・読取・書込”に設定する.

    https://nw.myds.me/synology/wordpress5-5-update/

    その後

    WordPressのUpdateはできたものの,その後,WordPressにログイン(SiteGuardプラグインから)しようとしたら,その機能てである「ひらがな」のCAPTCHAが表示されなくなっており,ログインができなくなっていたことに気づいた.

    調べてみると,以下のリンクに解決方法があったので,それをヒントに以下を適用した.

    気になる点は,httpのパーミッションがReadのみになっていたフォルダがあったこと.もしかすると,wordpressのUpdateの後処理として処理されている可能性も否定できない.

    1. FileStationから
    2. webフォルダのパーミッションについて
    3. httpを「read, write」をチェックした.
      (この設定は,おそらく,(所有者 – http – その他)において所有者はhttpと考えられるため (6-0-0)と考えることができる.「そもそもパーミッション設定値は」の項で述べた,600に設定されているものと思われる.要は,所有者以外がアクセスできないと理解すれば納得がゆく.
    4. ついでに,httpsにも「read, write」をチェックした.

    ワードプレス SiteGuard 画像表示されない

    wpcontent -> plunins -> siteguard -> really-simple-captcha」のパーミッションを「777」にする

    https://server-recipe.com/1880/

    結局の設定値

    色々作業して混乱してしまったため,どれをどの順序で実施したのかはもう夢のかなたに行ってしましたが,現状では,以下のことが可能となっている.

    1. 試行錯誤の結果,wordpressのupdateが可能なままなのかは不明となってしまった.今後,wordpressのupdateの際に確認したい.
    2. SiteGuardによるログインは可能
    3. Plaginのupdateは可能

    まとめ

    自前のサーバーにWordPressを置いている場合,特にSynology NASを使用している場合での,WordPressの復元について,実際に生じた問題解決に迫られて実施した内容を解説しました.

    WordPressのバックアップにはデータベース(MariaDB 10)とシステムファイル群(PHP)の二種類が必要ですが,今回は,システムファイル群の復元について取り上げました.

    2018年からSynology NASにWordPressを設置してblogを行ってきましたが,システムファイル(PHP)絡みによるWordPressのダウンを何度か経験しました.

    PHPの復元については,Synology NASの場合,SnapShot Replicatonを使えば簡単に復元が可能です.ここでは,取り上げなかったデータベース(MariaDB 10)の復元についても,Hyper Backupを用いれば可能です.このことは,WordPressのバックアップには,プラグインを使用する必要はなく,NASの機能を使ってシンプルにWordPressを管理することが可能であることを意味します.

    WordPressに負担を掛けずに管理する,すなわち,NASに備わった機能を用いて管理するのは,エコだと思います.

    不具合のあったWordPressの更新バージョンはそっとしておいて,6.2.x (x.xx)がでるまでおとなしく待ち,6.3で更新をしてみましたが,結果は,同様にWarnningを吐いて完全停止になりました.

    バックアップの必要性は,結局問題が生じたときの備えです.今回は,関連フォルダのパーミッション不正によりwordpressのupdateが実行不可となったことで,その必要性を再認識しました.

    話題は転じて,WordPressの親フォルダのぱーミッションの設定に関しては,以下の経緯をたどりました.

    試行錯誤として,最初に「http」にRead(読取)権限を付与しました.その結果,数百に上る多数の173行のエラーはなくなりました.でも,その先の309行目のエラーが1つ現れました.

    更に,ググっていいくと「ホームNW研究所」に直接的な記事がありました.Webフォルダのパーミッションを ”フルコントロール: 管理・読取・書込”に設定するとwordpressのupdateはすんなり実行できました.

    そのご,しばらくしてwordpressにログインしようとした時,セキュリティの向上としてSiteGuardというプラグインを使用してCAPTCHAを表示させるようにしていましたが,そのCAPTCHAが表示されなくなっていました.

    結局は,httdのパーミッションがreadのみになっていたことが原因と結論しました.httdをreadとwriteにチェックを入れると,SiteGuardは正常に機能するようになりました.

    この設定により,最初にwordpressのupdateを可能にできたhttdの設定であるフル設定”フルコントロール: 管理・読取・書込”になっていません.今後,wordpressのバージョンアップがありupdateが必要な時には,この設定のままでupdateをしてみようと思います.

    試行錯誤はまだまだ続く–)

    編集履歴

    2023/04/16 Mr. HARIKIRI
    2023/07/09 追記: Ver.6.2.2-jpでも正常に更新できず,今後はパーミッション設定を中心にした対策を考える
    2023/08/19 追記: やっとこWordPress 6.3-jpで更新完了.Ver.6.3-jpでも同様にエラーで停止した.”http”に”Read”パーミッションを与えて173行のWarnningはやっつけた.でも,309行目のWarnningが出てきた.実は,もっと簡単でした.親フォルダへの”http”での権限設定は,”フルコントロール: 管理・読取・書込”にするとOKです.
    2023/08/20 追記: 備忘記録としてNASへのsshによるログイン,chmodの一括適用方法など.
    2023/09/23 追記: DSMのFileStationから「web」フォルダーのパーミッションを設定する方法.変更: タイトル変更 (パーミッション設定を追加)

  • [Synology] NASとは何ですか? – パソコンに飽きたなら次はNAS – [2021/10/31]

    [Synology] NASとは何ですか? – パソコンに飽きたなら次はNAS – [2021/10/31]

    ID9090

    はじめに

    ネットワークに接続された記憶装置 (Network Attached Storage (NAS)ナス)を、NASと呼んでいます2)。

    現在では、NASも高性能が求められているようで、Synologyでは、INTELのXeonを搭載した高性能NAS (DS1621xs+)も発表しました。

    一般ユーザーには、Desk Top型のものがラインナップされていますが、企業などで使用する機関系のストレッジとしては、ラックマウント型のものがラインナップされています。もしかすると、Synologyの主力製品は、ラックマウント型なのかもしれません。

    このBlogは、WordPressをSynology DS920+に搭載して発信していますが、DS920+は一般ユーザー用としては、高性能にランクされます。

    最近、Desk Top型としては、更に高性能であるDS1621xs+が発表されました。これと比較すれば、DS920+の転送速度は1/5程度です。DS920+よりも3倍もするDS1621xs+は、性能差に比例しているようです。

    海外のユーザーさんが、このDS1621xs+を使っておられますが、その高性能を知りたいので、いずれはDS1621xsを手に入れたいと思っています3)。

    NAS

    Synology NASは、日本めメーカー製のものと比較して、機能の種類と設定の数は充実しています。細い設定ができるため、使い込んで慣れが必要ですが、僕には性に合っています。

    1. データストレッジ (RAID, Synology独自のRAID)
    2. メディア・サーバー (写真、動画, 音楽)
    3. バックアップ機能 (Hyper Backup, サイト間バックアップ機能、etc)
    4. バーチャルマシーン (VM)
    5. 動画監視セキュリティ
    6. その他 (OSがLinuxであるため、マニュアルで色々な機能をインストールできます。欲しいと思う機能は、Synologyが専用に用意しているパッケージからインストールできるため、マニュアルでのインストールは通常必要ありません)
    7. もちろん、WordPress (関連するソフトウェアも含む)
    1)

    NASとは何ですか? – Synologyサイトより

    https://www.synology.com/ja-jp/solution/what_is_nas
    2)

    NAS(ネットワークHDD)とは?

    https://www.iodata.jp/product/nas/info/landisk/nas.htm
    3)

    DS1621xs+ – my current hardware configuration –

    https://mariushosting.com/ds1621xs/

    編集履歴

    2020/02/10, Mr. Harikiri
    2021/10/31, 文言整備

  • [WordPress] Google AdSense登録の手順[2020/08/24]

    [WordPress] Google AdSense登録の手順[2020/08/24]

    Google AdSenseの手順概略

    1. Google Adsenseに行く
      1. サイトアドレスを入力して登録
      2. サブディレクトリは使えない
      3. もしも、サブディレクトリを使っていた場合、Redirectするプラグインで対処しなければならない。以下の別記事も参照してください。
    2. Adsenseコードのコピー
      1. Adsenseコードをコピーして、サイトのHeadと/headの間に貼り付ける指示がでるので、コピーする
      2. このページは後からチェックしなかればならないので、そのままにしておきく
    3. WordPressの設定
      1. 自サイトのWordPressには、Advanced Adsプラグインをインストールしておく
      2. その他のAdsプラグインは、当サイトではうまく設定できませんでした。
    4. Adsenseコードのペースト
      1. Advanced AdsにAdsenseコードをペースト
    5. Google Adsenseに戻る
      1. コピーしたことをチェックする
      2. すとる即座にサイトを見つけたことを返してくる
    6. Google Adsenseページ内での設定
      1. 以上の操作で、広告の準備ができた状態となっている。
      2. 広告ページを開く
      3. 自動広告がオフになっているので、オンにする。そのために鉛筆マークをクリック
      4. 広告の仕方や体裁を設定できるので、希望する項目の設定を行い、適用する
      5. 正常に適用されるが、反映されるまで1時間程度かかると表示される

    当サイトでは、2020/02/09に申請が通りました。それまでには、以下のような作業を経てようやくの承認取得でした。

    1. サイトは、サブディレクトリが許されないため、WordPressのプラグインとして、Redirectプラグインを追加
    2. WordPressのダッシュボードでサイトアドレスを変更
    3. さらに、有料プラグインのアクティベーションは、サイトアドレスに付与されているので、再アクティベーション。英語圏のプラグインでは、英語でのリクエスをする必要がでできます。

    2020/02/15の朝、Adsenseを確認すると、47円の収益が計上されていました。記念すべき日です。

    ですが、これはぬか喜びです。テストやら何やらで、自分でクリックしたりしたもの、その他の理由により、一定期間毎にノーカウントとなってリセットされるようです。

    その後

    以下に記載した30日のペナルティを受けて、4月から安定稼働に入り、ある程度収益が上がってくると、支払先の住所確認(PIN)が掲示されました。その後、2週間程度で郵便がマレーシアから届きました。封書を開けるとPIN番号が記載されていましので、Google AdSenseからPINを入力して確認を完了させました。

    30日のペナルティー

    広告プラグインは、Advanced Adsプラグインを使っています。プラグインの設定とGoogle AdSenseページでの設定を、あれやこれやとやっていく中、ある日、オーナーによる無効なクリックがあったとして、Google Adsenseからemailの通知が来ました。

    おそらく、表示がでなかったりした時、表示が出ていない空のスペースを、勢い余って連打しことが原因ではないかと思います。当サイトでは、AMP対応と広告プラグイン対応の2つの組み合わせで調整作業を試行錯誤していたためです。

    30日間のペナルティーをもらい、広告表示が出来なくなりました。

    皆さんもGoogle AdSenseにチッャレンジする時は、あまり熱くならず・冷静に・慎重に・時間をかけて、取り組んでいただいた方が、時間短縮になるとおもいます。

    私は、30日間の2020/04/02まで出禁でした。

    編集履歴
    2020/02/10 Mr.HARIKIR
    2020/08/24 追記 (Google AdSenseの支払い先住所のPIN確認)
  • [WordPress] アバターを作る方法 – Gravatar [2020/02/09]

    [WordPress] アバターを作る方法 – Gravatar [2020/02/09]

    Gravatarの仕組み

    WordPressの管理画面に、アバターを作るところがあり、Gravatarで作成できます。Gravatarは、そのサイトに行って、e-mailアドレスと画像(avatar)を登録すると、色なんところで、そのe-mailアドレスを使ってコメントすると、その画像が表示される仕組みです。

    WordPressはGravatarをサポートしているので、WordPressを使っているサイトでのコメントの際に、登録したe-mailアドレスで行えば、その写真(avatar)を埋め込んでくれます。

    Gravatar及びその他のアバターの作成方法を解説しているサイト

    WordPressのアバターを変更する方法「Gravatar」の使い方

    http://wp-navi.net/customize/wordpress-avatar/
  • [Synology] NASのセキュリティを強化する方法のリンク

    [Synology] NASのセキュリティを強化する方法のリンク

    ID8870 [2020/02/09]

    セキュリティ

    もしも、Synology NASを自宅で稼働させていて、以下の項目についてよく分からず稼働させている場合は、是非、以下のSynologyのサイトに行って、設定方法の確認をお勧めします。

    1. はじめる前に
    2. セキュリティ アドバイザーの活用
    3. DSM のユーザー権限を構成
    4. パスワード強度の規則を設定する
    5. パスワードの有効期限
    6. 2段階認証でアカウントを保護する
    7. 自動ブロックとアカウント保護を有効にする
    8. HTTPS 接続を有効にする
    9. FTP サービスを安全に保護する
    10. ルーターで必要なサービスのパブリックポートだけを開く
    11. DoS 保護を有効にする
    12. デフォルト管理ポートの変更
    13. パブリック コンピュータで Synology NAS にアクセスするときには、ブラウザの匿名モードを有効にするか、ゲストのブラウズ機能を使う

    Synology NAS のセキュリティを強化する方法

    https://www.synology.com/ja-jp/knowledgebase/DSM/tutorial/Management/How_to_add_extra_security_to_your_Synology_NAS#t2

    サイバー脅威への備え

    Synology newsletterより (2021/05/14)

    詳細情報

    編集履歴

    2020/02/09,Mr.HARIKIRI
    2021/09/04,追記(サイバー脅威への備え)
    2021/11/23,追記(当サイトのセキュリティ関連記事リスト)
  • [WordPress] 初期設定でblogサイトに作ってしまったサブディレクトリを外す方法 – Google AdSenseには、サブディレクトリは不要

    [WordPress] 初期設定でblogサイトに作ってしまったサブディレクトリを外す方法 – Google AdSenseには、サブディレクトリは不要

    サイトアドレスからサブディレクトリを外したい


    デフォルトでWordPressを導入した場合、サブディレクトリがサイトアドレスになります。対応策は、リダイレクトプラグインを使用します。

    システム構成

    Synology NAS

    • 2020/07現在
    • DS920+ (DS918+からWordPressを載せ替え, 2020/07)
    • Disk Station Manager, Version 6.2.3-25426 Update 2 (2020/09/16現在)

    WordPress

    • Version : 5.5.1-ja
    • Theme : Twenty Twenty
    • Editor : Gutenberg (標準エディタ)


    その場合、以下のような問題点があります

    • 間借りしているようで、見栄えが良くない
    • Google Adsenseは、サブディレクトを認めない

    なぜ、サブディレクトリがつくられるか


    WordPressをインストールすると、通常、「サプディレクトリ」が自動で設定されたり、自分が設定したりして作られます、そこにWordPressのファイル群が収められます。


    例えば以下のようなサブディレクトリが作られる

    • wordpress
    • wp
    • myblog


    デフォルト設定では、この「サブディレクトリ」を含めたアドレスがサイトアドレスになります。


    例えば以下のように、

    • harikiri.diskstation.me/wordpress
    • harikiri.diskstation.me/wp
    • harikiri.diskstation.me/myblog (当サイト)

    サブディレクトリを外す手順と注意点

    作業概要

    • Synology NASのWeb Station設定の確認
    • WordPressの設定
    • サブディレクトリにあるindex.phpと.htaccessの複製を、サブディレクトリの上(ルート)に置く
    • index.phpのアクセス権と内容の確認
    • .htaccessのアクセス権と内容の確認
    • 動作チェック

    Synology NASの設定の確認

    Web Stationの設定

    複数のサイト可能設定

    DSM, Version 6.2.2-24922 Update 5


    webまでをサブディレクトリとして設定


    WordPress/ダッシュボードで設定

    WordPress, Version 5.3.2-Ja

    サイトアドレスの変更は、WordPressのダッシュボードから「設定 -> 一般」にあるサイトアドレスの設定で、サブディレクトリを削除する(下図を参照)。

    index.phpファイルの内容

    <?php
    /**
     * Front to the WordPress application. This file doesn't do anything, but loads
     * wp-blog-header.php which does and tells WordPress to load the theme.
     *
     * @package WordPress
     */
    
    /**
     * Tells WordPress to load the WordPress theme and output it.
     *
     * @var bool
     */
    define( 'WP_USE_THEMES', true );
    
    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/myblog/wp-blog-header.php' );

    もしも、index.phpのアクセス権限が不適切である場合、access deniedが表示される

    .htaccessファイルの内

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    もしも、この.htaccessファイルがないと、404が表示される

    サブディレクトリのリダイレクト設定

    試したプラグイン

    以下の、3つのプラグインを試してみました。

    Simple 301 Redirectsは、「テストされていない」とのことで心配がありましたが、やはり、複雑なことをした途端に問題が生じました。詳細は以下を参照してください。

    1. Simple 301 Redirects
    2. 301 Redirects
    3. Redirection

    1. Simple 301 Redirectsは、ボツ

    最初に試したのが、”Simple 301 Redirects”でした。以下の図に示したように、サブディレクトリ(/myblog → /)を取り除くリダイレクトは問題ありませんでした。

    しかし、正規表現(/myblog/* → /*)の設定を追加した時に、ブラウザからのサイトへのアクセスが、できなくなりました。

    その対策は、ターミナルモードでプラグイン名(simple-301-redirects)を、変更(simple-301-redirects.bak)することで、ブラウザからのアクセスが可能にした後、WordPressのダッシュボードに入って、ターミナルモードでプラグイン名を元に戻し、最後にダッシュボードからプラグインに入り、simple 301 redirectsを削除することで対応できました。

    もしも、この設定がないと、以下の図のように、”ページが見つかりません”が表示される

    2. 301 Redirects、は使える

    301 Redirectsは、Simple 301 Redirectsと同様にマニュアルによる設定を主軸したプラグインで、特に問題は生じませんでした。

    3. Redirection、を採用

    初期設定の後は、自分の必要な設定を作れます。作ったルールの有効/無効が可能なので、テスト環境の検討には重宝します。結局は、このRedirectionを使用していくことにしました。

    Redirectionは、初期設定において、WordPressの現状を検査して、Redirectした方が良いものを自動で抽出して、設定してくれます。

    以上により、はりきりサイトは、はれてサブディレクトリが外れたサイトアドレスでアクセスが可能となりました。

    注意点

    以下の2点について、問題が生じます。その問題の内容と解決法を示しまし

    問題点

    有料のプラグインで、アクティベーションが切れる問題がありました。

    • GT Photo and Video Galleries LiteからPro版へのアクティベーションが切れる
    • Cool Timeline Pro版のアクティベーションが切れる

    解決策

    • GT Photo and Video Galleriesについては作者に連絡中です。分かり次第掲載します。おそらく、サイトアドレスを特定してライセンスを付与していると思われます。
    • Cool Timeline Pro版については、夕方3時頃に連絡後、5分で対応してくれました。「ライセンス情報をアップデートしたから、もう一度アクティベーションしてね」との連絡でした。

    編集履歴

    • 2020/02/07 はりきり(Mr)
    • 2020/02/12 追記(プラグインの有料版のアクティベーションが切れる問題)
    • 2020/02/23 AMPに対応
    • 2020/07/16 文言整備
  • [WordPress] Flex Posts – Widget and Gutenberg Block プラグイン – Gutenberg エディター対応 [2020/02/07]

    [WordPress] Flex Posts – Widget and Gutenberg Block プラグイン – Gutenberg エディター対応 [2020/02/07]

    はじめに

    僕は、WordPress歴が1年とNewcomerなので、余りしがらみも無く新しいエディタ Gutenbergを使用しています。

    • Synology NAS
    • WordPress

    Gutenbergは、Blockを駆使して編集します。Post表示のさせたかについて、最近、色々なGutenberg用のプラグインを試用してみました。

    軽量で、且つ基本機能が当然に正常に動くプラグインを探しましたが、以下の「Flex Posts」しか見つけられませんでした。

    その他、表示に凝ったプラグインや多機能のプラグインは多数ありましたが、基本機能がしっかり正常に動くものは、このFlex Posts – Widget and Gutenberg Blockしかありません。

    評価項目

    具体的な比較項目は、以下の通りです。

    • Paginationが機能があるか
    • その機能が正常にワークするか

    結果

    Flex Posts以外のその他のプラグインは、Paginationがないものが半分程度(2~3個)ありました。

    Paginationがないと、以前の投稿を呼び出せません。

    投稿数の設定はできるのですが、ページをめくっていく感じで、古いものを追跡していくことができないのです。

    次に、Pagination機能がある2~3のプラグインでは、その機能が正常に動きませんでした。

    具体的には、投稿数を5とします。すると5以上の投稿がblogサイトにある場合、通常は、”前またはPrevious”、”1”, “2”, “3”,・・・と数字のボタンが現れます。

    投稿を編集しているのが管理者権限で行っていることが通常だと思いますが、その権限のまま、投稿を表示して、そのpaginationの機能をチェックするとします。

    数字をクリックして、古い投稿を表示させるわけですが、この場合は、正常に昔の投稿を表示できます。これは正常です。

    次に、Logoutして、閲覧のみの一般ユーザーとなって、同じように投稿のページ番号をクリックしてみます。

    すると、Flex Posts – Widget and Gutenberg Block以外のプラグインでは、投稿の内容が更新されません。

    Flex Posts以外、いずれのプラグインも同様のコーディングミスをしているのではないでしょうか。

    見た目だけではなく、基本機能の追求にもう少しでいいので注ぎ込んで欲しいと思っています。これは、テストが余り充実して実施されていないことの証なのですが。。。

    結論

    • Flex Postsのみ、Paginationが正常
    • ただし、ページボタンを押した時、再表示はページのトップを強制表示されるため、Flex Postsへ移動すめたに、ページをめくる必要がある。
    • その他のGutenberg Block対応のPost Blockは、paginationが機能しない

    2020/02/07 はりきり(Mr)

  • [Synology] NASに装着した新品SSDが1年後にエラーを吐いた – 修復・復旧方法 – △[2020/05/03]

    [Synology] NASに装着した新品SSDが1年後にエラーを吐いた – 修復・復旧方法 – △[2020/05/03]

    ID7504

    SSDがエラーした

    1年前、DS918+にWD製SSDを2枚挿してWrite/Readのキャッシュ(cash)を構築していた。ほぼ1年後の昨日、2枚のうち1枚にエラーがあると、DSMから警告があった。

    ハードウェア的に故障と思ったが、調査の結果、SSDの「復旧」から元に戻すことができた。

    故障日2020/1/18

    SSDキャッシュの再構築

    1. 「ストレージマネージャ」を起動
    2. SSDキャッシュの劣化を確認
    3. 修復ボタンを押して、修復するSSDを選択する
    4. 修復が開始される
    5. SSDキャッシュが再構築されるまで、30~60分程度

    1年前に2枚のSSDを装着して、すぐに今回とは異なる方のSSDがエラーを吐いた。その時は、WDのサポートに連絡して無償交換(中古らしい)してもらっている。

    しかし、SSDの「復旧」ボタンは試しかは、覚えていないため、本当に故障だったのか不明だ。WDでもそのように返品されてくるSSDが多くあり、それを5年保証の代替として、クレーム先に送り返しているのであろう、と今更に申し訳なく思う。

    今回は、返品せずに済んだ。

    以下の記事は、WDのSSDをSynology DS918+に装着した時の内容と、SSDの返品に関するWDのサポート再生の様子をまとめたもの。

    編集履歴

    2020/05/03 文言と体裁整備

  • [Synology] Threat Preventionから通知が来なくなる現象を取り敢えず回避する(改)

    [Synology] Threat Preventionから通知が来なくなる現象を取り敢えず回避する(改)

    Threat PreventionからのE-mail通知が来なくなる

    Threat Preventionは、Synology Router RT2600acに導入しています。不正なアクセスがあればメールでの通知を設定しているが、突然来なくなることが、これまでにもあり、今回も突然来なくなりました。

    設定

    Threat Preventionを使うには、3GB以上のUSB Memoryを外部接続しなければなりません。

    統計やログに使っているようです。すべての通信をみているのだから、そのログの容量は大量に発生します。

    先入先出しにより、メモリーいっぱいになったら、古い物は廃棄する設定です。

    今回、通知が来なくなったので、以前の場合もすこしきなっていいた対処法を試してみました。

    その結果、ログをクリーンしたところ、解決しました。接続していUSB Memoryは4GBであるものの、10年ものです。まあぁ高価な方でした

    • 古さのせいか
    • ログは3GBが必要とあるので、空き容量の少なにさが悪さか
    • 発熱しているようなので、熱暴走か

    4ヶ月経過しても順調に、ドロップした時の通知のE-mailは、毎日10〜20通くらい届きます。

    2019/12/20 はりきり(Mr)
    2020/04/17 追記、経過観察した結果

    関連記事

    アイキャッチ画像:DALL:E3 2.4G Wi-Fiが不能? SwitchBotのミニハブは,2.4G Wi-Fiにしか接続できない.RT2600acの設定を確認してみると (Wi-Fi Connect -> ワ…
    はじめに 最近,Windows11のupdateが多かったように思います(2024/02/02追記, そっか!金曜日に定期的なupdateがあるんだったな).昨日(203/10/13)まで,指紋認証ができていたLet&#…
    はじめに Synolog NAS製品でDS1621xs+ (数字の21は2021年に発売したことを示す)は,現在(2023/08)所有しているSynology NAS (DS918+, DS920+)とは異なる挙動を示す…
    クラウドストレージ 端末のストレージ容量を節約するために、クラウドストレージを使用するのが良いですね。iCouldの場合、端末のストレージに保管されている写真データでは、縮小化データサイズまたは実データサイズでの保管オプ…
    DS920+とDS923+の比較 大きな違いは2つ はじめに DS920+とDS923+はDS9シリーズです。その意味は、拡張ボックスの取り付けにより、収納可能なデバイススロット数は「9」となります。 DS9の後ろの数字…
    はじめに サイトの反応速度をあげるには,PHPのバージョンを最新にしましょう.PHP7シリーズよりもPHP8の方が高速に処理できるようです 移行手順 PHP8.0の適用手順の要点は,プロファイルを新規に作るようにして,エ…
    さらにセキュリティをアップさせる 家庭でも機器の制御にIoTが一般化してきました.高度にセキュリティを施しているアメリカのNASAでさえ,IoTからのネットワーク侵入を許したという記事 (2019)があります.その記事で…
    はじめに SynologyのDS Routerと言うアプリ(Apple App Store)を使えば,ルーター (RT2600ac, RT6600ax)につながった有線接続のネットワークデバイスをWake Upすることが…
    シンプルにするぞ 連絡(コンタクト)は不可にすることとした.連絡は,コメントでもできるしね.それで,以下のプラグインを削除してシステムを軽くすることにしました. 編集履歴 2022/10/22 Mr. Harikiri
    Synology NASのRAID HDDの1つが故障 NASのHDDにエラーが出た。5年程度連続稼働していたRAIDを構成するHDD (以下HDD a)の一つです。NASに発生するイベントは、メール通知するようにしてい…
    Page: 1 2 11
  • [WordPress] 会員限定ページや会員のみが閲覧できるページやページ内に会員のみ閲覧できるブロックを作る – 調査編 [2019/12/08]

    [WordPress] 会員限定ページや会員のみが閲覧できるページやページ内に会員のみ閲覧できるブロックを作る – 調査編 [2019/12/08]

    はじめに

    調査を結果、Ultimate Memberプラグインをインストールしています。

    当サイトは、Ultimate Memberプラグインを試験的に導入しています。よろしければ、「いたずら」してみて下さい。使い勝手などがわかると思います。どれだけの堅牢性(ロバストネス)があるか知りたいと思っているので、ぜひどうぞ。

    よく海外からの「ヒヤカシ」があります。ユーザー登録はしていただけるのですが、その登録したe-mailに対して、自動で送られてくるリンク付きのe-mailの処理をしてくれません。そのリンクをクリックすれば、登録したe-mailは実在し且つロボットではないと、おおよそ判断できるので、登録が完了します。登録の削除もできるはずです。

    メール一覧から、ステータスが確認できます。「ヒヤカシ」の場合、「メールアドレスの確認待ち中」と表示されています。メールの確認が完了すば、「承認済み」になります。以上、これらの挙動は、Ultimate Member -> 設定 -> Emailから設定します。

    はじめに

    以下のサイトをまとめると、WordPressで会員限定ページを無料のプラグインで構築することは、必要十分のようで、有料版までは必要なさそうです。

    TCD Themeを購入することも考えたが、機能は、プラグインで達成するか、購入したテーマに組み込まれた機能で達成するかの違いであり、それぞれの開発力からすると、専門的に開発している個別プラグインから調達する方が、機能的に高いもので構築できると考えられる。

    ただ、バランス面からするとオールインワンのThemeを調達する方が良いとも言える。

    考えたあげく、出費を抑えて茨の道を行くかもしれないプラグインのインストールの方法を選択することにした。

    必要な機能(要求仕様)

    必要な機能を以下に上げてみた。こりらを全て無料のプラグインで実現できるかは分からない。

    • 会員サイトがアクセスした際の会員登録を促す
    • 会員登録の内容を不適切な登録(ユーザー名として電話番号など)はできない
    • 会員でない場合、そのアクセスしたページは一部だけを表示する閲覧制限を付けることができる
    • パスワードを忘れたユーザーに対する自動対応機能
    • メール送信機能(単純型、メルマガ型)
      • TCDテーマのプレミアムプライスでもメルマガ型はサポートしない)
    • マイページ
    • botによる不正なユーザー登録の抑制

    必要な機能が全て満たされているかは、プラグインの機能を十分に理解していないため不明だが、bot対策があるUltimate Memberには、bot対策のためのプラグインとして、Ultimate – reCAPTCHAが、2018年以降追加されたらしい。これも同時に導入するのがよい。

    WordPressプラグイン|Ultimate Memberでユーザー管理、コミュニティー投稿サイトにする方法、wano.jp – さんの記事

    WordPress(ワードプレス)で会員サイトを簡単に作成できるプラグイン10選

    WordPressで会員サイトを作るには?おすすめプラグインまとめ【2019年度最新版】

    無料で会員サイトが作れるWP-Membersの使い方を紹介

    会員サイトに必要な機能を一通り実装できるUltimate Memberについて紹介!、ページのブロック設定を参考

    「Mailchimp(メールチンプ)」の評判と実態|15個のメール配信システムを試したアイミツが徹底比較!

    WordPressで掲示板を作るならbbPress!使い方の完全マニュアル

    CTDテーマによる(2017)、WordPressで会員限定向けコンテンツが配信できる「パスワード付き保護ページ」が作れるテーマ