WordPressの復旧時、既存の投稿・固定ページが表示されない場合の対処法

エックスサーバーで借りていたサーバーが不正アクセスの被害に遭い、Xserver カスタマーサポートから以下のようなメッセージが来てサーバーアカウントのWebアクセスが制限されてしまった。

お客様の上記サーバーアカウントにおいて、
サーバー用メール送信ソフトウェア(Sendmail)を用いた
日本国外のメールアドレスに対する大量のメール送信処理を確認いたしました。

当サポートにてセキュリティ調査を行いましたところ、
お客様がご利用のプログラムにセキュリティ上致命的なバグ(脆弱性)が存在し、
当該脆弱性を第三者に悪用されてしまった可能性が非常に高い状況でございました。


そのため、事後のご案内となり大変恐縮でございますが、
緊急措置として下記制限を実施しております。

▼サポートにて実施した制限内容

                                                                                                            • -

・当該サーバーアカウントに対する緊急的なWebアクセス制限を実施

 ※上記処理に伴い、Webアクセスを行うと403エラーとなる状況です。

                                                                                                            • -


さらなるスパムメールの大量送信やフィッシングサイトの開設などの
不正アクセス』による被害の拡大を防ぐため、上記対応を実施しましたことを
何卒ご了承くださいますようお願いいたします。

そのため、サーバー上にインストールしていたWordPressサイトの全てのページが403 Forbiddenとなり表示できなくなった。

アクセス制限を解除してもらうためには、サーバー上の「初期ドメイン」「独自ドメイン」、および「その他のフォルダ」に設置された全てのファイルを削除しなければならないとのことだった。面倒だが仕方ないので

  1. Xserverサーバーパネルの「アカウント」→「バックアップ」で、念のため必要なドメインの原状データのバックアップ(マルウェアや改ざんされたデータが含まれているのでそのままでは使えない)
  2. ドメイン」→「ドメイン設定」で全ての独自ドメインを削除、初期ドメインを初期化(メールアカウントも削除されてしまうので、作成済みのアカウントおよびパスワード、転送設定は事前に控えておく)
  3. カスタマーサポートにアクセス制限解除依頼
  4. 解除されてから、「ドメイン」→「ドメイン設定」で再度ドメインを設定し、メール
  5. WordPressを手動で再インストール(データベースは消していないので元のものを設定 ※自動インストールでは既存のデータベースは使用できない)
  6. WordPressプラグイン「UpdraftPlus」をインストールし、これまで同プラグインで定期的に自動作成していたファイルとプラグインのバックアップファイルを用いて復元

という手順で何とかWordPressを復元した。

しかし、復元されたサイトは、フロントページのみ問題なく表示されたが、その他のページは全て404 Not Foundとなって表示されない。
試しに新しい記事を作成したら表示はされたが、既存の投稿や固定ページは、編集画面では開けるものの、プレビューすると404になった。
色々考えていたら、「設定」→「一般」の「WordPress アドレス (URL)」と「サイトアドレス (URL)」を間違えた時に似たような現象が起こったなと思い、確認してみたところ、特に問題はなかった(ドメイン直下にWordPressをインストールしたため、両者とも同じURL)。ただ、メールアドレスが仮のものになっていたので変更して、「変更を保存」をクリックした。すると、一度ログアウトされて再度ログインを求められた。その後サイトを確認すると、全てのページが表示されるようになった。

ナイジェリアの漫画

ナイジェリアの漫画産業についての記事。非常に興味深かったので和訳してみた。
ナイジェリアの漫画がこんなにもハイレベルで多様性に富んでいたことは知らなかった。一部の漫画はオンラインで公開されているので興味を持った人はぜひ読んでみてほしい。

New breed of comic superhero rises in Africa | The Japan Times
http://www.japantimes.co.jp/culture/2016/01/24/books/new-breed-comic-superhero-rises-africa/#.VqRqHFOLSV4
新タイプのコミック・スーパーヒーローがアフリカに登場


ラゴス - アフリカ発の新しいスーパーヒーローを提示するナイジェリアのコミック『Aje第一巻で、大学生のTeniは湧き上がる嫉妬の怒りと紫の稲妻の中、ボーイフレンドに呪いを投げかける。


「“Koni dara fun o ni yi aye”(お前のこれからの人生は決してよくならないだろう)」Teniはナイジェリアの主要民族グループの1つであるヨルバの言葉で怒鳴る。


Teniは、アイアンマンやバットマンスパイダーマンなどに対抗するアフリカン・ヒーローを作り出している数少ない漫画産業のスタートアップの1つであるComic Republicの創業者、Jide Martinsの創作だ。


X-Menの人気キャラで、アメリカと架空の国家ワカンダの二重国籍を持つStormとは違い、Martinsが産み出すヒーローたちはアフリカで生まれ育ち、アフリカを舞台に戦う。


「大学時代、私はもしスーパーマンがナイジェリアにやってきたらどんな感じになっていただろうかと考えはじめました」


Martinsはラゴスのアパート(そのダイニングルームは若いイラストレーター達で構成された彼のチームのスタジオを兼ねている)でのインタビューでそう話した。


「人々は規範から脱却し、目指すべき新しいものを見つけようとしています」Martinsは言った。「世界を救うためには、あなたが白人である必要はないのです」


2013年、そばかすだらけの鼻に山羊髭を持った細身の37歳、Martinsは、フォレストグリーンとスノーホワイト――ナイジェリア国旗の色――のスーパースーツを身にまとったスーパーヒーロー『Guardian Prime』を処女作として出版した。


その時から、購読者数は1巻当たり100人から28000人にまで膨らんだ。


三十数ページの漫画本を無料でデジタルダウンロードのみで公開しただけだったが、Martinsは広告とマラリアに関する教育用小冊子のような派生プロジェクトなどを通じて、事業を続けていくのに十分な資金を得られている。


「人々は、アフリカの漫画はアフリカの伝統的な衣装を着た人たちが登場するものでなければならないと考えていましたが、私はそうは思いません」
「登場人物にはナイジェリアの名前を付け、ナイジェリアの人たちを救わせます。でも、彼らにはスパンデックス(化繊のスポーツウェア)を着せましょう」


アフリカ大陸の古くからの伝統・ブードゥーとオカルトの世界を現代の読者向けに順応させた、アフリカのスーパーヒーロー産業が急成長する可能性に気付いているのはMartinsだけではない。


Roye Okupeは、腐敗が蔓延し、反乱する過激派に取り囲まれた未来のラゴス、Lagoon Cityを舞台としたグラフィック・ノベル『“E.X.O.” Wale Williamsの伝説』の作者だ。


二千万人が住むナイジェリアの大都市で育った、現在30歳のOkupeは、現実に根ざしたアフリカのキャラクター市場を見据えていた。


「あなたはおそらくアフリカのヒーローの名前を5つも挙げられないでしょう」Okupeは拠点としているWashingtonでそう話す。「そして私が何よりも大好きなブラックパンサーは、架空のアフリカの国出身なのです」


スーパーヒーロー達が世界のチケット売り場を支配している時、ナイジェリア人はClark Kent(スーパーマン)やPeter Parker(スパイダーマン)達のようなワスプの名簿の中に、彼らに代わるヒーローを独自に提示しようとしているのだとOkupeは言う。


「もしあなたが10年前にナイジェリア出身のスーパーヒーローを発表したとしても、誰も注目しなかったでしょう」Okupeは述べた。「しかし今やそれは人気産業となっています。人々は多様性を求めているのです」


漫画の研究者達は、アフリカン・スーパーヒーロー現象は、これまで圧倒的に白人が演じてきたマントを羽織った十字軍(バットマン)達に対する、当然の反応なのだと考えている。


「それは長年の懸案だったと思います」と、2013年に出版された書籍『Black Comics: Politics of Race and Representation』の共同編集者であるRonald Jacksonは語った。


「私たちは、異なるアイデンティティを理解し評価するようになるにつれて、アフリカの漫画が描く世界をますます受け入れるようになってきています」


「映画やテレビ番組のような主要な派生作品は、必ずしもまだ十分に展開されてはいません。これらはアフリカの漫画業界にとって次の段階なのかも知れません」



Comic Republicのスタジオに戻る。全員30歳未満のイラストレーターのチームは、いつの日か彼らのキャラクター達が銀幕に登場することを願っている。


彼らは、『スターウォーズ』のジェダイの戦士達よりも強い魔女などのアフリカのキャストが、世界の観客達を十二分に沸かせる日が来るのは間違いないと思っている。


ギリシャ神話のゼウスのことは知っていても、ヨルバの雷神Shangoのことは誰も耳にしたことがないでしょう」23歳のイラストレーターTobe Ezeoguは言った。


「それは、人々が慣れ親しんだものに対する異なる視点なのです」


Martinsと彼のチームは、『Aje』や『Guardian Prime』に続いて、戦いのために霊界へ入っていくAvonomeや、ヨルバの恐怖の神を分身に持つラゴス大学の講師であるEruといったキャラクターも創作してきた。


「私たちは人々が漫画を受け入れてきている状況に衝撃を受けています」Martinsは言った。「驚くべきことです」

WordPressテーマ「Xeory Base」のおせっかいなところをカスタマイズする

バズ部WordPressテーマ「Xeory Base」はSEOに強く使いやすいテーマとして有名だ。ただ、細かいところまでしっかり考えて調整されているが故に、デフォルトの設定が一般的なWordPressテーマのものとは多少異なっていて、個人的にちょっと余計なお世話というか逆に不便だと感じられるところもあったので、修正してみた。

サイト内検索の対象が投稿記事のみになっているのを変更

WordPressのデフォルトでは、サイト内検索の対象は投稿記事と固定ページになっているが、Xeory Baseでは投稿記事だけしか対象にならない。
固定ページもサイト内検索の対象にしたかったので、
wp-content/themes/xeory_base/lib/functions/setting.php (テーマ編集画面では表示されないのでFTPクライアントを使用して編集) 271行目からの

   if ( !is_admin() && $query->is_main_query() && $query->is_search() ) {
    $query->set( 'post_type', 'post');

を以下のように変更。

   if ( !is_admin() && $query->is_main_query() && $query->is_search() ) {
    $query->set( 'post_type', array('post', 'page'));


もし独自に「xxx」というカスタム投稿タイプを作成していて、それらも検索対象にしたい場合は、

   if ( !is_admin() && $query->is_main_query() && $query->is_search() ) {
    $query->set( 'post_type', array('post', 'page', 'xxx'));

のようにarrayに追加。

スマホ表示の時、フロントページでグローバルナビがデフォルトで開かれた状態になっているのを変更

フロントページ(トップページ)に辿り着いた訪問者に目的のページを探してもらいやすいように、グローバルナビを開いた状態で表示しているのだと思われるが、固定フロントページで最初のページを最も見てもらいたいページに設定している場合は、ファーストビューがナビの項目で埋め尽くされていると都合が悪いので、
wp-content/themes/xeory_base.footer.php 45行目からの

  <?php if( is_front_page() ){ ?>
    $('#gnav').addClass('active');
  <?php }else{ ?>
    $('#gnav').removeClass('active');
    
  <?php } ?>

を以下のように変更。

   $('#gnav').removeClass('active');


PHPはまだあまりよく理解していないので、この方法はおかしいとか、こうした方がいいとかいうところがあれば教えていただけるとありがたいです。

新ドメイン「.help」に困らされる

現在、サイト制作には自宅でiMac、出先でMacBook Proを使用している。両者でローカル環境を同期させるために、この方法Dropbox内にサイトのデータを置いている。

最近、知り合いからの依頼でボランティア団体のサイトを作ることになったのだが、独自ドメイン新ドメインの1つ「.help」を使用していたことで、作業時に思わぬトラブルに見舞われることとなった。サイトのデータをローカルに作成すると、「〇〇.help」という名前のフォルダができるのだが、これがMacのFinderだと、HELPファイルの拡張子 (.help) として認識され、フォルダではなくファイル扱いになって開けなくなってしまう。Dreamweaverではフォルダとして認識され、下層のファイルも表示できるが、検索でフォルダを指定しようとすると、Finderが立ち上がるため、.helpフォルダは選択できなくなる。困ったので、一時的にフォルダ名を.help以外に変更して、後で戻すことで対応することにしたが、不便なのでDreamweaverの方で何とかしてほしいと思う。
Macではおそらく.helpをドメインとして登録される前から拡張子として使っていたと思われるので、今さらドメインに配慮して関連付けを解除することはできないのかも知れないが、できればフォルダ名に.helpが付いているものはファイルとして認識しないように対応してほしいところだ。しかし.helpなんてドメインを使う人はおそらく少数なので、相手にされないだろうな……


参考記事

Macのインターネット共有ができなくなった原因と解決法

自宅のインターネット環境

現在自宅では、iMac (21.5-inch, Late 2013, OS X Yosemite バージョン10.10.1) とiPhone 4S (MD258J/A, SIMフリー, iOS 8.1.1)、MacBook Pro (Retina, 13-inch, Mid 2014, OS X Yosemite バージョン10.10.1)を使用している。部屋備え付けのLANポートから有線LANで繋いだiMacインターネット共有機能Wi-Fiアクセスポイント化して、iPhone 4SMacBook ProWi-Fi接続している。

iPhoneWi-Fi接続できなくなる

しかし、昨日久しぶりにiPhoneを見たら、なぜかWi-Fi接続が解除されてしまっていた。すぐに再接続しようとしたが、なぜか正しいパスワードを入れても、「XXのパスワードが正しくありません」と言われて接続できない。MacBook Proでも同様に接続ができなくなってしまった。それぞれ元の設定を削除したり、ネットワーク名やパスワードを再設定して行ってみても、やはりパスワードが正しくないと言われ繋がらない。色々試してみたら、MacBook Proの方は、iMacの共有設定のWi-Fiオプションでチャンネルを1〜11(2.4GHz帯)ではなく36〜48(5GHz帯)に設定すると繋がるようになった。しかし、iPhone 4Sは2.4GHz帯にしか対応していないため、これでは使えない。どうしたものだろうかと悩んでいると、ふと先日ある設定を変更していたことを思い出した。

原因はFaceTimeの設定変更だった

iMacではiPhoneと同じApple IDでログインしていると、iPhoneユーザからの着信があったときにiMacFaceTimeが起動して、iMacからも着信音が鳴るようになる。iMac使用中に着信があると、iPhoneで応答するまでiMac上でポップアップが表示されつづけて不便だし、iPhoneでマナーモードにしていてもiMacをミュートにしていなければiMacから音が出るので、深夜に着信があるとびっくりする。そのため、携帯電話宛の着信をiMacFaceTimeで着信しないように、FaceTimeの環境設定で「iPhoneセルラー通話」をオフにしていたのだ。なぜそれが原因で接続できなくなったのかはわからないが、再度オンにしてからiMacの共有設定をチャンネル11(2.4GHz帯)にしてやり直すと、iPhoneでもMacBook ProでもiMacWi-Fiに接続できるようになった。その後「iPhoneセルラー通話」を再びオフにしてみたが、今のところiPhoneMacBook ProのどちらもiMacインターネット共有のWi-Fi接続は維持されている。

インターネット共有のチャンネルは5GHz帯にした方が良い

今回色々な接続方法を試してみた中で、MacBook Proでは、iMacの2.4GHz帯のチャンネルで共有した場合、親機のiMacより通信速度がかなり遅くなることがあった。それに対し、5GHz帯のチャンネルで共有した場合は、安定して親機のiMacとほぼ変わらない通信速度が出ていた。理論上はどちらの帯域を使っても通信速度は変わらないが、2.4GHz帯が他の多くの通信機器や電子レンジなどの干渉を受けやすいのに対し、5GHz帯は対応機器が少なく干渉を受けにくいため、スピードが出やすいらしい。iPhone 4Sを6に買い換えたら、チャンネルを5GHz帯に変更した方が良さそうだ。


Apple USB Ethernet アダプタ MC704ZM/A
Apple USB Ethernet アダプタ MC704ZM/A

嫌韓の皆さんへ

Twitterのジャズ名盤bot(@jazzmeiban)やポストロック・エレクトロニカ・音響系(@postrock_bot)では、これまで国籍を問わず様々なアーティストを紹介してきた。特に、日本であまり知られていないアフリカ、東欧やアジアのアーティストの発掘・紹介には力を入れてきた。


しかしながら、それらに対する反応はあまりよくない。ただ反応が薄いだけならまだいいが、とりわけ韓国のアーティストを紹介した直後は、明らかにフォロワー数が減少するという現象*1が見られる。恐らく嫌韓的な思想を持つフォロワーの一部が、紹介文の「韓国」という単語やハングルで書かれたアーティスト・曲名などを見て反射的に拒絶反応を起こしてしまっているのだろう。


もしかすると、「管理人は在日だから韓国のアーティストを持ち上げているのだ」とか、「韓国のアーティストが紹介されるのは韓流推しの電通ステマだ」とかといった陰謀論を脳内で展開している方もいるかも知れないので断っておくが、私は日本国籍を持った日本人であり、韓国に対しては特に何の関わりも思い入れも持っていないし、在日や電通からは一切何も貰ったりしていない。


まずbotの選曲を見ていただければ分かると思うが、韓国を取り上げる頻度は他の国に比べて決して多くない。ジャズの場合北欧・東欧やアフリカ、ポストロックならタイや台湾など、韓国より馴染みの薄い国を取り上げることの方がずっと多い。大体、韓国のアーティストと言っても、当botで紹介しているのは日本ではほとんど無名のものばかりで、マスコミが宣伝しているようなK-POPなどは皆無だ。


私もK-POPには全く興味が無いし、韓国や日本のメディアの韓流ゴリ押しのようなやり方は大嫌いだ。また、前の記事でも少し触れたが、かつては保守派の西村眞悟氏を支持してきたこともあり、韓国の歴史認識問題や在日問題などについては、はっきり言って俄のネトウヨなんかよりずっと前から理解しているつもりだ。


ただ、そのような政治的な好き嫌いと音楽に対する評価は全くの別問題である。韓国が政治的に嫌いだからといって、音楽まで「坊主憎けりゃ袈裟まで憎い」のような態度で嫌ってしまうのは実に愚かなことだ。嫌韓の皆さん、あなたの芸術に対する審美眼や批評精神は、韓国が絡むだけで簡単に曇り、偏向してしまうような不自由なものなの?もしそうだとしたら、それこそあなたが最も嫌う(あなたの脳内の)韓国人の、日本と言えば何でも否定したがる偏狭な心と同じようなものだと思うけど?


世の中には色んなものの見方がある。1つのものをとって見ても、どの側面を見るかで、見え方は大きく異なってくる。国と国との関係にしても、たとえ政治的には相容れなくても、文化的には理解し合えるということがあるかも知れない。アメリカが色々あってもこれだけ世界に愛されているのは、間違いなく文化の力のおかげだろう。私はbotの音楽紹介を通じて、皆さんにそんな視点の1つを提供できればと考えている。嫌韓の皆さんも、ある一面だけ見て心を硬直させてしまったりせずに、もっと精神の自由を大事にしようよ。韓国人に対しても、いきなり竹島を返せとがなりたてても何も生まれないって。それよりまず、お互い好きな音楽の話でもしてみたらどうかな?そうすれば、意外と意気投合して仲良くなれるかも知れないよ。政治の話はそれからでもいいんじゃない?




Ninaian - Only Moment Spent Within You
Album: For A Little Cruise (Amazon | iTunes)




Oriental Express - Jumping Without Moving
Album: Cruising Together (iTunes)

*1:追記: ちなみに本記事を投稿してから数時間の間に、ジャズ名盤botでは約80人、ポストロックbotでは約50人フォロワーが減少した。これだけ書いても結局真意が伝わらなかったのだとすれば残念なことである。