さくらのVPSにKUSANAGIでWordPress設定

https://www.sakura-vps.net/kusanagi-for-sakura-vps-wordpress-setting/

上のURLを参考に設定

ドメインはお名前.com

https://help.sakura.ad.jp/hc/ja/articles/206207381-%E3%83%8D%E3%83%BC%E3%83%A0%E3%82%B5%E3%83%BC%E3%83%90%E5%88%A9%E7%94%A8%E7%94%B3%E8%AB%8B

こ子を参考にname serverを設定(お試し期間だと使えない)

SFTPでアクセスできるよう確認して

今日は最後に
「Let’s Encrypt(無料SSL)」のインストール

kusanagi ssl --email info@example.com my_dir

として、勝手にOKになった

KUSANAGIというのは、セキュリティのためすいすい管理画面からプラグインを入れたりできないみたい

Q2. KUSANAGIサーバにSFTPクライアントで接続し、ファイルの転送を行う際の接続設定を教えて下さい。
A2. 以下のように設定します。
ホスト名:example.com(SSH接続時のホスト名と共通)
ユーザー名:kusanagi
パスワード:[インストール時に設定したユーザー「kusanagi」のパスワード]

Q3. WordPressの管理画面からプラグイン・テーマの追加やWordPressの更新またはプラグインの更新を行おうとしたところ、FTPの接続情報を要求されました。
A3. KUSANAGIでは、セキュリティ対策のため各ディレクトリのアクセス権限等に制限をかけているため、プラグイン・テーマ等の追加や各種更新を行う際にFTPの接続情報を要求されるようになっています。
次のように接続情報を入力することで、作業を続行できます。
ホスト名:localhost
ユーザー名:kusanagi
パスワード:[インストール時に設定したユーザー「kusanagi」のパスワード]


メールアドレスを設定したいが、そこまで進めなかった

マイクロソフトEDGEで 日本語ドメインのリファラーチェックすると他のブラウザーと違う(怒)

日本語ドメインをリファラチェックエラーをかけたら
EDGEだけが日本語ドメインのままになる。

$browser = strtolower($_SERVER[‘HTTP_USER_AGENT’]);
echo $browser;

他のブラウザーは日本語ドメインをピュニコードした文字列なのに、
Edgeだけが、日本語のままだった

それでしかなくこのページ(https://qiita.com/gnk0096/items/9b72fb18b2ef99d33bfa)を参考にして
ブラウザで振り分けた。

// 判定するのに小文字にする
$browser = strtolower($_SERVER[‘HTTP_USER_AGENT’]);

// ユーザーエージェントの情報を基に判定
if (strstr($browser , ‘edge’)) {
//エッジの時の設定
} else {
//他の全部
}

このエラーを調査するために8ヶ月ぶりにエッジを開いた。

ラジオボタンをカスタマイズの例

.ragio_custom input{
    display: none;
}
.ragio_custom label{
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin-left: 20px;
    padding: 10px 20px;
    border-radius: 2px;
    color: #3e4956;
    font-size: 14px;
    text-align: center;
    line-height: 1;
}
.ragio_custom label:before{
    position: absolute;
    content: "";
    top: 50%;
    left: -10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background: #e2e2e2;
    border:1px solid #999;
    border-radius: 50%;
}
.ragio_custom input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    top: 50%;
    left: -4px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: #e82c83;
}
<div class="ragio_custom">
	<input type="radio" name="radio1" id="select1" value="1" checked=""><label for="select1"><img src="images/plan/1.jpg" class="radio_img" alt="選択肢1"/></label>
	<input type="radio" name="radio1" id="select2" value="2"><label for="select2"><img src="images/plan/2.jpg" class="radio_img" alt="選択肢2"/></label>
	<input type="radio" name="radio1" id="select3" value="3"><label for="select3"><img src="images/plan/3.jpg" class="radio_img"  alt="選択肢3"/></label>
	<input type="radio" name="radio1" id="select4" value="4"><label for="select4"><img src="images/plan/4.jpg" class="radio_img" alt="選択肢4"/></label>
</div> 

ラジオボタン 

drawer.js アンドロイドでメニューがスクロールしない 

腹立たしいほどハマってしまったので、記録したい。
元は、iScroll.js と drawer.js のハンバーガーメニューがAndroidで動かない
https://qiita.com/YujiHatanaka/items/64b6a6c8facb3a2f69b5

内容——–

iScroll.js と drawer.js のハンバーガーメニューがAndroidで動かない
JavaScript
iscroll.js
概要

drawer.jsを使った、スマホ用バーガーメニュー実装で、新しいAndroidのChromeにおいて長いメニューがスクロールしない症状がありました。スクロールは、全くしない訳では無く、フリックで素早く動かすと若干スクロールするものの、通常のタップ移動では指を離したタイミングでメニューが閉じてしまいます。この不具合の修正を試みました。
詳細

Androidでは、2016年末頃からスクロール動作を滑らかにするために、addEventListenerにイベントを登録する際、デフォルトでそのイベント内部の preventDefault を実行しないモードになりました。
jQuery の on() でイベントを登録している場合、addEventListener の第3引数に {passive: false} を加えられるようなオプションは無いため、drawer.js内部で on()を使用している箇所をaddEventListener を使って書き直す必要があります。加えて何かとバグの多いiscroll.js ではAndroidのタッチ動作をうまく検出出来ていない様子なので、スマホだけに表示させる画面、という前提で動作するよう修正試みました。
修正ポイント
drawer.js(v3.2.2)
19行目

iScroll.js のデフォルトオプションを定義している部分。preventDefaultが基本ONになるようにしている。
修正前
drawer.js

preventDefault: false

修正後
drawer.js

preventDefault: true,

107行目

修正前
drawer.js

if (touches) {
$this.on(‘touchmove.’ + namespace, function disableTouch(event) {
event.preventDefault();
});
}

修正後
drawer.js

if (touches) {
document.addEventListener(‘touchmove.’ + namespace, function disableTouch(event) {
event.preventDefault();
}, {passive: false});
}

iscroll.js(v5.2.0)
42行目

内部でaddEventListnerを addEventとしてエイリアスを作っている部分があるので、ここで Android対応の書き方にする。
修正前
iscroll.js

me.addEvent = function (el, type, fn, capture) {
el.addEventListener(type, fn, !!capture);
};

修正後
iscroll.js

me.addEvent = function (el, type, fn, capture) {
el.addEventListener(type, fn, {passive: false});
};

191行目

マウスポインタの場合の処理だが、スマホのみで使う前提なので、タッチイベントと同じものとして扱わせる。

修正前
iscroll.js

pointerdown: 3,
pointermove: 3,
pointerup: 3,

修正後
iscroll.js

pointerdown: 1,
pointermove: 1,
pointerup: 1,

331行目

ポインター、マウスなどをdisableにする処理だが、条件分岐がAndroidの場合、望んだとおりにならないようなので、タッチデバイスしか扱わないのとChromeのデバッグ環境でも動くことを考えて修正。

修正前
iscroll.js

disablePointer : !utils.hasPointer,
disableTouch : utils.hasPointer || !utils.hasTouch,
disableMouse : utils.hasPointer || utils.hasTouch,

修正後
iscroll.js

disablePointer : false,
disableTouch : false,
disableMouse : false,

482行目、622行目

e.preventDefault();をコメントアウト

これは
IScroll.prototype = {の中の
_start: と
_end: のpreventDefault を無効にしている。

以上で Android と iPhoneで正常動作するようになった。
参考

Android Chrome beta (v.56) でdocumentに対するtouchイベントのpreventDefaultが効かない
(http://qiita.com/ru_shalm/items/4d79e94b5d9c7c88607d)
一連の根本的な原因、ChromeのaddEventListenerについての挙動について説明があります。

Passive Event Listeners によるスクロールの改善
(https://blog.jxck.io/entries/2016-06-09/passive-event-listeners.html)
さらに詳細な情報があって、理解が深まります。

この問題が起きているときに、Chromeブラウザのデバッグコンソールに以下のメッセージがでます。
Unable to preventDefault inside passive event listener due to target being treated as passive.

エックスサーバーで添付付きのメールをCRONで毎日送る (申し込みデータとか、ログとか…)

ここから–
#!/usr/bin/php7.1

<?php

$mailTo      = '送り先メアド@入れるよ';
 
// メールのタイトル
$mailSubject = 'CSV送るよ';

$tim = time();
$today = gmdate("Y/m/d(D)",$tim+9*60*60);
$now = gmdate("Y/m/d(D)H:i",$tim+9*60*60);

// メール本文
$mailMessage = <<<mlbody
こうすると複数行のメールが自由にできるよ
cronによる送信日本年月日:$today
cronによる送信日本時間:$now
使い方はいろいろだね
mlbody;
 
// 添付するファイル
$dir = './ドメインフォルダ名/添付したいファイルのあるフォルダ/';
$file = 'log.csv(添付するファイル名)';
$fileName    = $dir.$file;
 
// 差出人のメールアドレス
$mailFrom    = 'nice@なメアド';
 
// Return-Pathに指定するメールアドレス
$returnMail  = 'nice@なメアド';
 
// メールで日本語使用するための設定をします。
mb_language("Ja") ;
mb_internal_encoding("UTF-8");
 
$header  = "From: $mailFrom\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"__PHPRECIPE__\"\r\n";
//$header .= "\r\n";
 
$body  = "--__PHPRECIPE__\r\n";
$body .= "Content-Type: text/plain; charset=\"ISO-2022-JP\"\r\n";
$body .= "\r\n";
$body .= $mailMessage . "\r\n";
$body .= "--__PHPRECIPE__\r\n";
 
// 添付ファイルへの処理をします。
$handle = fopen($fileName, 'r');
$attachFile = fread($handle, filesize($fileName));
fclose($handle);
$attachEncode = base64_encode($attachFile);
 
$body .= "Content-Type: image/jpeg; name=\"$file\"\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n";
$body .= "Content-Disposition: attachment; filename=\"$file\"\r\n";
$body .= "\r\n";
$body .= chunk_split($attachEncode) . "\r\n";
$body .= "--__PHPRECIPE__--\r\n";
 

mb_language("ja");
mb_internal_encoding("UTF-8");
mb_send_mail($mailTo, $mailSubject, $body, $header,'-f' . $returnMail);


?>

—ここまで

#!/usr/bin/php7.1 のところは、自分のサーバー情報から 確認すべし

サーバーで
ドメイン名のフォルダの直下に /okuru フォルダを作成して
そこへ okuru.php と名付けた上のphp をアップする パーミッションを実行可能権限755にする

サーバーパネルから CRON設定画面開いて コマンドのところに
/home/サーバID/ドメイン名/okuru/okuru.php

時間とタイミングは好きにする
 CSV送るよっていうメールが来て、ちゃんとファイルがついてれば成功
別にCSVでなくてもいいけど、今回はCSVだったので

覚え書きです。またわすれちゃうから。

Huluが契約終了(勝手に)したくせに引き落とししてきた

2017年5月半ば,私はプリズンブレイクのシーズン5をみていて、吹き替え版じゃないので割合真剣にみてたんだけど
数話みたところで前作より面白くないかなと自分では思ったのと、他に見たいドラマができてそっちを見てた。

そうしたらHuluがメンテナンスに入るよ〜っていうお知らせを出していたのは覚えているんだけど
何しろそのブリズンブレイクの新しいの、一応見とくか、って思ったのに
メンテ後ログインもできなくて
ご契約が終了しました。動画を視聴するには再開してください。

Huluあほか

ってHuluが言うので、新しく契約し直せってことか。と思って今はHuluでプリズンブレイクしか見てなかったから、
しばらく契約しないでいいや思ったわけです。

で、しばらくして今日は開けて20日だけど、HJホールディングス株式会社へのお支払いのご連絡 って言うメールが来て
あれ?「HJホールディングス株式会社」ってhuluか?と思って見て見たら
[HJホールディングス株式会社への¥1,007 JPYのお支払いが完了しました]ってペイパルに出てる(ペイパツ支払いにしてた)

ご契約が終了なのに、お金だけ引き落とすっていうのはどういう道理でそうなってるの?

おかしいなと思って、一旦ログインしてみるも。やはり契約は終了していると出てる。
お支払い情報鵜のところには、利用規約しかないし。

¥1,007円かえして!!マジで
っていうか5月の見れなかった文も返して!!

ていうか、本当に、契約が終了って向こうが言ってるのにお金だけ引き落としちゃうとか、そんなことするのかな?
わからない、本当にわからない。

Hulu電話サポート番号

お問い合わせを送って見たら、完了画面に電話で問い合わせ先が出てた。不親切〜。

iMac 27inch 2017が届いた!!

iMac 27inch 2017が届いた!!

iMac 2017

届いたiMacは上の方がすぼまってるマックの箱に合わせた茶色の段ボールに包まれて届きました・

速攻で開封、移行アシスタントを使おうとしたら容量の関係でどうのこうの、って出てきたのでもうもしかするとMacProG4からiMacG5、iMac2011をいままで、引き継ぎながら使ってきたから
移行しないで使ってみようかなと思って、そうしてみました。

大体のものはDropboxだし、Adobeソフトは認証を解除して、入れ直したら設定の同期もできたし良い感じ。
ただ、FireworksがAdobeのインストーラーになくて、見つけるのに苦労した。
過去のバージョン、みたいなのをクリックで他のソフトでも最新じゃないのがインストールできる仕組みだった。

それで、Sublimetext2をインストール、YummyっていうFTPを今回は入れてみた。
だってFilezzila どれが公式かよくわかんない。いままではfilezzillaだったけどやめてみた。
他には今からまたOfficeを入れなきゃいけないけど。とりあえずは今日は眠くなっちゃってこれで寝ようかなって。

3センチくらいあったマックのうえの部分は1センチないので、ねこはそこを歩けなくなったのが改良点。