【メモ】ツタヤ図書館における Webサイトの構成に関する考察

さて、ツタヤ図書館としては、四館目となる高梁市図書館。建物も出来上がり、おそらく今頃排架作業の真っ最中というとことでしょう。

並行して図書館の Web サイトも新しいものの準備が進んでいるんであろうなぁ、ということで、いままで blog のエントリーとして書いた情報を踏まえつつ、HTTP レスポンスなどの通常アクセスの範囲で調べてみてわかった内容などから、特に Web サイト周りについてまとめておく。

以前にも書いたのだけど、海老名市図書館のサイトオープン当初、使っている SSL 証明書がワイルドカード証明書だったことから「今後、オープンするであろうツタヤ図書館の Web サイトでは、証明書使いまわすんじゃね?」と予想していたのですが、この点については改善され、各地自体別に CCC 名義での EV SSL 証明書を用意する形に変更されました。

ワイルドカード証明書になっている点と、海老名市が "ebina.city-library.jp" となっている時点で、今後オープン予定となっている多賀城市や高梁市のサイトを、"tagajo.city-library.jp" 、 "takahashi.city-library.jp" とすれば、同じ証明書を使い回せる、ってことを考えていてもおかしくはなさそうです。

[From 海老名市立図書館の新しいWebサイトで気になること、あれこれ - Soukaku's HENA-CHOKO Blog]

そのエントリーの影響なのかどうかは定かではありませんが、最近確認したところ、 ebina.city-library.jp と tagajo.city-library.jp に対して、それぞれ別 IP を割り当てるよう DNS 的な変更が行われ、https://tagajo.city-library.jp/ にアクセスするとリダイレクトにより、https://ebina.city-library.jp/library/another_top へ誘導するよう設定されていた Web サーバも、リダイレクトを行わない設定に変更されていました。( Web サーバは、おそらく 12 月中頃、17 日あたりに変えた?)

[From メンテ後の海老名市立図書館のWebサイトの状況から、多賀城市がどうなるかを推察してみる - Soukaku's HENA-CHOKO Blog]

EV SSL証明書使うようにしたのはいいけど、それもちょっと違うんじゃない的な話もありますけど。

これを海老名市に当てはめると、本来主である海老名市がそのドメインを使用し海老名市名義で証明書を取得して運用すれば良いのに、なぜか指定管理者となった企業がそれを表立って仕切っているというのが今回における違和感の原因。指定管理者として業務代行ということは、あくまで主は海老名市なのだから、そこを譲ってはいかんだろうと考えるのだけど違うのか。

[From 海老名市立図書館サイトとEV SSL証明書に関して雑感 | 脳無しの呟き《土鍋と麦酒と炬燵猫》]

今回は、まさに例と同じことが起きている。海老名市の施設のサイトなのにCCCが持っているドメインにCCCが『ドメイン名所有権の確認」、「申請責任者の権限の認証」、「企業実在性の認証」』を受けている。CCCのものであることは高いwレベルで証明されるが、海老名市のものであることは証明されていない。サーバ証明書と関係ない世界で、CCCが海老名市立図書館の運営を受託していることは知れているので、この一点だけでは攻めどころが難しいが。

[From 海老名市立図書館はCCCのEV SSL証明書を使っているということは私立図書館? #公設ツタバ館 #CCC - いろいろやってみるにっき]

#色んな人が指摘していことを、中の人は把握していて、色々変更しているように感じなくもない。

ただ、PC 用サイトとスマホ用サイトで、ドメイン名を変えているせいで、それそれのサイトに合わせた EV SSL 証明書を取得せざるを得ない状態なんですよね…。レスポンシブな Web デザインにしておけば、PC 用とスマホ用で URL 自体を変えずに対応できるように出来るはずなのだけど、何かしら理由でそういうデザインに出来ないのかもしれませんね。
もしかしたら、レスポンシブ対応するよりも、EV SSL 証明書のほうがコスト的に安い、って判断だったりするのかも、しれませんけど。

あと、割と早い時期から、BIG-IP を何らかの形で導入してるようだ、というのには気がついてたんですけど、

この "BIG-IP" というキーワードを中心に、いろいろと情報がつながってきた感じがあるのが、公開されている Web サイトの構成に関すること。

【メモ】VyOSのパッケージレポジトリ、引っ越した?

VyOS のパッケージリポジトリ、移動したのか、以前設定したものでは、パッケージのアップデートチェックに失敗していたので、移動した先を調べて設定し直した。ざっとチェックしたところでは、移動した云々に関するアナウンスは見つけられてないんだけど、なんか見落としてるのかな…。

以下、その差分。

@@ -275,9 +275,9 @@
         auto-sync 7
         repository community {
             components main
-            distribution helium
+            distribution squeeze
             password ""
-            url http://packages.vyos.net/vyos
+            url http://dev.packages.vyos.net/debian/helium
             username ""
         }
         repository squeeze-main {

#かと言って、 VyOS 1.1.7 を構成するパッケージが、個々にアップデートされている様子もなかったりしたわけだが…。

PIXEL for PC and Mac を HDD からブートさせてみた

PIXEL for PC and Mac を動かしてみました。
そもそもRaspbian 自体が Debian ベースなんで、x86 対応は技術的には難しことではなかったわけですから、 PIXEL for PC and Mac の登場はある意味自然な流れなのかな、という感じ。 Linux のディストリビューションの一つとしてみると、初学者向けのプログラミング学習に重点を置いたもの、という見方もできるかな、と。

同団体創設者のエベン・アプトンCEOは、PIXELを使ってもらうためにRaspberry Piを買ってもらわなくても、既に手元にあるx86マシンにインストールしてもらえばいいと思いつき、3カ月かけてx86版を開発したと語る。

[From Raspberry Piの「PIXEL」が旧型PCやMacで稼働可能に - ITmedia ニュース]

And bringing PIXEL to the PC and Mac keeps us honest. We don’t just want to create the best desktop environment for the Raspberry Pi: we want to create the best desktop environment, period. We know we’re not there yet, but by running PIXEL alongside Windows, Mac OS, and the established desktop GNU/Linux distros, we can more easily see where our weak points are, and work to fix them.

[From PIXEL for PC and Mac - Raspberry Pi]

累計出荷数が 1,000 万台越えたとはいえ、買わないと使うことの出来ない Raspberry Pi と同等なデスクトップ環境を、 PC でも気軽に試せるようになったというのは、良い話ではないかと思います。利用者が増えれば PIXEL の改良に役立つフィードバックが得られやすくなりますし、いわゆる「パソコン」としての利用を考えれば、 Raspberry Pi よりも PC プラットフォームの方がパフォーマンス的には優位性ありますしね。

Karabiner-Elements の設定が、ほぼ固まったので

ProgresTouch RETROKarabiner-Elements の組み合わせで、キーマッピングの書き換えに四苦八苦していたんですが、やっと納得できる感じに設定できた。

F1 〜 F12 キーの件は、組み合わせてるキーボードの関係もあったりするのかな〜、などと考えてますが、 Karabiner-Elements 自体が正式版となってから、いろいろ試してみないとどうしたらいいのか判らんのかもしれないですね。

[From Karabiner-Elements を試してた - Soukaku's HENA-CHOKO Blog]

うちの環境での設定ポイントですが、おおよそ次の通り。

  • 右 Alt 、App を、それぞれ 右 Command 、 右 Option に。
  • Karabiner-Elements では、 ProgresTouch RETRO の Fn キーの押下が認識されないようなので、それとのキーコンビネーションで実現していたメディア関連の操作の割当を変更。
    • Volum Up 、 Mute 、 Volume Down をそれそれ Print Screen 、 Scroll Lock 、 Pause に割り当て。
    • 再生( F8 )、早送り( F7 )、巻き戻し( F9 )については、 Karabiner-Elements デフォルトのまま。
  • Karabina-Elements による F1 〜 F6 、F10 〜 F12 のマッピング内容を、実際のキーと同じものにして、 Mission Control の呼び出しや、 デスクトップの表示などが OS 標準の設定で利用できる形に変更。

# Fn キーが認識されてくれれば、ファンクションキー周りのマッピングは触らずに済んだのかもな、とは思うんですけどね…。

Zabbix のダッシュボード代わりに grafana を使えるようにしてみる(その2)

ということで、前回からの続きです。

"Installed Apps" のところに、おなじみのアイコンと Zabbix と表示されていれば、プラグインのインストールも無事に完了しています。

[From Zabbix のダッシュボード代わりに grafana を使えるようにしてみる(その1) - Soukaku's HENA-CHOKO Blog]

とりあえず、インストールして Zabbix プラグインまでのインストールまで完了した状態になったわけですが、ここからもう少し設定をいじっていきます。

バックエンドのデータベースを MariaDB に変更

インストールした素のままだと、バックエンドに使っているデータベースは sqlite3 が使われるようになっているのですが、ここを MariaDB (or MySQL) に変更してみます。もちろん、必須ではないですけどね。

まず、 MariaDB に grafana 用の grafana というデータベースを作成。そこに、 session という名前のテーブルをひとつだけ作成します。

soukaku@vpsdb:~$ mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 731303
Server version: 10.0.28-MariaDB-2 Debian unstable

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database grafana character set utf8; Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all privileges on grafana.* to grafana identified by '**********'; Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> use grafana Database changed MariaDB [grafana]> create table `session` ( `key` char(16) not null, `data` blob, `expiry` int(11) unsigned not null, primary key (`key`) ) ENGINE=MyISAM default charset=utf8; Query OK, 0 rows affected (0.01 sec)
MariaDB [grafana]> show tables; +-------------------+ | Tables_in_grafana | +-------------------+ | session | +-------------------+ 1 row in set (0.01 sec)
MariaDB [grafana]> quit Bye

session テーブルを作る必要がある点は、ドキュメントに記載されてますので、それも参考に。データベースへのアクセス権の設定は、各自調べてください。
今回のうちの環境では、grafanaが稼働するサーバと、DB サーバを別にしているので、そのあたりにも注意。

Zabbix のダッシュボード代わりに grafana を使えるようにしてみる(その1)

Zabbix に関して言えば、このところずっと開発版を追っかけているわけですけど、ダッシュボードでグラフを表示させた後、グラフの自動再描画がかかっても、ずっと更新されずにいる、という状況が起きています。DB を MySQL から MariaDB に変えたタイミングぐらいから、のような気もするんですが、いまいち原因が判らずに困っているわけですが…。

それとは別に、 grafana というダッシュボードを統合できるツールがあるということで、コレを機会にちょっと使ってみようか思いまして、インストールしてみた次第。

kibana等でも使用されているOSSのダッシュボードツールです。zabbixだけでなく、ElasticsearchやGraphite、AWS CloudWatchなど複数のデータソースのものを可視化することができます。ライブデモもあるので、実際どういうものか気になったらまずは見てみてください。

[From grafanaを使用してzabbixのモダンなダッシュボードを簡単作成! - Catcher in the tech]

複数の Zabbix サーバのコンソールを統合できるようなので、そのあたりにも興味があったりしますし。

さくっとインストール

まず、 grafana 関連のパッケージがどれだけあるのか、チェック。

root@vps2:~# aptitude search grafana
p   grafana                                 - feature rich metrics dashboard and graph editor
p   grafana-data                            - feature rich metrics dashboard and graph editor -
p   grafana-zabbix                          - Zabbix datasource for Grafana

結果からみれば、 grafana-zabbix を指定してインストールすれば、依存関係の解消が行われるので、念のためシミュレーションモードで、どんなパッケージがインストールされるのかを確認。

root@vps2:~# aptitude -s install grafana-zabbix
以下の新規パッケージがインストールされます:
  adwaita-icon-theme{a} at-spi2-core{a} dconf-gsettings-backend{a} dconf-service{a}
  fonts-font-awesome{a} glib-networking{a} glib-networking-common{a}
  glib-networking-services{a} golang-1.7-go{a} golang-1.7-src{a} golang-go{a} golang-src{a}
  grafana{a} grafana-data{a} grafana-zabbix gsettings-desktop-schemas{a}
  gstreamer1.0-plugins-base{a} libatk-bridge2.0-0{a} libatspi2.0-0{a} libcairo-gobject2{a}
  libcdparanoia0{a} libcolord2{a} libdconf1{a} libepoxy0{a} libevdev2{a} libglew2.0{a}
  libgstreamer-plugins-base1.0-0{a} libgstreamer1.0-0{a} libgtk-3-0{a} libgtk-3-bin{a}
  libgtk-3-common{a} libgudev-1.0-0{a} libinput-bin{a} libinput10{a}
  libjs-jquery-metadata{a} libjs-jquery-tablesorter{a} libjs-twitter-bootstrap{a}
  libjson-glib-1.0-0{a} libjson-glib-1.0-common{a} libmtdev1{a} libproxy1v5{a}
  libqt5core5a{a} libqt5dbus5{a} libqt5gui5{a} libqt5network5{a} libqt5opengl5{a}
  libqt5printsupport5{a} libqt5qml5{a} libqt5quick5{a} libqt5sql5{a} libqt5sql5-sqlite{a}
  libqt5svg5{a} libqt5webkit5{a} libqt5widgets5{a} librest-0.7-0{a} libsoup-gnome2.4-1{a}
  libsoup2.4-1{a} libvisual-0.4-0{a} libwacom-bin{a} libwacom-common{a} libwacom2{a}
  libwayland-cursor0{a} libxcb-icccm4{a} libxcb-image0{a} libxcb-keysyms1{a}
  libxcb-render-util0{a} libxcb-util0{a} libxcb-xinerama0{a} libxcb-xkb1{a}
  libxkbcommon-x11-0{a} libxkbcommon0{a} mesa-utils{a} phantomjs{a}
  qt5-gtk-platformtheme{a} qttranslations5-l10n{a}
更新: 0 個、新規インストール: 75 個、削除: 0 個、保留: 96 個。
アーカイブの 79.5 MB を取得する必要があります。展開後に 346 MB のディスク領域が新たに消費されます。

注意: 'シミュレーション' モードを使用します。 先に進みますか? [Y/n/?] y パッケージのダウンロード/インストール/削除を行います。

今回、grafana のインストールを試みるサーバでは 75個のパッケージを追加することになるようですね。
あとは、シミュレーションモードを外して、"aptitude install grafana-zabbix" でインストール。

インストールが完了すると、grafana が自動的に起動、3000/tcp に web ブラウザでアクセスして、ログイン画面が表示されれば、まずは OK 。

オービタル・クラウドの世界は、手の届く現実になるのか?

たまたま見かけた tweet に気になるキーワードがあったので、そこに貼られていたリンク先を読んでみたんですが。

JAXAはデブリ除去に向けてとあるプロジェクトを進めています。その技術の実証実験が今回こうのとり6号機で行われる「KITE(カイト)」(正式名称:HTV搭載導電性テザー実証実験)です。このプロジェクト自体は、大まかに言うと飛んでいるデブリに電気が流れるひも(導電性テザー)を取り付けてブレーキとなる力を発生させ、徐々にスピードと高度を落として最後は大気圏突入で燃やしてしまおうというもの。今回のKITEは、そのテザーの放出から力を発生させるまでの一連の流れを実証するものです。そしてこのブレーキとなる力を「ローレンツ力」と言うのですが、この力を発生させるために使う道具は実はとても少ないのです。

[From 「宇宙ゴミ」を減らして未来を救え!こうのとり6号機、画期的な技術を実証へ | sorae.jp : 宇宙(そら)へのポータルサイト]

読み進めてて、「あ、これオービタル・クラウドのネタになってたやつだ!」って。
この、こうのとり6号の実験の話なんて、まったく知らずに居たのだけど、たまたま読み直していたタイミングだったこともあって、なんかひとりでニマニマしてしまったり…。

Movable Type 6 の挙動がおかしかった原因が判明

正常になった、と書いてはいたんですけど、実際のところ管理画面でエントリーを修正した後の保存のところでエラーがで続けていた Movable Type 6 ですが、やっと原因がわかりましたよ。

正常に動作しているの確認してから、 GoogleAnalytics プラグインと Zenback プラグインを戻してみたのですが、やはりエラーが出てしまうので、この二つが問題だったようです。

[From 結局、GoogleAnalyticsプラグインが悪さしていたようで - Soukaku's HENA-CHOKO Blog]

GoogleAnalytics プラグインが原因ではなくて、 PostTweet というプラグインの中に含まれていた Perl モジュールが引き起こしていた問題だった模様。
Twitter のサービスが始まった後に暫くしてから、ブログの記事更新と同時に Twitter につぶやいてくれるということで入れておいたプラグインだったんですけどね…。

PostTweet をバッサリと plugins ディレクトリから削除したら、アッサリ問題解消してしまいました。
Movable Type はちまちまとバージョンアップしてましたけど、自分で入れたプラグインを新しくしたり整理するのはサボっていたんで、そのツケが回ってきていた、ということなんだと思います。

とりあえず、問題なくなくなったようなので、一安心といったところ。

「引用・転載について」というページを用意するなど

DeNA による大量の無断転載記事で構成されたサイトの閉鎖騒ぎ、震源地たる DeNA から他のサイトや会社にもバンバン飛び火しているようで、ボコボコと記事非公開・閉鎖に追い込まれているようです。まぁ、他人様の著作物、切り貼りして安易にアクセス数を稼ごうとしたバツだとすれば、自業自得なんでしょうけどねぇ…。

DeNAは発表で「MERY の運営体制・方針は、既に記事非公開化を行なっている9つのメディアとは異なっておりますが、運営に関する疑義を明らかにするための厳正かつ公正な調査を行なうにあたっては、サービス運営が停止していることが必要との判断に基づき、MERY を含む全てのキュレーションプラットフォームサービスの記事の非公開化を行ないます」とした。
これにより、DeNAがキュレーションメディアプラットフォーム事業(DeNAパレット)で展開する全10媒体が非公開になる。

[From DeNAが「MERY」全記事の非公開化を発表「厳正かつ公正な調査」のため]

リクルートホールディングスは12月9日、同社が運営するアニメ情報サイト「アニプラ」など4メディアの記事をすべて非公開にした。「著作権の侵害の可能性がある」と判断したためという。

[From リクルート、「アニプラ」など4媒体の全記事を非公開に 「著作権侵害の可能性」 - ITmedia ニュース]

そんな中、あるコンサルタントの人が、こんな公開したと言うので、早速見に行ったわけですが…。

本文中に、

さてと冗談はさておき、今後もこのようなパクリ被害に遭わないため、専門の弁護士さんと相談した対策をココで発表いたします。ブロガーとか写真家とかイラストレーターとか会社のサイトとか、ショップとか、みなさんみんな真似してください。

[From (専門弁護士確認済)自分の写真や原稿をパクられないための自衛必殺技を公開します | More Access! More Fun!]

と、書かれてあったので、早速活用させていただくことにしました。実際、自分自身のサイトからパクられた経験はないんですけどね。

サイトで公開されている内容、一部表現を変えたり、発案者への感謝の意を表する意味で転載元へのリンクを張るなどしていますが、基本的にはありがたくそのまま利用させていただいております。

個人的には、引用したことを簡単に通知出来る仕組みがあると、いろいろとシアワセになれそうだよなぁ、とボケーっと考えていたんですけど、それって今では廃れてしまったトラックバックなんじゃないかと、ふと思ったり…。(これが、パクリサイト騒動を契機として復活したりしたら面白いですが。)

隠蔽するのが常識、になってるもんだと思ったら…

とあるサイト、特定の順番に従ってアクセスすると、ページの表示が出来なくなるという事象があるようで、それの確認をしていたところ、全く別の問題点にヒットしてしまいまして…。

見つけてしまったからには、黙っているわけにはいかんよなぁ、ということで、見つけた直後に管理者に対する連絡はしてあるんですけど、なにせ腰の重そうな組織の管理する Web サーバなんで、対処までに時間かかりそうだなぁ、というのが…。
# IPA 通すようなレベルでもないんで、今回は直接問い合わせメールフォームから連絡しましたが。

内容的には「Web サーバの設定としては、やっちゃいけないよね」的なことなんで、構築ベンダの技術レベルを疑いたくなりますし、そもそも公開前に脆弱性診断的な事をやってないのか、ということも気になるわけで…。

#ホントに知らせようと思っていた問題点は、まだ伝えられてなかったりするんだよね…。