自分のサイトをIPv6対応にする

せっかくIPv6でアクセスできるようになっても、全然どこのサイトもIPv6に対応していないじゃねーか、とぼやいている前にここのサイトをIPv6に対応しておく。

ここのサイトは、さくらインターネットのさくらのレンタルサーバーを使っているから、簡単にIPv6に対応できる。「ドメイン/SSL設定」からドメインを選んで、「変更」ボタンを押す。出てきた画面で「IPv6アドレスを利用する」にチェックをして、「送信」ボタンで確定する。これでWebサーバーの設定は完了。あとはDNSレコードにAAAAレコードを追加すればIPv6化できているはず。

でも、本当にIPv6でアクセスできているかだけど、今までのIPv4と同じ画面だから違いがわからない。さくらのレンタルサーバーだからアクセスログは明日ではないと出てこないので、仕方ないのでphpinfo()を入れてみた。Apacheの環境変数を見ると、無事にIPv6でアクセスできているみたい。

以上で本サイトのIPv6対応は簡単だった。だけど特に達成感の感動はなし・・・。

ホームゲートウェイの下にあるRTX810のLANからひかり電話を使う

IPv6 IPoEで接続したので、ホームゲートウェイのPR-500KIの下にRTX810を設置しました。いわゆる二重ルーターの構成です。これで無事にRTX810のLAN側のPC、スマートフォンでIPv6でアクセスできるようになりました。

これでめでたし、めでたしとなったと思ったら、スマートフォンのソフトフォンのアプリでホームゲートウェイに接続できなくなりました。ひかり電話に発信着信ができません。あまり使っていないので影響はないのですが。

考えれば当たり前ですが、RTX810下のLANのネットワークとPR-500KIのネットワークが別なので、このままではアクセスできません。ネットワークのルーティングを設定します。

まずは、PR-500KIのネットワークを設定します。今まで、 PR-500KI をRTX810のLANに入れていたので同じネットワーク(仮に192.168.0.0/24としておきます ) のアドレス(仮に192.168.0.2とします)にしていました。PR-500KIのネットワークを、これと別の192.168.140.0/24のネットワークにします。

RTX810のWAN側(LAN2)にIPアドレス(192.168.140.2とします)を振ります。今まではLAN1のDHCPでIPアドレスを設定していたようです。

ip lan2 address 192.168.140.2/24

PR-500KIの設定を行います。こちらはRTX810のLAN側からアクセスできないので、PR-500KIのLANポートにPCをつないで、設定してあったIPアドレス(192.168.0.2)でWebの設定ページで設定します。DHCPの設定をしていないので、PCには固定のIPアドレス(仮に192.168.0.100)を設定しておきます。

PR-500KIのWebページでIPアドレスを192.168.140.1に設定します。次回簡単にLANポートにPCをつないだときにIPアドレスの設定ができるように、ついでにDHCPも設定しておきます。

ルーティングの設定をします。プライベートIPアドレスは、RTX810のWAN側192.168.140.2)にルーティングするように設定します。このとき、ルーティングを有効にするようにチェックを忘れないようにしましょう。私の場合、チェックしないで無効状態になっていたようで、ルーティングされないで悩みました。

RTX810のルーティングは、IPアドレスを設定すれば自動的にルーティングの設定を追加してくれるようです。システム情報の経路情報には、以下のようにルーティングの設定が追加されていました。

192.168.140.0/24    192.168.140.2          LAN2  implicit 

ここでPR-500KIの再起動となります。 これでめでたくRTX810のLAN(実際にはWiFiのアクセスポイント経由ですが)に接続されているスマートフォンから、PR-500KIのSIPサーバーを使ってひかり電話に発信・着信ができるようになりました。PR-500KIのWebページもRTX810のLAN配下のPCからアクセスできるようになります。

こんな面倒なことをするよりも、RTX810を捨ててPR-500KIだけでつないでしまった方が簡単かもしれません。そこまでしてヤマハのルーターを使おうとするか・・・。

続きはこちら。

RTX810をIPv6で接続する

ぷららv6エクスプレス が開通したので、IPv6の接続をヤマハのRTX810に設定してみる。接続するのはとても簡単。RTX810のWeb設定ページで設定ができる。 IPoE方式 なので接続ID/パスワードの設定も必要ない。このように名前を入力してひかり電話に契約しているかを設定するだけ。

RTX810 IPv6接続設定

ひかり電話にも契約しているので、 DHCPv6-PD辺りも設定してくれる。ファイアウォールの設定も設定してくれる。コマンドで設定するのであれば、ヤマハのサイトが参考になる。

今回は、今動いている設定ファイルに追加するので、簡単にGUIのWebページで設定してしまう。

今回は、問題もなくすんなりIPv6でつながってしまう。トラブルない。接続状況はこんな感じ。

RTX810 IPv6接続状況

ぷらら光メイトでインターネットに接続しているので、 ぷららv6エクスプレスはIPv4 over IPv6を利用できない。IPv4の設定(PPPoEのPP1は固定IPアドレス、PP2は動的IPアドレスの二回線)を残しておかなかればいけない。

IPv4とIPv6は接続先によって自動的につないでくれる。DNSがうまいことをやってくれるのかな? IPv6が優先。あまり、よくわかっていない。

PCからIPv6の接続確認サイトにアクセスして、実際にIPv6で接続されているかを確認して完了。正常にIPv6に接続されていた。ひかり電話も問題なし。

実感的にはIPv6のサイトが速くなっている気がする。気がするだけかも。意外に普段使っているサービスはIPv6に対応していた。

追伸

PCは接続できるけど、スマートフォン系はつながらない。

続きはこちら。

Dreamweaverが遅いのでPCの構成を変えてみる

最新版のDreamweaver CC V19.0でファイルを開くと、コードの編集ができるまで異常に遅いのでいろいろ試してみる。正月だから。とても耐えきれないくらい遅いので、ずっと昔のDreamweaver CC(2015)を使っている。2015のほうはストレスなくファイルを開いてすぐに作業開始できる。

まずは、こちらのビデオカードを交換してみる。こちらは全然影響無しだった。考えてみればそんなにグラフィックとか3Dに負荷がないから当たり前。ゲームもしないのに高いビデオカードを買ってしまった。

次にディスクをハードディスクからSSDにしてみる。今まで、Windowsのシステム、アプリケーションはSSD、データはハードディスクに入れていた。データをSSDに入れておくなって突然死が怖くて今までやっていなかった。後述のようにデータ類はBitbacketのリポジトリに入れてあるし、重要なデータはDropboxで同期しているし、そもそもバックアップを3重に取っているから、もし何かあっても大丈夫な気がする。

今回購入したのは、1TBのこのSSD。SSDも安くなったものだ。サムスンはハードディスクは買ったことがあるけど、SSDは初めて。

今回は、データのディスクを追加するだけなので簡単な作業である。Windows10のディスク管理でボリュームを追加してフォーマットするだけ。全然難しい作業ではない。

Dream weaverで扱うHTMLファイルは、Bitbucketのリポジトリに入れているのでクローンしておく。試しに一つのWebサイトをSSDに入れてみるが、これは1,000ページにもなる大きなWebサイトで、PDFやら画像がやたら多いのでクローンするだけで時間がかかる。

一度Windows10のブルースクリーンが出てきたけど、二回目でcloneが無事に終わる。

ブルースクリーンの問題は後で対応するとして、改めてDream weaverの最新版でHTMLファイルを開いてみる。ブルースクリーンはおそらく交換したビデオカードのデバイスドライバの問題だろうと想像している。

今度は普段通り待たずに作業ができるようになった。今はデータも大きなSSDに置いておく時代かもしれない。逆に考えると、最新版のDreamweaverはハードディスクだと全く使いものにならないということだな。

EaseUS Todo Backupを使ってシステムのバックアップを取っているけど、出力先のハードディスクが一杯なので余っているハードディスクを追加しておく。今回は既存の3TBに新規に1TBをWindows10のスパンボリュームでディスクを拡張しておく。

スパンボリュームを使うのは初めてだけど、こちらも簡単に作業が終わる。スパンボリュームは危なそうだけど、バックアップのディスクだからあまり実害がないだろうと判断する。システムとバックアップが同時に逝ってしまうと辛いけど。

Windows Defender絡みでトラブル

Windows10の標準ウイルス対策ソフトのWindows Defenderで2点ほどトラブルがあった。

そもそもLenovoのThinkPadに開発環境を作っていたところトラブルが発生した。その原因が2つともWindows Defenderであった。

1.Docker for Windowsが「Removing Files」で止まってインストールできない。

「Removing Files」の表示したところのインストールの途中で止まってしまう。もちろんこれではDockerの起動で失敗してしまう。いろいろGoogleさんに尋ねたところ、Dockerのコミュニティサイトで見つけた。

Docker for Windows (CE Stable) hangs on installation step Installing Components and Removing Files

そのものズバリである。楽しようと思って日本語のサイトばかり探していたので時間がかかった。英語の本家のサイトも見ておきましょう。

一時的にWindows Defenderを無効にしたら、無事にインストールできた。

2.Phtoshopで「Web用に保存」で「指定されたパスは見つかりません」というエラーになる

最初は「Generator に問題があります」というエラーが出ていた。こちらは、PhotoshopのディレクトリにLogsを作成したら「クリック書き出し」は直った。どうしてPhotoshopをインストールしたときにLogsディレクトリを作成してくれないのかは不明である。

Generatorのエラーメッセージについて

しかし、今度は「Web用に保存」で「指定されたパスは見つかりません」というエラーが出てしまう。こちらはWindows DefenderをでPhotoshopのアクセスを許可したら直った。こちらは以下のサイトを参考にした。

【Photoshop】「指定されたパスが見つかりません」と表示された場合の対処方法 
(右クリックでテキストコピー禁止しているサイトなので注意)

今までウィルス対策はESET Securityを使っていたので、このようなトラブルはなかった。まだライセンスは余っているし、ESET Securityに戻そうか思案中である。

ThinkPadのトラブルが多くて、一度Windowsを再インストールしてやろうかと思ったが、やらないでよかった。まだWindows Updateが失敗するとかのトラブルが残っているが。

防犯カメラの取り付け

最近、ご近所で物騒なので防犯カメラを取り付けてみた。玄関に取り付けたら、こんな感じ。

取り付けるために外壁に穴を開ける。外と中で一直線になるようにする。適当に測って両側から穴を開けたら、いい感じに開いた。

しかしながら、ここから大変。カメラを取り付けるのにアンカーを打ってねじ込める。これがうまく行かない。手元にあったアンカーとネジを使ったのが失敗だった。素直にカメラに付属のアンカーとネジを使えばよかった。

あとは、取り付けマウントがカメラと外れないので、取り付けに手間がかかる。しかし外れてしまったら、カメラがいたずらされるので仕方ないところ。

監視カメラは、こちらをアマゾンから購入した。

この監視カメラは安いし動画も綺麗。ただし、設定が難しい。HiP2P ClientというWindowsのアプリケーションが全く使えなかった。最初にLANに接続して設定するが、SearchToolという検索するだけのアプリケーションからカメラが見つけることができない。見つけることができないから、HiP2P Clientから設定できない。

仕方ないので、CamHiというメーカーサイトからリンクされているAndroidアプリから設定する。CamHiだと無事にカメラも接続できて設定もできる。まずは、ユーザーとパスワードを変更してしまう。監視カメラは初期設定のパスワードのままでは危険であるけど、ハード的に何か怪しいものを仕込まれていたら防ぎようがないし、ここまでは考えすぎ。

もしかしたら、Webブラウザ経由で設定できるのではないかと思いつき、ブラウザでカメラのIPアドレスを指定したら、監視カメラの設定画面につながった。この道数十年の経験の素晴らしい勘である。ブラウザ経由で設定してしまう。ここでONVIFの設定もできるみたいだ。

Webブラウザからリアルタイムの映像も表示できるが、これはFlash Playerを使っていた。ChromeからはFlash Playerが制限がかかっていて見ることはできない。こちらはEdgeで見ることはできたけど、これから難しくなるのだろうな。

この監視カメラは動体検知をサポートしているので、そんなにデータ容量は食わない。玄関での出入りくらいなら、1~2MBで済む。最初から16GBのメモリカードが付いてくるけど、一杯になるのは相当時間がかかるはず。家族の者が玄関から入ってくるたびに映像をチェックしたけど、正常に録画してされていた。

今後はメモリカードの録画ではなくて、QNAPのアプリケーションに監視カメラの管理ソフトがあったので、QNAPに画像を録画してみようと思う。まだQNAPは1TBほどディスクの空きがあったので相応長い時間録画できるはずである。

SASSでいろいろ嵌まったこと

ツレのWebサイトの仕事を手伝ったときにSASSで嵌まった。とても単純でまたどうせ嵌まりそうなので、自戒の意味でメモしておく。

Sass: Syntactically Awesome Style Sheets

まずはSASSのコード

#wrapper
margin: 0
padding: 0
width: 960px
height: auto

これをCSSにコンパイルするとエラーになる。こちらはインデントにタブと空白を混じっていたのが原因だった。CSSからSASS型式で逆変換したときにタブが入ったCSSをコピペしたときの原因。サイトのサンプルからコピペしてもタブが入っているのでこれも注意。結果的には何かエラーがあるとしたら、インデントの書き方が悪いとか、プロパティと値のコロン(;)の間の空白を疑うこと。

Successfully generated CSS: ・・・・・・・

となって今度はうまく行くと思っていたけど、正しく指定されたスタイルシートで表示してくれない。SASSのコードが間違えていると思ってドキュメントを見直したけど正しい。他のサイトを見たけどこれといった誤りもない。

しかしながら、「これからはスタイルシートをCSSではなくてSASSスタイルで書こう」とい言いながら、SCCSスタイルでサンプルを書いているサイトがなんて多いことか。これは関係ない話し・・・。

出力されたCSSファイルを見てみると、margin-paddingとかおかしなプロパティに変換されていた。

#wrapper  {
margin: 0;
margin-padding: 0;
width: 960px;
height: auto;
}

こちらもタブがまだ残っていたのが原因だった。このようにエラーなく変換されているのは、SASSの仕様上何かあるのだろうか?

使っているエディタはVisual Studio Codeだが、良いか悪いかわからないけどタブを入力すると自動的に空白にしてくれる。ただし、他のコードからコピー&ペーストしたときはタブはそのままになってしまうので注意が必要である。VS Codeでタブと空白を区別してくれる表示の方法がどこかにあるのだろうな。秀丸エディタならあった。

それにしてもSASSは楽チンだな。今までLESSを使ってたけど、直接CSSを書く気にはなれないな。

と書いたら、SCCSスタイルの方がSASSスタイルの後に出てきたとか記事が出てきた。今までのCSSのように{}で囲むからタブとか空白でコンパイルエラーがなさそうだし、SCCSスタイルの方がいいのかな?

会社のホームページのサーバー移行を行う

会社のホームページを常時SSL化に伴い、サーバーの移行のついでにWordPressからbaserCMSに乗り換えてしまう。ページ数も少ないし手でコピペしてしまう。それにしてもアクセスの少ないサイトである。

周りにはSSLでアクセスさせたほうがいいよと言いながら、自分のところではやっていなかったという、ようやくやってみる。ほぼ会社のホームページは更新してないけど、ホームページがあったでセールス電話がかかってくるくらいなもの。でも、ホームページがなくなると、周りから会社が潰れたと思われるので、簡単なものでもいいから作っておく。

さくらインターネットのVPSにApacheを立てて名前ベースのバーチャルホストで動かしていたが、これを同じくさくらインターネットのレンタルサーバーに移してしまう。ドメインを設定して、/etc/hostsにIPアドレスを追加して、ドメイン名でさくらインターネットのレンタルサーバーにアクセスできるようにしておく。あとは、MySQLの設定やbaserCMSのインストールをごにょごにょやって、ページのコピペ、適当にテーマを変更、DNSを変更、SSLの設定して完了。

と思いきや、以下のさくらインターネットのサポートサイトに書いてあるように.htaccessを追加すると、HTTPにアクセスしたときリダイレクトループが発生する。SさくらインターネットのレンタルサーバーではSNI SSLとか普通のSSLではないようなので、普通にrewriteルールを書いたらダメだそうな。

ブラウザのキャッシュをクリアしたり、別のテーマにしたり、テーマの初期化データを再投入とか、.htaccessを元に戻したりしても、今度は元に戻らなくなった。なにかやってしもうた、感が大きい。

しかしながら、テーマの初期化データを再投入をやると、今まで作っていたページが来てしまったのは辛かった。これをやらないとテーマを変えたらブログ一覧が取得できないとか、原因不明な動きをする。こちらは今回ページ作成で追加されたデータがあるテーブルを、SQLで強引に入れ替えてしまうというこ手段で回避した。テーマの管理に初期データを出力する機能で一旦データを作成して、こちらを初期データとして再投入したけど、元に戻らなくなったのでやめた。

リダイレクトルールの原因は、私のbaserCMSのシステム設定の勘違いだった。WebサイトURLがSSLとなっていないものとSSLと明示されているURLの2つ設定しないといけないが、SSLなっていない方にHTTPを設定してしまっていた。こちらもHTTPSのURLを設定しないといけなかった。なんで2つURLを設定しないといけないかはソースを見てみないとわからない。

その下にSSLのチェックがあるけど、こちらは管理者画面でSSLでアクセスするかの設定だった。このチェックでSSLのURLを自動的にアクセスしてくれるのかと思い込んでいたの大きな間違いだった。

「管理者画面SSL設定」で「SSL通信を利用する」にチェックを入れると、HTTPSで管理者画面にログインできなくなったので外しておいた。これは原因不明。

以上、なんだかんだで当初の目標通り無事にSSL化ができた。しかし、HTTPからのリダイレクトに若干問題あるけど時間があったら対応する。

追記(2018年9月5日)

初期データを投入したからいろいろなところで元に戻ってしまっている。見つけたら直している最中。タイトルが初期データだったのはまずかったな。

プロバイダーのメールアドレスを使い続けるか?

以前Webサイトを作ったお客さんから連絡があった。ADSLを現在使っているけどサービスが停止になるからWiMAXに乗り換えたいということだった。ADSLのプロバイダー(OCN)から発行されているメールアドレスを、そのまま使ってもWebサイトに問題ないかという質問だった。

プロバイダーを辞めるのならプロバイダーのメールアドレスを辞めたら、と答えたけど、結局そのメールアドレスはよく使っているのでやめられないということだった。プロバイダーにメールアドレスを縛られるのは、いろいろな理由を説明してお勧めしないと言っておいたけど、その理由にメリットを感じてもらえなかったようでそのままOCNをメールアドレスだけで使うようだ。

念のためにOCNに確認したら「OCNバリュープラン」に入れば、今使っているOCNのメールアドレスをそのまま使えるとのこと。月額250円(税抜)也。迷惑メール、ウイルスチェックは別料金。

私だったら、今持っているドメインのメールアドレスをメインにして光回線でつなぐけど、面倒さと値段の高さで却下だろうな。

SSL証明書の認証レベル

今作業しているお客さんの病院サイトがSSL化が完了。SSL化は自分のところが作業していないけど。

どんな認証レベルを使っているかを見てみたら企業認証(OV)を使っていた。お金の関係でドメイン認証(DV)だと思っていた。EVまでは使っていないが、頑張ったな。

他の競合する国立の病院のサイトを見たら、こちらはドメイン認証だった。まあ、他の地域の中核病院なんてSSLにも対応していいないから、そんなもんかな?

しかしながら、EVは組織名がブラウザのアドレス出てきて頑張っている感があるけど、DVとOVの違いはパッと見ただけではわからない。OVを使っているぜ、を見た目でもっとアピールできたらいいのにと個人的な感想。

WebサイトのSSL証明書の違いとサイトにあった証明書の選び方