zenlogic・サーバやドメイン契約の顛末について

私の勉強不足だったのかもで、もしかしたら、サーバーを取り扱っている方や、他のWEB関係の方の中では、常識の範囲で、こんなことにつまづいたのが恥ずかしいことなのかもしれませんが、なんかの役に立つのかもなので、残しておきます。

zenlogicのサーバを利用していました。
2018年夏の例の障害の件で被害を被りましたので、データだけ別サーバに移し、DNSの設定の変更等をしてドメインの管理だけ残しました(契約期間の関係でドメインはすぐに移せなかった)。
ドメインの管理だけ契約に残し、サーバの契約を切っても大丈夫かと問い合わせたら、大丈夫と返答がきたので、サーバの契約を切るお願いをしました。

そうすると、サーバ契約が切れたころに、サイトが見えなくなりました。
「IPが見つかりません」などというエラーが出ていました。

zenlogicに残していたドメイン契約を調べてみると、DNSゾーンのいろいろとしていた設定が、zenlogicへのネームサーバの設定だけになり、DNSゾーンの設定もできなくなっていました。

続きを読む

wordpressのマルチサイト参考記事

少し前に、Wordpressのマルチサイトを作っていて、参考にさせていただいた記事です。

WordPressマルチサイトで、複数の子サイトを1つのテーマで管理する方法
https://lovelog.eternal-tears.com/create-theme/advanced/mu-childtheme/

WordPressマルチサイトで他ブログの記事を表示する

WordPressマルチサイトで他ブログの記事を表示する

全ブログをサイト内検索の対象にする[マルチサイト,WordPress]

全ブログをサイト内検索の対象にする[マルチサイト,WordPress]

Search
Wordpressのマルチサイト全体で検索できるようにする
https://blog.kazu69.net/2013/07/28/allow-search-in-the-entire-wordpress-multisite/

googlemapで地図変更のたびに表示させるマーカーが消えてしまう

複数の地点情報があり、GoogleMapを表示したときに、そのGoogleMapの表示範囲のみの地点を取得して、マーカーを表示する。
というスクリプトを昔書いていて、うまく動いていたのですが、その地点が一瞬だけ表示して消えるという現象が起こるようになりました。
また、一旦ほぼ全地点を読み込んだあとだと表示されるという現象でもありました。

だいたい下記の流れで表示

・メイン地点を中心とした地図を表示
・メイン地点のマーカーを表示
・表示された地図の四方の緯度経度を取得
・その緯度経度の範囲内のマーカーの位置情報をxmlで取得
・xmlをajaxで読み込んでそのほかの地点として表示

地図を移動させたり拡大したりするたびに、表示された地図の四方の緯度経度を取得し……という流れを繰り返します。

表示範囲の地点を取得して、マーカーを表示させるイベントは下記のように書いていました。

google.maps.event.addListener(map, 'idle', function(){
     setPoints();
});

‘idle’という部分をいろいろと変えてみました。
最初は’bounds_changed’(地図のビューポート(見えている範囲)に変化があった時に発火)にしたのですが、なぜかこれだとマーカーが上書きされて、影がだんだん濃くなりました。
結局、’tilesloaded’(地図のタイルの読み込みが完了したタイミングで発火)を採用しました。

google.maps.event.addListener(map, 'tilesloaded', function(){
     setPoints();
});

仕様が変わったのか、ブラウザの解釈が変わったのか、そのあたりまでは調べていません。

上記について、参考にさせていただいたサイトは下記です。
https://lab.syncer.jp/Web/API/Google_Maps/JavaScript/Map/bounds_changed/
https://lab.syncer.jp/Web/API/Google_Maps/JavaScript/Map/tilesloaded/
どちらも「Syncer」というサイトです。ありがとうございました。

GMOマルチペイメントのトークン決済設定について

EC-CUBEで仕様しているGMOマルチペイメントのクレジットカード決済を、トークン方式の決済に変更。

トークン方式の契約をして、ここのチェックを変えたらいいんですよね?と念のために問い合わせたら「マニュアル見てください。皆さんそれで対応されてますので」ととっても無下にされたので、マニュアルを見たけど、トークン決済のところは「クレジットカード決済と同」という、意味のない記載だったので路頭に迷う。

多分、ああすればいいんだけど、確信が欲しい……。

と検索してたら、GMOの「よくある質問」に記載が。

EC-CUBE/トークン決済の利用設定方法を知りたい

上の記事もいつ消えるかわからないので、一部転載させていただきます。

以下、上記URLの記事より転載

2.12系、2.13系共通 —————————–

■事前に、支払方法設定の既存の設定をご確認ください。

EC-CUBE管理画面
->基本情報管理
->支払方法設定
->クレジットカード決済 -【編集】を押下
->ご設定内容をお控えください

1:モジュール設定の更新

EC-CUBE管理画面
->オーナーズストア
->モジュール管理
->【モジュール一覧を取得する】を押下
->決済モジュール – 【設定】を押下
->有効にする決済方法にて
【トークン方式クレジットカード決済】をチェック
決済用テンプレート初期化にて、
【決済用テンプレートを初期化する。】をチェック
->【この内容で登録する】を押下

2:支払方法設定

EC-CUBE管理画面
->基本情報管理
->支払方法設定
->トークン方式クレジットカード決済 -【編集】を押下
->事前に確認した支払方法設定の内容をご設定ください。
->【この内容で登録する】を押下

3:配送方法設定

EC-CUBE管理画面
->基本情報管理
->配送方法設定
->配送業者 – 【編集】を押下
->支払方法 – トークン方式クレジットカード決済をチェック
->【この内容で登録する】を押下

 

【追記 2018.3.7】実際にやってみて

上記の通りで間違いありません。

トークン方式クレジットカードの設定については、今まで使っていたクレジットカードの情報を引き継ぐことはありません。
「1:モジュール設定の更新」でトークン方式クレジットカードのチェックをすると、今まで使っていたクレジットカードにはチェックを入れることができないので、管理画面で同時に見ながら設定ということはできませんので、クレジットカードの設定はメモなりスクショなり取って置いておくことをお勧めします。
ただ、「トークン方式クレジットカード」から「クレジットカード」にチェックをし直せば、設定内容は残っているので、確認することはできます。

あと、私がひっかかったのは、決済用テンプレート初期化にて、【決済用テンプレートを初期化する。】をチェックという部分です。
きちんと書いてあるのに、怖くてとりあえずチェックせずに進めたら、実際にテストで買い物をしてみたときに、クレジットカード情報をいれる部分が真っ白になりました。そこは(怖がらずに)チェックが必要です。

ACF: Google Map ExtendedにGooglemapAPIkey追加

ACF:GoogleMapExtendedをそのまま使用すると、GoogleMapが表示されません。

GooglemapAPIkeyが足りないからです。

GoogleMapAPIKeyの取得については、いろんなサイトがあるので、そちらにおまかせするとして、ACF: Google Map Extendedのスクリプトのどこをどう触ったか、だけ。

wp-content/plugins/advanced-custom-fields-google-map-extended/acf-google-map-extended-v4.php

のL28の

wp_register_script(“googlemaps-api”, “//maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=places”,array(),’3′,false);

wp_register_script(“googlemaps-api”, “//maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=places&key=取得したAPIKey”,array(),’3′,false);

です。

 

v5.phpとかにも同様のファイルがありました。v4.phpやv5.phpのどちらを使用するかの条件等まで調べてませんが、v4.phpでうまくいかなかったらv5.phpで試して見られれば。

あと、コアのプログラムを触るのは嫌ですが、急いでたので、コアを触りました。

コアを触らずに変更できる方法があれば、ぜひ教えてくださいませ……。

メールサーバのIPがブロックリストに掲載されてメールが届かない。

メールを送信後、エラーメールが返ってきて、内容を見たらこんな英語が並んでる……。

550 5.7.1 Unfortunately, messages from [***.***.***.***] weren’t sent. Please contact your Internet service provider since part of their network is on our block list . You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors.

とか

Deferred: 421 4.7.0 [TSS04] Messages from ***.***.***.*** temporarily deferred due to user complaints; see https://help.yahoo.com/kb/postmaster/SLN3434.html
Message could not be delivered for 5 days Message will be deleted from queue

とか

554 5.0.0 Service unavailable

とか。

よくよく読めばブロックリストに掲載されてますよってことで。

IPを
https://mxtoolbox.com/blacklists.aspx
で検索すると、どのブロックリストに載っているかが一覧で調べられたので便利でした。

一番手っ取り早いのはサーバ業者さんにエラーメール文書を載せて、送ってみるというのかもしれません。

そもそも何でブロックリストに載っちゃったかというと、
SPFレコードの設定をしてなかったからのようです。
SPFレコードの設定してからは、まだ解除申請してないところも、解除されてました。気のせいかもしれませんが。

解除の方法はいろいろと為になるブログがたくさんありますが、
私が参考にしたのは

Barracuda Networks社提供のDNSBLに登録されてしまった時

FortiGuard アンチスパムのブラックリストから解除してもらう方法

会社のドメインがoutlook.comのBlock listにのっかってたので、外してもらったその方法(550 SC-001エラー)

でした。貴重な情報をおまとめいただきありがとうございました。

WAFで403エラー

WAF(ウェブアプリケーションファイアーウォール)が適応されているサーバで、403エラーが出た場合、たいていWAFが原因だと思います。

サイト更新時に出ることが多く、更新内容が問題だったりします。
今まで起こったWAFによる4.3エラーの原因をストックしておきます(と言ってもまだ2件)。

・URLが間違っている。
<a href=””>で指定したURLがタイプミスなどで、その先が404だった場合に起こりました。

・ソースコード内に全角が入っている
滅多にないと思いますが、エクセルの表をHTML化したものをソースで利用するときには要注意です。<table>タグのstyle=”” にfont-familyに「ヒラギノ角」など全角が入っている場合に起こりました。

そうそうないとは思いますが、また増えたら更新します。

WordPress4.8.3でメディアライブラリが表示されない現象

WordPress4.8.3で、メディアライブラリを使おうとすると、今まで入れた画像が表示されず、ずっと読み込み中になってしまう現象が起こりました。

その前後で何かしたということはないので、下記のことを試しました。

・リブートかける
・ブラウザのキャッシュを消してみる
・memolylimitを増やしてみる
・プラグインを停めてみる
・wp-configに謎の呪文を入れてみる

しかし、どれも効果がなく。

最終的に

WordPress(バージョン4.6.1)のメディアライブラリが表示されない場合の対処法

こちらの記事を読ませていただいて、

「AjaxによるPHPとJavaScriptの送受信の不具合」
「AjaxによるPHPとJavaScriptのデータ送受信の不具合は、サーバーのPHPバージョンが古いために起こることがあります。」

という文章が、一番近い減少のような気がしたので。

サーバはさくらインターネットだったので、コントロールパネルからPHPバージョンを5.2から5.3に上げてみました。

そうすると無事に解決しました。

WP4.8.3との兼ね合いか、「起こることがある」とのことだったので、たまたまだったのかはわかりませんが。

簡単にPHPのバージョンを選べる、さくらインターネットでよかったなぁと思いました。
※ちなみにPHP7まで上げたとき、このブログではおこらなかったのですが、別のWPではエラーがいっぱいでました。多分「Types」というpluginでのエラーだったと思いますが……。

最新に上げればいいってわけではなくて、いろんなところと相談しながら上げていく必要があるなぁと改めて思います。

さくらインターネットで「Let’s Encrypt」を設定してみる

2017年10月17日から、さくらインターネットで「Let’s Encrypt」がコントロールパネルから設定できる!ということで楽しみにしておりました。
スマホの普及によりあらゆる人がネットにすぐ接続できる環境で、セキュリティの弱い環境での閲覧が危険ということで、見られるサイト側でセキュリティを上げる必要があると、常時SSL化が重要となってくる中、それでもサーバ証明書は有料だし……と一般人にはなかなか敷居の高い状態でしたが……。これで、私のような個人サイトでも常時SSL化にすることができる!!ありがとう!さくらインターネット!!

ますます好きになりました。

さて、「Let’s Encrypt」をこのブログに導入してみようと思います。

1.コントロールパネルログイン

2.ドメイン一覧から証明書を設定したいドメインを選ぶ

3.証明書の登録を押す

4.「無料SSLを設定」ボタンを押す

という流れです。

途中で「ドメインは、wwwなしでなければならない」とかいろんなことが書いてあったんですが、そこは気にしなくてよかったです。

ただ、WPはそれだけではまくいかない。

「リダイレクトが繰り返し行われました。」と表示されます。ので、下記の記事を参考に対応です!

さくらのレンタルサーバでWordPressサイトを常時SSL化するとリダイレクトループが発生する場合の対処方法

さぁできた、htaccessでhttpに飛んできたのはhttpsに飛ばすぞー!と、普通に.htaccessを書き込んだら、またリダイレクト……。

htaccessも書き方に一癖あるみたいです。

最終的にはこちらの記事どおりにしました! ありがたや!

WordPressをhttps化する方法とさくらサーバーでの注意事項

※2018.10.19追記

マルチドメインにしたときに、上記のhtaccessの書き方では、マルチドメイン対象にしたフォルダから、元のドメインにリダイレクトされてしまいます。

上記の記事のhtaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://ドメイン名/$1 [R=301,L]
</IfModule>

つまり、

www ← https://www.sample.jp として、
└newsite ← これをhttp://samplenew.jp に設定する

http://samplenew.jpにアクセスすると、一旦そこのURLが表示された後に、https://sample.jp/newsite/にリダイレクトされます。

下記の記事を参考にしました。

さくらのサーバーでSSL化する前におさえておきたいポイント
# さくらのリダイレクト記述
SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

WordPressで「アクセス権はサーバーによる書き込みを許可していますか ?」のエラー

サーバ移行してから「ディレクトリwp-content/uploads/2017/10を作成できませんでした。この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか ?」というエラーが出ます。
いろんなブログを見て「パーミッションを「777」「707」にするとか、php.iniでphpのセーフモードをOffにするとか、いろいろと試しにやってみたのですが、うまくいかず。

いろいろと事情があって、とても古いWPなのですが、「設定」 – 「メディア」から「アップロードする画像の格納場所」の設定を「wp-content/uploads」に変更したら治りました。そして、その設定を「wp-content/uploads」に替えたら、その項目自体、消えてしまった……。不思議だ。

WordPressで画像がアップロードできない場合の原因と対策一覧
の記事がとても参考になりました。参考になったというか、これを見てなかったら、いつまでもさまよっていました。
ありがとうございました。

上記記事では「WP3.5」以降には項目がありませんが、と書いてありました。
問題のWPは「WP4.2」だったので、該当はしませんが、おそらく導入当初はもっと低いバージョンで、知らないうちに誰かがバージョンアップを行ったので、「WP4.2」まで上がり、でも数値がデフォルトの値ではないもので設定されていたので、項目として管理画面から見えるようにしていただいてたってことじゃないのかなと推察します。