WordPress の子テーマを作成

WordPress でアフィリエイトを始めて早1か月。日々精進しております。

今日は、子テーマの作成について書きます。子テーマの作成は、本来の目的ではなく、テーマを自分なりに改造する上で絶対必要なので記事にしました。



なぜ絶対必要かを説明する前に、子テーマについて。

200×200 高速大容量レンタルサーバ10G
mixhost

子テーマてなんだ?

WordPress 4.9.5 を使っているのですが、デフォルトのテーマを使っていまだ私はサイトを作成しています。Twenty Seventeen です。なんのことはない、2017 ですね。2017年にリリースされたのかなと思いますが、そんなことを詮索してもしょうがないです。子テーマの話ですよね。

子テーマに入る前にテーマの ”見た目” についてちょと語りましょう。”見た目” ってでどうしても改善したいとか、ちょっと好みと違うと言うところが出てきます。その時、そのテーマが持っているサーバの中のファイル style.css を修正して対応することになります。このファイルは、WEB 業界の中では「スタイルシート」と呼ばれています。このファイルの中で、ほとんどの ”見た目” が決められています。これを修正すると、”見た目” を変えることができるのです。

ちょっと待った、スタイルシートに手を付けるな!

このスタイルシートに手を出すと、後で痛い目に合うんです。それは何故か。テーマにもバージョンと言うものがあります。Twenty Seventeen なら、2018/6現在 V1.6 です。このバージョンが近い?将来 V1.7 になったりするわけです。そのとき、”見た目” も一緒に修正されたりします。必ず修正されるわけではないですが。もし、修正された場合、前述の style.css も上書きされてしまう可能性です。やばいですよね、上書きされたら。せっかく修正したものが、水の泡と消えてしまいます。

子テーマを作ろう!

そこで子テーマの登場です。子テーマと言うくらいだから、親テーマがいるわけです。親の子は、血縁関係にあるので、”見た目”  も似てるのですが、微妙に違ったりもします。WordPress の中では、まず瓜二つのまったく親と同じ子テーマを作り、それをベースに ”見た目” を変えて、子としての個性を持たせるのです。そうすると、親がバージョンアップしたとしても、子は無事でいられるのです。

子テーマ作りの実際

前提条件

  • サーバのドキュメントルート配下にディレクトリを作成することができる
  • ファイルの作成やファイルのアップロードができる

これらのこできないとちょっと難しいかもしれません。

ディレクトリを作成するには、ssh などでサーバにログインして mkdir などのコマンドをたたく方法や、ftp や scp なんかも使えるかもしれません。

ファイルの作成は、ssh で入って、vi などのエディタを使ってファイルを作成するか、ftp や scp でクライアントPCで作成したファイルをアップロードするかです。

前提条件がクリアできたら実作業に入りましょう。

ディレクトリを作成する

作成する場所は、

ドキュメントルート/wp-content/themes

の下です。この下には、デフォルトで入っているテーマ用のディレクトリがあります。今回親として継承する元となる Twenty Seventeen 用のディレクトリ twentyseventeen もそこにあります。ここに、好きなディレクトリ名で作成します。日本語は避けたほうが無難かもしれません。また、継承元の親が誰なのかがある程度わかるようなディレクトリ名が良いかもしれませんね。ディレクトリを作成したら、親のディレクトリと、オーナー/グループ、パーミッションが同じであることを確認してください。違っていたら、chown や chmod で変更してください。Unix/Linux のコマンドの使い方まではここでは説明しませんので、google 先生に聞くなりしてください。





テーマに必要な最低限のファイルを作る

WordPress のテーマには、最低限必要な2つのファイルがあります。

1つは、functions.php。テーマの動きとか機能を定義してあるファイルです。

もう1つは、style.css。テーマの ”見た目” を定義してあるファイルです。

大そうなことを書きましたが、生まれたての 子 のファイルなんて大したことないんです。

  • functions.php。

まずは、functions.php。

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_parent_theme_file_uri() . '/style.css' );
}
?>

これは名にも考えずに作成してください。そして、ファイルのオーナ/グループ、パーミッションは親に合わせて設定してください。親は誰かは、この後説明します。

  • style.css

WordPress の世界はすごいです。子 が 親 を選べるんです。「産んでくれなんて頼んでない!」とか言わなくてもいいんです。自分で親は選べるんです。

話がそれましたが、親を定義するのはこの style.css ファイルなんです。中身はたったこれだけです。

/*
* Theme Name: twentyseventeen-X
* Template: twentyseventeen
* Theme URI: https://wordpress.org/themes/twentyseventeen/
* */

”見た目” もこのファイルで定義するのですが、最初は親とうり二つでよいので、何も ”見た目” は定義しなくても良いのです。

2行目で、子テーマの名前を “twentyseventeen-X” と定義しています。

3行目で、Template=親 を自分で選んでいます。デフォルトで入っている twentyseventeen です。” Twenty Seventeen” と書いてはだめです。

4行目で、親のがどこにあるのか、URI を定義しています。

 

これだけです。簡単ですよね。

子テーマのスタイルシートの中身は何も書いてなくても、親のTwenty Seventeen の情報を継承しています。Java などのオブジェクト指向言語の「継承」ですね。

子テーマを自分のサイトに適用する

子テーマが出来上がったら、自分のサイトに適用してみましょう。

ダッシュボード → 外観 → テーマ と進みます。

そうすると、作成した子テーマが親テーマとともに現れます。親テーマは、ヘッダー画像の観葉植物の鉢植えの写真が表示されています。作成した子テーマは、その下に出ています。子テーマはヘッダー画像も継承しているはずなんですが、この画像は出ません。なぜかは現在不明。ここでは、問題はないので次に進みます。

子テーマを適用すするには、子テーマの上にマウスを載せて、出てきたボタン「有効化」をクリックするだけです。

これで、自サイトに新しく作成したテーマが適用されました。

この時点では、親の ”見た目” をすべて継承しているので、何も変わらないはずです。継承されたものがデフォルトとして使用され、改めて指定/設定したものがオーバーライド、つまり上書きされるわけです。それで、子テーマのスタイルシートに、親に似せたくない設定のみ記述すればよいのです。

 

子テーマがここに表示されない場合は、初心に返って、ディレクトリの場所/パーミッション、2つのファイルの名前/パーミッションなどを確認してください。

子テーマの “見た目” を修正する方法

自分のサイトに子テーマを適用したら、後はお好きに “見た目” をカスタマイズしてください。その方法は、先ほど作成した “style.css” を編集するのです。この編集は、わざわざサーバに ssh なんかで入らなくても、vi を知らなくても大丈夫でです。

ダッシュボードから 外観 → テーマの編集 を選んでください。

そうすると、こんな画面になります。

先ほど作成した “style.css” が画面に出てきました。ここで直接編集して保存もできます。

具体的に、”見た目” のどこを変えるには、このファイルをどうするかと言う話は、事例を交えて次回以降紹介します。

今回は、”見た目”  を変えるための前準備として 子テーマの作成方法を書きました。WordPress 経験まだ2か月経過してないので、凝ったものは紹介できませんが、お付き合いください。






WordPress アフィリエイトリンク画像を横に並べる

WordPress でアフィリエイトを始めて早1か月。日々精進しております。

今日は、アフィリエイトのリンク画像を横に並べる方法をご紹介します。

HTML の <TABLE>~</TABLE> を使う

A8.net などアフィリエイトから広告リンクを取ってきて、ページのソースコードに埋め込んだりするわけですが、複数の広告を連続で入れると、縦に並んでしか表示されません。こんな感じですよね。








これを横に並べるにはどうするのでしょうか。答えは、HTML のテーブルを使うのです。他にもっと良い答えがあるかもしれませんが、今のところこれが解決策です。例えば、2つの広告を横に並べるには、以下のように書きます。

<TABLE border="0">
<TBODY>
<TR><TD>

広告①の HTML コード

</TD>
<TD>

広告②の HTML コード

</TD></TR>
</TBODY>
</TABLE>

テキストモードHTMLを書くって結構大変です。もうちょっといい方法がないか考えてみました。

TinyMCE Advanced を活用して並べる

テーブルで解決するのでから、テーブルを作成するプラグインを使えばもう少し楽になるのではと考え付きました。

表(テーブル)を作るプラグインは、TinyMCE Advanced と言うのがあります。これで、上の例なら、縦2列 横1行の表を作成して、その中にHTMLコードを埋め込めばいいじゃん!

TinyMCE Advanced については、ここでは詳しく書きませんが、高機能エディタと言うカテゴリに分類されるようなプラグインで、その中に表作成機能があります。これを入れると、こんなボタンと言うかメニューが現れます。

これを使って広告を2つ横に並べてみましょう。

①表を作成

マウスをクリックするとメニュが現れます。「テーブル」から右にずらすと、表みたいなのが現れるので、1行x2列を選択します。

そうすると、表が画面に現れます。

左のセルにまずは広告コードを入れてみます。左のセルをクリックして、カーソルが左セルにある状態にしてください。次に、ビジュアルの隣のテキストをクリックします。画面が、切り替わります。

2つのセルは、赤で囲った部分で表現されています。左のセルは上に行に、右のセルは下の行になっています。ビジュアル画面で左のセルにカーソルがあったので、その位置と同じところにテキスト画面でもカーソルが表示されています。上の行の ></td> のところです。ここに広告コードをペーストします。

大量のHTMLがペーストされるので、どこが左のセルで、どこが右のセルかわからなくなりそうですよね。でも大丈夫。後で説明しますが、ビジュアルに戻ればセル位置は明確になります。

ビジュアル画面に戻ると、広告の画像が左のセルに入っています。

今度は、右のセルに広告コードを入れます。右のセルをクリックしてから、テキストモードに変更します。

すると、カーソルが右セルを表す位置にちゃんと出てきます。間違って、他に位置に広告コードを入れる心配はありません。ここに2つ目の広告コードをペーストします。

ビジュアルモードに戻りましょう。

うまく行きましたでしょうか。2つの広告画像が横にならんで表示されていますね。

実際の WEB 画面ではこんな感じになります。

切り抜いてあるので、URL などは見えないです。

広告の周りに罫線が見えますが、この罫線は表のプロパティで枠線の値を 0 に設定すると消すことができます。後からでも変更可能です。





いかがでしたでしょうか。これで、あなたもアフィリエイトが ”出来る” 気になってきたでしょ! 早速上のバナーをクリックして A8.net に登録しましょう!。

200×200 高速大容量レンタルサーバ10G
mixhost

2/4 Lexus リモコンキー/スマートキーの電池(バッテリー)交換

1/4 Lexus リモコンキーの電池(バッテリー)交換

前回は、Lexus NX200t のキーの種類とそれらに入っている電池/バッテリーの種類を書きました。おさらいするとこんな感じです。

キーの種類                   電池 CR2032 CR2412
リモコンキー/スマートキー 1個
カードキー 1個
リモートスタート(プレミアム) 2個
リモートスタート (ベーシック)

必要な電池は、購入・配送されましたでしょうか。

高性能 リチウムボタン電池CR2032【メール便送料無料】10個320円【RCP】 【532P17Sep16】

価格:320円
(2018/5/30 10:14時点)
感想(5032件)

カードキーの電池(バッテリー)交換はこちら ↓ を参照してください。

3/4 Lexus カードキーの電池(バッテリー)交換

リモートスタート(プレミアム)の電池(バッテリー)交換はこちら ↓ を参照してください。

4/4 Lexus リモートスタート(プレミアム)の電池(バッテリー)交換

 

今回は、① リモコンキー/スマートキーの電池交換手順の紹介です。

① Lexusリモコンキー/スマートキーの電池交換

Lexus リモコンキーを横から見た写真です。

 

手前の左側に「PUSH」と書かれた部分があります。下の写真の赤矢印のところです。

 

「PUSH」全体を押すのではなく、P側を押すとH側が浮き上がってきます。押したままの状態で、キーホルダーのリングを引っ張ると、隠されていたキーが抜けてきます。

 

キーが抜けたとこをを覗いてみると、こんな感じです。

中にある溝と言ってもわかりにくいので、赤で囲ってみます。

ここに抜いたキーの先端を1mm程度差し込みます。

そして、キーを左右に回すと、キー本体のカバーが「パキッ」と音がして少し開きます。「パキッ」は壊れた音ではないです。少し開いた状態はこんな感じです。

開く前↑     開いた後↓

 

あとは、手で真っ二つに開けます。

写真の左側には、リモコンキーのボタン(白いのが3つ)があり、それが取れるかもしれませんが、大丈夫。元に戻せますので焦らずに。

右側には、シリコンの防水?or防塵?カバーがあるので、それを外します。形が、左右対称ではないので、戻す際にわからなくならないように注意してください。

心臓部が見えてきました。次にこの心臓部を取り出します。手のひらの上で逆さまにすれば出てきます。

出てきた心臓部を裏返しにします。

ついに電池(バッテリー)発見!  でも、この電池が取り出しにくいんです。手でやろうとすると、爪なんか折れそうです。

そこで、再び取り出した金属のキーを使いたいところですが、バッテリーをショートさせる危険があるので、それは絶対にやめてください。

ちょっと高級な割り箸を探しましょう。こんなやつです。

上の方が斜めにカットされているやつです。無ければ、普通の割り箸を斜めにカットしてもいいでしょう。

割り箸が見つかったら、これを下の写真の赤矢印にあるように、電池と心臓部の隙間に入れて割り箸を左右に回します。高級すぎる割り箸だと、幅がありすぎるかもしれません。その場合は、割り箸を使うときのように割って片方を使いましょう。

奥まで入れる必要はないです。と言うか、奥まで絶対に入れないでください。ちょっと引っかかりがある程度でいいです。

電池を外した状態はこんな感じです。

電池の下に、電極の薄い円形の金属があります。割り箸を奥に突っ込み過ぎると、この金属を破壊してしまうので、くれぐれもご注意ください。

この記事を読んで “難しい” と思ったあなた! 車の買い替時かもしれませんね。まずは査定してもらいましょう。



カードキーの電池(バッテリー)交換はこちらを参照してください。

これで電池交換の準備はできました。本日は、ここまでです。次回は、② カードキーの電池(バッテリー)交換手順をご紹介します。

3/4 Lexus カードキーの電池(バッテリー)交換

3/4 Lexus カードキーの電池(バッテリー)交換

1/4 Lexus リモコンキーの電池(バッテリー)交換

初回で、Lexus NX200t のキーの種類とそれらに入っている電池/バッテリーの種類を書きました。おさらいするとこんな感じです。

キーの種類                   電池 CR2032 CR2412
リモコンキー/スマートキー 1個
カードキー 1個
リモートスタート(プレミアム) 2個
リモートスタート (ベーシック)

必要な電池は、購入・配送されましたでしょうか。

Panasonic ボタン電池 CR2412 コイン電池 リチウム電池 パナソニック

価格:510円
(2018/5/30 10:17時点)
感想(10件)

リモコンキー/スマートキーの電池(バッテリー)交換はこちら ↓ を参照してください。

2/4 Lexus リモコンキー/スマートキーの電池(バッテリー)交換

リモートスタート(プレミアム)の電池(バッテリー)交換はこちら ↓ を参照してください。

4/4 Lexus リモートスタート(プレミアム)の電池(バッテリー)交換

今回は、②のカードキーの電池交換手順の紹介です。

②Lexusカードキーの電池交換

Lexus カードキーを表から見た写真です。裏面もほぼ同じ形状ですが、Lexus マークはありません。

上の方に赤いマル印を付けました。表面と裏面の同じ場所を親指と人差し指で結構強めにつまんで上方向に引っ張ります。抜けにくいと言うか、外しにくいのでコツを掴むまで何度かトライしてください。

外れると、こんな感じで電池が見えます。

拡大するとこんな感じです。電池もちょっと引っ張りだしています。

電池を取り出したところです。取り出したら、新しい電池と交換します。電池には、表裏+-の極性があるので注意しtえください。Lexus マークnほうが+です。

電池を交換したら、外したカバーを戻して終わりです。

これでカードキーの電池交換はできました。本日は、ここまでです。

この記事を読んで “難しい” と思ったあなた! 車の買い替時かもしれませんね。まずは査定してもらいましょう。


次回は、③ リモートスタート(プレミアム)の電池交換手順をご紹介します。

4/4 Lexus リモートスタート(プレミアム)の電池(バッテリー)交換

4/4 Lexus リモートスタート(プレミアム)の電池(バッテリー)交換

1/4 Lexus リモコンキーの電池(バッテリー)交換

初回で、Lexus NX200t のキーの種類とそれらに入っている電池/バッテリーの種類を書きました。おさらいするとこんな感じです。

キーの種類                   電池 CR2032 CR2412
リモコンキー/スマートキー 1個
カードキー 1個
リモートスタート(プレミアム) 2個
リモートスタート (ベーシック)

必要な電池は、購入・配送されましたでしょうか。

 

高性能 リチウムボタン電池CR2032【メール便送料無料】10個320円【RCP】 【532P17Sep16】

価格:320円
(2018/5/30 10:14時点)
感想(5032件)

リモコンキー/スマートキーの電池(バッテリー)交換 はこちら ↓ を参照してください。

2/4 Lexus リモコンキー/スマートキーの電池(バッテリー)交換

カードキーの電池(バッテリー)交換はこちら ↓ を参照してください。

3/4 Lexus カードキーの電池(バッテリー)交換

今回は、③リモートスタート(プレミアム)の電池交換手順の紹介です。

③ リモートスタート(プレミアム)の電池交換

下の写真は、アンテナを伸ばし表面を映したものです。

裏面には、Lexus マークがあります。

裏面の Lexus マークの下の方に、+ネジがあります。これを精密ドライバーか、細い+ドライバーで外します。

+ネジを外して、カバーを上の方にスライドさせてところです。ところが、これではカバーが外れないんです。

アンテナの下にカバーの突起があり、アンテナが邪魔して外せません。ちょっと無理やりやれば外せないこともないですが、無理は禁物。

アンテナを少し引き出します。

アンテナは、数段階の太さのポールから構成されていますが、一番上の細いポールを引き出してください。

下の写真のように太いポールではうまくいきません。

カバーを外したところです。

赤く囲まれたのは、写真を加工しているわけではありません。防水?用のシールゴムです。ホコリなど付かないように注意してください。

電池を交換したら、外したカバーを戻して終わりです。

この記事を読んで “難しい” と思ったあなた! 車の買い替時かもしれませんね。まずは査定してもらいましょう。



ここまでで3種類の Lexus キーの電池交換は終わりです。残念ながら、④リモートスタート (ベーシック)は持ち合わせていないので、電池交換の手順をご紹介できませんでした。悪しからず。

高性能 リチウムボタン電池CR2032【メール便送料無料】10個320円【RCP】 【532P17Sep16】

価格:320円
(2018/5/30 10:14時点)
感想(5032件)

1/4 Lexus リモコンキーの電池(バッテリー)交換

私は、現在(2018年5月) Lexus NX200t に乗っています。2016年9月に RX450h から乗換えました。RX450h は7年も乗ってようやく買い替えました。NX200t も既に1年と9か月経過しました。最近インフォメーションディスプレイに「キー電池残量低下」みたいな表示が出ました。リモコンキー/スマートキーの電池/バッテリーの交換を促す表示です。Lexus の電池ってその辺に売ってないんですよね。昔はそうでしたが、今はどうなんだろ。ホームセンターとか探してないですが、昔は置いてなかったので Net で探して買うわけです。前の RX450h の時は、一度 Lexus 晴海に持っていったら、無償で交換してくれましたが、私としては自分でリモコンキー/スマートキーくらい自力でなんとかしたいわけです。お金の問題じゃないし、Lexus のサービスが嫌いと言うわけでもないんですが。いじくるのが好きなんです。いじくるって、北海道弁かな?北海道なら「ちょうす」か。

リモコンキーの電池/バッテリーが切れたら乗換時期だと言う友人もいますが、私はどうしよかな。まず電池/バッテリーの交換してみようかな…

乗換したい方は、査定してみるといいですね。



1 Lexusのキーの種類と電池/バッテリー

さて、本題に入ります。NX200t には3種類のスマートキーがあります。他の Lexus も同じキーを使っている車種はあるので、参考にしてください。

① リモコンキー/スマートキー  2個標準で付いてくる。いや1個だけだったかな?

② カードキー 1枚標準で付いてくる

 

③ リモートスタート (プレミアム)   ディーラーオプション

④リモートスタート (ベーシック)

持っていないので詳細不明です。

 

これらのキーには、すべて電池/バッテリーが入っています。その電池の種類と入っている個数は以下のとおり。

キーの種類                   電池 CR2032 CR2412
リモコンキー/スマートキー 1個
カードキー 1個
リモートスタート(プレミアム) 2個
リモートスタート (ベーシック)

必要な電池は、ネットで購入してください。

高性能 リチウムボタン電池CR2032【メール便送料無料】10個320円【RCP】 【532P17Sep16】

価格:320円
(2018/5/30 10:14時点)
感想(5032件)

Panasonic ボタン電池 CR2412 コイン電池 リチウム電池 パナソニック

価格:510円
(2018/5/30 10:17時点)
感想(10件)

2 必要な工具

リモートスタートのみ工具が必要です。工具と言っても細い+ドライバーです。精密ドライバーとか持っていればそれを使ってください。

他のキーは工具無しで電池交換可能です。リモコンキー/スマートキーは、工具じゃないですが、高級割り箸が必要です。2/4 Lexus リモコンキー/スマートキーの電池(バッテリー)交換の手順紹介のときに詳しく書きます。

 

これで電池交換の準備はできました。本日は、ここまでです。次回からは、実際の電池交換手順をご紹介します。

2/4 Lexus リモコンキー/スマートキーの電池(バッテリー)交換

3/4 Lexus カードキーの電池(バッテリー)交換

4/4 Lexus リモートスタート(プレミアム)の電池(バッテリー)交換

ヤマハのルータ NVR500をファイルサーバに

ファイルサーバを2拠点で共有する ・・・ルータを越えて

「ファイルサーバを2拠点で共有する  ルータを越えて」では拠点間のファイルサーバを共用することに成功しました。今回は、NVR500 に USB HDD を接続してファイルサーバにしてみます。


NTTフレッツ光

ヤマハのルータ NVR500 をファイルサーバにするメリット

ファイルサーバの共用ができたから、わざわざ NVR500 をファイルサーバに仕立てるひつようはないんじゃない?  って突っ込みですよね。NVR500 をファイルサーバにするメリットが実はあったんです。製品の特長を書いたページの下の方に「ファイル共有 / 同期」と言う説明があり、こう書かれています。「NVR500に接続された外部メモリ間で同期(ミラーリング)をすることもでき...」つまり、拠点間でファイルの同期が可能になるわけです。使い方としては、ファイルの同期機能を使って、物理的に離れた拠点に自動バックアップをほぼリアルタイムで取れることになります。それも、NGN網で VPN 接続しているわけですから超高速に同期できるのです。これが Internet 経由であれば、制限がかかり上りが xMbps だの、下りが yyMbps になるわけですが、1Gbps に近い速度で同期可能です。ただし、I/F が USB 2.0 なのでそこがボトルネックになってしまうかもしれません。USB 3.0 だったらな~。

さて、NVR500 なんですが、これに接続可能な USB HDD には条件があります。この条件を確認せずに接続すると痛い目にあるので注意してください。痛い目って言うのは、動かないってことです。

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

それでは、その条件を確認しましょう。

  1. インターフェースは、USB 2.0 Type A です
  2. 供給可能電流は、500mA です
  3. ファイルシステムは、FAT16 または FAT32 です
  4. HDD 容量上限は、FAT32 の場合 2TB です

1 インターフェースは、USB 2.0 Type A

コネクタは、USB 2.0 Type A です。普通に PC にあるコネクタ形状ですね。最新の USB 3.1 とかではないです。USB 3.0 でも接続可能ですが、動作モードは USB 2.0 の速度になります。

2 供給可能電流は、500mA

説明書には書かれていますが、USB HDD を接続する場合は、500mA 以下の消費電流でも動作しません。実験で確認済みです。また、YAMAHAのサイトには、外部メモリ接続時の注意事項として、「消費電流が250mA以下のバスパワー供給のみで動作するフラッシュメモリであること」と言う記述もあります。どっちが正しいかはYAMAHAさんに確認してください。私は問い合わせしていませんが、実験では、300mAの USB HDD でNGだったので、WEBの記載のほうが正しいのかもしれません。

3 ファイルシステムは、FAT16 または FAT32 です

I/F 同様に、ちょっと古い規格です。せめて NTFS にしてほしいところですが、FAT32 止まりです。しかも、FAT32 でHDD をフォーマットするには、Windows10 の標準機能ではできないし、もちろん NVR500 単体でもフォーマットはできません。I-O DATA ハードディスクフォーマッタにお世話になるしかありません。I-O DATA の HDD を幸い持っていたのでお世話になりました。これを PC に入れてPCでFAT32フォーマットしてから NVR500 に接続すると認識されます。

4 HDD 容量上限は、FAT32 の場合 2TB です

ファイルシステムが、FAT32 と言うことは、1ファイルあたりの容量も制限されるし、接続可能な HDD 容量も制限されます。ファイルサイズは最大 4GB。パーティションサイズは最大 2TBです。

 

以上のような仕様/制限範囲で接続可能な USB HDD を探して接続することになります。

私のところでは、まず IO-DATA の手持ちの古い USB HDD を接続してみました。FAT32 でフォーマットしなおしてからですが、問題なく接続できました。この HDD は、容量が数百GBしかなかったため、新たに 2TB の 2.5″ HDD を USB HDD ケースに入れて接続する検討をしました。それで、次のものを2点づつ購入しました。

HDD

Seagate(シーゲート) BarraCuda ST2000LM015 バルク品 (2.5インチハードディスク(HDD)/2TB/SATA)

価格:10,374円
(2018/5/29 13:23時点)
感想(1件)

USB HDDケース

《送料無料》シンプルPASS BOX 2.5 セキュリティ機能搭載 USB3.0接続 SATA2.5インチHDD/SSDケース CENTURY/センチュリー/ハードディスクケース[CSPB25U3]

価格:2,480円
(2018/5/29 13:20時点)
感想(1件)

選定理由をは次のとおりです。

HDD:速度は重視せず、価格で勝負! リモート同期するので、データの冗長性は NVR500 で確保できます。よって信頼性なんかも考慮せず。

USB HDD:小型なので、簡単に取り外されてしまう可能性がある。よって、ロックがかかるものが良い。テンキーが付いていて、ロックコードを入力しないとアクセスできない仕組みです。ロックコードは、起動後1回入力すればあとは電源が切れるまでアクセス可能です。(後に、この仕様が違うことが判明します。10分アクセスがないとロックされるんです。困った~)

こんな理由でこれらの商品を選びました。2セット購入したのは、2拠点に1セットづつ置いて、リモート同期するためです。

ロックコードの設定も、解除も PC 接続は必要ではないので、NVR500 には持ってこいです。

今回は、ここまです。次回は、 NVR500 に USB HDD を接続できなかった?⇒できた? 話を色々と書いていきます。

ヤマハのルータ NVR500をファイルサーバに その2 FAT32フォーマット


NTTフレッツ光

ファイルサーバを2拠点で共有する ・・・ルータを越えて

1 拠点間をヤマハのルータのVPN機能で常時接続する

「1 拠点間を VPN で常時接続する」の中で、目的を3つ書きました。

  1. 2か所の事務所を VPN で接続する
  2. 電話番号を2か所の事務所で共用する
  3. ファイルサーバを2か所の事務所で共用する

この3番目を実現する話を書きます。この話はあまり難しい話ではないのですが、ハマると言えばハマるかもしれません。

ヤマハのルーターを超えて2拠点間でファイルサーバーを共用するには

まずは、構想/妄想の図を見てください。

右側の拠点Aにファイルサーバがあります。具体的には、CentOS 上に作った SAMBA サーバです。これは、拠点Aで元々使っていたサーバです。ずーっと使っていたので、設定も頭の中からは消えています。安定動作しているし。


NTTフレッツ光

このファイルサーバを、左の拠点B からも使えるようにしたいと言うのが目的の3番でした。

これを実現するためには、いくつか確認/設定や検討しなければならない事項があります。ここで書いている時点では既にわかっている事項ですが、図の構成を構築していた時点では1つ抜け、2つ忘れ…。てな訳で、ここで整理します。

  1. PC-B がファイルサーバを探せること
  2. PC-B からファイルサーバへの通信が通ること
  3. ファイルサーバが PC-B を受け入れること

抽象的な表現になりましたが、1つづつ説明します。

1 PC-Bがファイルサーバを探せること

Windows の世界(個人的には大っ嫌いです、Microsoft のネットワーク)では、ファイル共有は NETBIOS とか言うわけのわからないもので実現していました。現在は、基本的に NBT(NetBIOS over TCP/IP)というプロトコルで実装しているみたいです。嫌いなので、あまり勉強していませんが。エクスプローラーのアドレスバーで「¥¥サーバ」と入力するとそのサーバの資源が見れたりします。しかし、このサーバの名前から実際の IPV4 アドレスをどうやって探しているのかというと、それが NBT なんです。基本的にブロードキャストで探すのですが、同一セグメントしか有効ではありません。結局拠点内しか探せないと言うことです。

これを解決するには、WINS サーバを導入するか、lmhosts に登録するかどちらかです。規模が大きければ WINS サーバの導入が良いかもしれませんが、数台規模であれば、lmhosts で解決します。Windows の NBT の名前解決をするためののファイル名が lmhosts です。Linux/UNIX の /etc/hosts と基本は同じです。場所は、

C:\Windows\System32\drivers\etc\lmhosts

です。初期状態では無いので、同じディレクトリ内にある lmhosts.sam をコピーして使います。ちなみに、管理者権限が必要ですので、ご注意を。

ファイルをコピーしたら、メモ帳などで編集します。この時もメモ帳は管理者権限で起動してください。そして、ファイルの最後に次ぎの一行を追加します。ああ、最初に言ってませんでしたが、PC-の話です。

192.168.0.9    fs001

ファイルサーバの IPV4 アドレスとファイルサーバの名前/ホスト名を記述します。/etc/hosts と同じですね。これだけです。 これで、ファイルサーバの名前解決ができるようになります。

ちなみに、同じディレクトリに hosts ファイルもあります。なぜ分けているのか意味不明。だから Microsoft は嫌いです。同じでいいじゃん。

2 PC-からファイルサーバへの通信が通ること

lmhosts で名前解決ができたからと言って通信できるわけでもありません。ping でまずは疎通確認してください。ping が通らなければ、ファイルサーバの経路情報を確認しましょう。PC-は、192.168.2.0/24 のセグメントにいます。そこへの経路がサーバに入っていればOKです。確認は、netstat -r ですね。

# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.0.0     *               255.255.255.0   U         0 0          0 eth0
192.168.76.0    *               255.255.255.0   U         0 0          0 vmnet8
192.168.127.0   *               255.255.255.0   U         0 0          0 vmnet1
default         setup.netvolant 0.0.0.0         UG        0 0          0 eth0

この例では、default として、 NVR500 が動的に登録されています。 NVR500 のアドレスが、なぜか setup.netvolante になっていますが、なぜでしょ? これは良くわかっていませんが、setup.netvolante=ルータ-です。ルーターは、192.168.2.0/24 への経路情報を静的に登録してありますので、めでたく通信可能なことが確認できます。ルーターA の経路情報の話は、「6 拠点間をヤマハのルータのVPN機能で常時接続する VPN トンネル設定」を見てください。

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

そして、次はルータのフィルターです。今回は、同じ社内の拠点間と言うことでたまたまフィルターはかけていませんので、そのまま通ります。フィルターの話も、「6 拠点間をヤマハのルータのVPN機能で常時接続する VPN トンネル設定」を見てください。

3 ファイルサーバが PC-を受け入れること

最後にファイルサーバ側の話です。これ、ちょいハマりましたというか、気が付かずに3日放置してしまいました。放置と言っても、他の仕事をしていたわけですが。SAMBA の設定ファイル /etc/samba/smb.conf を見てください。この中にこのような設定をしていました。

hosts allow = 127. 192.168.0.0/24

これは、受け入れるクライアントを自分自身と192.168.0.0/24 のセグメント内のホストに限定しています。このままだと、PC-B 192.168.2.20 からのアクセスは拒否されます。それで次のように変えました。

hosts allow = 127. 192.168.0.0/20

これで、192.168.0.0/20~192.168.128.0/20 の範囲のホストを受け付けます。これじゃ、やり過ぎじゃんと思う方は、下記の設定で厳密に拠点のセグメントを追加してください。

hosts allow = 127. 192.168.0.0/24 192.168.2.0/24

これで拠点の PC-から拠点のファイルサーバの資源にアクセス可能になります。もちろん、アカウントがある前提です。

今回は、ここまです。次回は、 NVR500 に USB HDD を接続してファイルサーバ化する話を書きます。

ヤマハのルータ NVR500をファイルサーバに その2 FAT32フォーマット


NTTフレッツ光

AI メール to CSV

前回の記事では、NNConsole でメールを学習させるんは、メールを CSV に変換するというところまで書きました。

AI ことはじめ(スパムメール判定)



NNConsole  学習用 CSV

NNConsole が読み込む CSV は2種類です。データ CSV とデータセット CSV です。これらには、次のような条件があります。この条件は、他にもあるのですが、私が学習させてメールをCSVに変換した時の条件として書きます。

  • 1メールを 1CSV ファイルにする → これをデータ CSV と言います
  • 学習には数万のメールを使うので、CSV も数万ファイルになります
  • 数万のメールすべてが、Spam か正常メールかあらかじめわかっている必要があります。この判定は、私がコツコツコツコツコツコツコツコツと振り分けたものです
  • その数万ファイルの一覧を別な1つの CSV にする→データセット CSV と言います
  • データセット CSV1 つとデータ CSV 数万(数百でもいいのです)全体で1つのデータセットとして NNConsole に登録します
  • データ CSV は、すべて同じ行数、列数でなければなりません。私が今回作成したのは、1行x約100列のものです。
  • データ CSV の各列には、そのメールの属性を数値化していれます
  • NNConsoleの推奨数値は、-1.0~1.0 なので、メールの各属性をこの数値に変換することになります
  • データセット CSV は、数万行x2列のものです
  • データセット CSV の1列目は、データ CSV のパスです
  • データセット CSV の2列目は、そのデータ CSV の元となったメールが Spam か正常なメールかと言う2値(1または0)が入ります。

このデータセットの塊をどう作るかが AI 学習の要です。データセットさえできてしまえが、学習させる時間は、3分でした。いや、その前にニューラルネットワークを定義しなければならなかったです。このニューラルネットワークの定義と言うか設計は、素人にはかなり敷居が高いです。プロに聞いても、経験と勘が物を言うと言われるくらいです。

学習用 CSV の中身

データセット CSV の中身については、すでに上で説明しました。データ CSV の行/列数も説明しましたが、メールの属性がどう変換されて CSV に配置されているかと言うことについてはまだ説明していませんので、ここで簡単に説明します。簡単というのは、この中身が実は試行錯誤で苦労したノウハウであり、大っぴらにはできない部分なので、さわりだけ説明します。

メールの構造としては、ヘッダー、本文、添付ファイルの大きく3つに分けることができます。ヘッダーには、宛先、送信者、Subject、送信日付などが入っています。本文には、普通に文章が入っています。添付ファイルは、ファイル名とエンコードされたファイルの中身が入っています。これらの情報を数値化するのです。

例えば、「送信者のドメインは、jpか」と言ったことをデータCSVに落とすわけです。jpドメインであれば、1。それ以外であれば0と言った具合です。このように様々な観点でメールの中身を0~1に置き換えるのです。データCSVに落とした属性を一部ご紹介します。

  • 添付ファイルの有無
  • 添付ファイルが実行形式か
  • Subject は日本語か
  • 本文はあるか
  • 本文は日本語か
  • 本文は HTML か
  • 本文に URL が記述されているか

などなど、全部で100項目くらいをデータ CSV に落としています。例示はしましたが、他の項目については企業ノウハウなので、ここでは開示することはできません。悪しからず。

今回は、ここまでです。いかがでしたでしょうか。AI や 人口知能に興味はわいてきましたでしょうか。



 

7 拠点間をヤマハのルータのVPN機能で常時接続する・・・Internetアクセスの共用

6 拠点間をヤマハのルータのVPN機能で常時接続する・・・VPN トンネル設定

前回は、「6 拠点間を VPN で常時接続する VPN トンネル設定」で両拠点の VPN/IPIP トンネルで接続する方法を書きました。拠点間は、自由にデータのやり取りができるわけです。

今回は、拠点が、拠点Bを通して Internet にアクセスするための設定について書きます。この設定をすることで、拠点側ではプロバイダ契約が不要になります。

 

プロバイダ契約は不要と言ってもフレッツ光ネクストは絶対に必要です。お間違いのないように。

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。


NTTフレッツ光

ヤマハのルータでInternetアクセスを共用する

ほとんどの設定は、終わっています。拠点のデフォルトルートはすでに拠点に向いています。

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

拠点A NVR500 A

ip routing on
ip route default gateway tunnel 2
ip route 123.107.190.0/24 gateway pp 2
ip route 192.168.2.0/24 gateway tunnel 2
ip route 220.210.194.0/25 gateway pp 2
ip route 220.210.198.0/26 gateway pp 2
ip icmp log on
ip keepalive 1 icmp-echo 60 10 192.168.2.1

 

拠点Bもスタティックルートは出来上がっています。

拠点B NVR500 B

ip routing on
ip route default gateway pp 1 filter 500000 gateway pp 1
ip route 123.107.190.0/24 gateway pp 2
ip route 192.168.0.0/24 gateway tunnel 2
ip route 220.210.194.0/25 gateway pp 2
ip route 220.210.198.0/26 gateway pp 2
ip icmp log on
ip keepalive 1 icmp-echo 60 10 192.168.0.1

残る設定はフィルターです。拠点では、プロバイダ設定をした後、 VPN 設定をする前にはこのようなフィルタが自動で設定されていました。

ip filter 200000 reject 10.0.0.0/8 * * * *
ip filter 200001 reject 172.16.0.0/12 * * * *
ip filter 200002 reject 192.168.0.0/16 * * * *
ip filter 200003 reject 192.168.2.0/24 * * * *
ip filter 200010 reject * 10.0.0.0/8 * * *
ip filter 200011 reject * 172.16.0.0/12 * * *
ip filter 200012 reject * 192.168.0.0/16 * * *
ip filter 200013 reject * 192.168.2.0/24 * * *
ip filter 200020 reject * * udp,tcp 135 *
ip filter 200021 reject * * udp,tcp * 135
ip filter 200022 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 200023 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 200024 reject * * udp,tcp 445 *
ip filter 200025 reject * * udp,tcp * 445
ip filter 200026 restrict * * tcpfin * www,21,nntp
ip filter 200027 restrict * * tcprst * www,21,nntp
ip filter 200030 pass * 192.168.2.0/24 icmp * *
ip filter 200031 pass * 192.168.2.0/24 established * *
ip filter 200032 pass * 192.168.2.0/24 tcp * ident
ip filter 200033 pass * 192.168.2.0/24 tcp ftpdata *
ip filter 200034 pass * 192.168.2.0/24 tcp,udp * domain
ip filter 200035 pass * 192.168.2.0/24 udp domain *
ip filter 200036 pass * 192.168.2.0/24 udp * ntp
ip filter 200037 pass * 192.168.2.0/24 udp ntp *
ip filter 200080 pass * 192.168.2.1 tcp * 49501
ip filter 200081 pass * 192.168.2.1 tcp * 49502
ip filter 200098 reject-nolog * * established
ip filter 200099 pass * * * * *

自拠点のアドレス 192.168.2.0/24 に関してのフィルターが多数あります。これを、拠点も対象となるように書き換えます。緑の行です。拠点用のフィルターを追加しても良いのですが、横着してサブネットマスクを広げました。具体的な一例を書きますと、

ip filter 200003 reject 192.168.2.0/24 * * * *
   ↓
ip filter 200003 reject 192.168.0.0/20 * * * *

1行目の 192.168.2.0/24 を3行目の 192.168.0.0/20 のように変更します。4bit 分広げたわけです。192.168.0.0/20~192.168.128.0/20 までを対象にしたわけです。

ip filter 200000 reject 10.0.0.0/8 * * * *
ip filter 200001 reject 172.16.0.0/12 * * * *
ip filter 200002 reject 192.168.0.0/16 * * * *
ip filter 200003 reject 192.168.0.0/20 * * * *
ip filter 200010 reject * 10.0.0.0/8 * * *
ip filter 200011 reject * 172.16.0.0/12 * * *
ip filter 200012 reject * 192.168.0.0/16 * * *
ip filter 200013 reject * 192.168.0.0/20 * * *
ip filter 200020 reject * * udp,tcp 135 *
ip filter 200021 reject * * udp,tcp * 135
ip filter 200022 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 200023 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 200024 reject * * udp,tcp 445 *
ip filter 200025 reject * * udp,tcp * 445
ip filter 200026 restrict * * tcpfin * www,21,nntp
ip filter 200027 restrict * * tcprst * www,21,nntp
ip filter 200030 pass * 192.168.0.0/20 icmp * *
ip filter 200031 pass * 192.168.0.0/20 established * *
ip filter 200032 pass * 192.168.0.0/20 tcp * ident
ip filter 200033 pass * 192.168.0.0/20 tcp ftpdata *
ip filter 200034 pass * 192.168.0.0/20 tcp,udp * domain
ip filter 200035 pass * 192.168.0.0/20 udp domain *
ip filter 200036 pass * 192.168.0.0/20 udp * ntp
ip filter 200037 pass * 192.168.0.0/20 udp ntp *
ip filter 200080 pass * 192.168.2.1 tcp * 49501
ip filter 200081 pass * 192.168.2.1 tcp * 49502
ip filter 200098 reject-nolog * * established
ip filter 200099 pass * * * * *

あとは、拠点Aから Internet に行けるか確認です。google の DNS サーバ、8.8.8.8 などに ping を打って返ってきたらOKです。返ってこなければ、ルーターA、ルーターB、PC-のルーティングテーブルを確認してください。どこかにこぼれる原因があるはずです。そこになければ、ルーターA、ルーターのフィルタに引っかかっている可能性があります。ログのデバッグモードを有効にして確認してみてください。

今回の設定で一通りネット環境のベースはできあがりました。次回は、ファイルサーバの共用について書く予定ですが、ネットワークとはちょっと話題がずれてしまいます。

 

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。



NTTフレッツ光

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)