個人用NASでLAMPスタックのWebサーバー

昨日、派遣先でいっしょに仕事をしている担当者から、大胆な提案がありました。まじめな場面ではなく、雑談から出た話なので、本気かどうかはわかりません。
 
学内に設置する小型のサーバーを検討しているそうです。利用頻度が少なく、利用者も限定されるものの、協力会社にも公開する情報があり、その情報を公開する仕組みを簡単に作りたいとのこと。
 
利用頻度を考えると、サーバーに費用をかけられない。それなら、RAID構成で安い製品となる個人向けのNASに、Linuxを入れてDBと連携するWebサーバーを作れないかな、だそうです。確かにハードは10万円以内だし、ソフトも無料でできそうです。
 
あまりに大胆な発言に、すぐに回答できませんでした。
 
技術的にはできるだけに無理と即答はできず。かといって、設定できる自信も無いし。パソコンならなんとでもできますが、相手が専用機となるといっきにハードルが上がるな。
 
今は、Ubuntuが動作するNASがあるので、それでやれるかどうか、情報収集だけはをやってみようかと思います。果たして、やれるのでしょうか。
 
QNAP Linux Station

接点復活剤が効果を発揮

事務所で使われているコピー機は、よく調子が悪くなるので、1年に何度も
メンテナンスの方を呼んで調整してもらいます。私は新人のころから、そういう場面に立ち会う機会が多かったように思います。大抵の方は、埃を吹き飛ばすエアーダスターの缶と金属の端子をきれいにするアルコールの小瓶を持っており、両方を使う機会もありました。

金属の端子は、使っているうちに皮膜ができることがあるそうです。それに気が付かないで、抜き差ししていると、接続が悪くなってしまうことも。そうなると、障害が発生するのだが、アルコールで端子をきれいに拭くと、また、繋がるようになります。これは、機器のメンテナンスに関わる人なら常識かもしれません。

今仕事している大学では、何本ものワイヤレスマイクを使っています。その多くは充電式で、充電用のスタンドに立てておくだけで充電されてます。しかし、最近、充電されないマイクが目立ってきてました。

中の充電池は汎用品で、専用の充電器を使うと充電可能なので、故障ではないらしい。担当者が、マイクスタンドを兼ねた充電器をいじっていて、接点がよくないのでは、という話をしていました。そこで、つい「じゃ、アルコールで拭いてみたら」と言ってみました。

これが大正解。さっそく電気設備を管理しているビル管理会社に接点復活剤を借りてきれいにしたところ、充電できるようになりました。ビル管理会社でも、普段使っている訳ではなく、何かあったら使う予定のストックだったみたいです。効果があるか解らないよ、と言って貸してくれたそうです。また、効果を話すと、ほんとに効くんだ、と逆にびっくりしてたとか。

その話を、マイクなどの教室の備品を管理している課の担当者に話したところ、気に入ったらしく、さっそく接点復活剤を1本購入。マイクの他にもパソコンからの変換ケーブルなどいろいろな機器で使ったそうです。すると、どれも効果抜群。壊れたと思ってあきらめていた変換ケーブルが復活した、喜んでいました。

私も、ここまで効果があるとは、知りませんでした。こんな常識みたいなことでも役に立ててよかったかも。

光ケーブルの経年劣化?

明日は派遣先の大学が主催の全国の高校生の提案を競うイベントがあります。ニコニコ動画で中継するので、それに使うインターネット回線をチェックしていたところ、不通になってました。

急遽、大学の別の回線でバイパスする線を確保し、同時に修理を依頼することに。これが、大変でした。まず、契約番号が解らない。幸い、ONUにメモが貼ってあったので、それで申し込みしてみした。しかし、既に契約が終わっているとのこと。どうも、昔のBフレッツ(ベーシック)というものだったらしく、今は別の契約なのだそうです。使えないと仕事にならないので、とにかく有償でもいいから修理してほしい、とお願いしたところ、無事手配してもらえました。

午後に点検に訪れた若い技術者に見てもらったところ、光ケーブルの不良が原因だそうです。小さな装置から発信するレーザー光線を使って、どこに不良があるか調べられるので、簡単に不具合がわかります。たぶん、最初に工事した際にずれていたもののぎりぎり規格に合っていたものが、長く使っているうちに規格を外れたのでしょう。

今回の不具合は、ONUへの接続と、交換機があった場所の集線装置の2箇所だそうです。ONUの箇所は、コネクタを付け替えて改善しました。これだけでも、ぎりぎり通信できます。

残念ながら集線装置は修理できませんでした。どうも8本束ねた光ケーブルで入っていて、そのうちの1本はインターネット接続で常時使用しています。事前に停止するという連絡をしてからでないと、工事はできません。工事は20分くらい、ということなので、事前に通知さえしておけば、いつでもできそうです。

さて、久々に光ケーブルの端子を取り付けする作業を見せてもらった。10年くらい前に時は、細い光ケーブルにかなり苦労していた印象があった。今回、作業に当たった若い技術者は、てきぱきとやっていた感じで思ったより早く仕上がった。

日ごろからやり慣れている感じで、測定器の操作も手馴れた感じがした。10年前とは段違いに普及しているからだろうか。

HTMLの基本で失敗

既存のperlで書かれたCGIの一部を修正しようと思い、直していたらHTMLの割と基本的な、簡単なことにはまりました。HTMLなんて自由に使える、とは言えないかも。
 
やりたかったのは、あるページをHTML5に対応させること。
簡単なページなので、軽く考えていたのが敗因かな。
 
書いている途中、ボタンのサイズをスタイルシートで調整できないかな、と思い立ち、inputタグを buttonタグに置き換えることに。このとき、value を書き忘れたのに気が付きませんでした。
 
<input type=’submit’ name=’action’ value=’送信’>
 

<button type=’submit’ name=’action’>送信</button>
と書いてしまっていたのです。
正しくは
<button type=’submit’ name=’action’ value=’送信’>送信</button>
でした。
 
inputタグのvalueを、次の処理で使っているのを失念してました。おかげで、value が送られないので、エラーになってました。PHPならデバックはなんとかなるのですが、perlなので、メッセージを見てもよく解りません。おかげで、この原因に気が付くにのかなり時間がかかってしまうことに。
 
今回は、この記事を参考にさせてもらいました。

<input type=submit>は止めて<button type=submit>を使うべき

 
ところで、個人的には、日本語の文字を判定に使うのはよくないと思っています。今回は、次の処理を改造することになるのであきらめましたが最初から作るならこんな記述にはしません。
 
しかし、
<ここから引用>
もしボタンによって処理を分岐させたいのであれば、このようなコードを書きます。
 
<form>
<input type=’submit’ name=’action’ value=’送信’>
<input type=’submit’ name=’action’ value=’下書き保存’>
</form>

<input type=submit>は止めて<button type=submit>を使うべき

<ここまで>

だそうで、やっぱりこういう書き方をするんですかね。
日本語を使ったプログラムが普通、とはいえ怖い気がする。

手を抜いたのかも

派遣先の大学の公式サイトは、外部の業者が専任で管理に当たっているので私はタッチしていない。先日、合格発表をWebサイトで行った際に、渡されたページのできが悪く、表示に時間がかかって、最悪タイムアウトする事態が発生した。

 

どうも、6月にリニューアルした公式サイトが重すぎて、サーバーが耐えられなかったとのこと。それを受けて、今は大幅に軽量化を果たして、明らかに軽くなった。先日、その対応の報告書も見せてもらったのだが、Webページを開くと体感で解るくらい軽い。

 

合格発表のページも、公式サイトに画像やスタイルシートを読みにいくのをやめて発表のサイトだけで表示できるように修正する予定なので、次回は遅くなることはないだろう。

 

去年の合格発表は、サーバーが繋がり難い、ということはなかった。公式サイトがリニューアルしたとはいえ、そこまで重いコンテンツが並んでいた訳ではない。それでも今回の公式サイトの軽量化では、CSSで表示する画像を軽くしたり、JavaScript
のアニメーションを止めたりして、軽量化を行ったそうだ。

 

合格発表の直後、何で遅いの、と聞かれてチェックしたところ、1枚のページを表示するのに、100を超えるファイルをロードしていた。そんなにあるを目で追うのはかなり厳しい。結局、どれが遅い原因かは特定できなかった。公式サイトの運営を任されている会社でも、同じようにチェックしたことだろう。それで、とにかく画像を軽くして、JavaScript を減らすことにしたのだと思う。

 

サイトそのものの見かけはいいのだが、最初のアニメーションが邪魔だと思う公式サイトをいろいろと見てきた。アニメーションを表示している間にサーバー側で準備して送り出すことで、遅延を感じさせないための工夫だったのだと思う。

 

アクセス数が少ないうちは、うまく動作しているだろうが、アクセス数が増えたら、準備が追いつかない。すぐに繋がらなくなる訳だ。いいと思って真似しても、大学の公式サイトには向かない仕様だったということでしょう。たぶん、デザインのみ考えて、アクセスの際の負荷を考えてなかったのでしょう。良質のコンテンツさえ用意しておけば、なんとかなる、みたいな。

 

どこにいてもネットに繋がる便利な世の中なのだが、その便利さにかまけて手を抜くと、いつかは痛い目にあういうことか。

 

VGAの罠かも

派遣先が芸術系の大学だから、ということばかりではないだろうが、授業ではパソコンの画面表示が欠かせない。会社のプレゼン資料のような資料を表示するケースもあれば、映画の一部やYouTubeにあるような動画を流すケースもある。そのため、各教室にはプロジェクターが設置されており、利用頻度も高い。

 

新しいWindows10のパソコンで、正常に表示できない、という不具合を受けた。パソコン側の設定が原因だったのだが、その経緯について、まとめてみた。

 

まず、状況から。各教室には、AVラックが設置されており、それに組み込まれたセレクタを介して、プロジェクターに繋がっている。パソコンは、このセレクタに接続する。

教室に設置されたプロジェクターは天井に固定されている。これは、つい8月に入替したばかり。最新のプロジェクターでは、複数の入力を備えている。このモデルは、HDMIが2つと、VGAが2つ、計4つの入力から切り替えできるタイプだった。そのうち、HDMIを使っている。

一方、AVラック側は、セレクタに複数のケーブルが繋がっている。パソコンから画像を出力する場合は、大抵はHDMIかVGAのどちらか。薄型のノートパソコンだとHIDMIしかなかったりするし、MacBookAir は、USBから変換することに。とりあえず、HDMIを使ってもらえれば、問題なく表示するのだが、先生が持ち込むパソコンによっては、VGAを使うことも。

VGAは、昔の規格だが今でも現役で使える。アナログだとバカにはできない。フルHDくらいなら問題なく見える程度に出力できる。問題はセレクタの仕様。標準で、4:3になっていた。VGAの規格が元々4:3だったから当然かもしれないが、パソコンの画面は、16:9なので、これを複製すると画面にいっぱいにならない。

それで、呼ばれた訳です。

 

VGAが4:3で出るのは、仕様どおりと言いたいところですが、使う人からみれば、設定がおかしいでしょう、ということに。しかも、違うパソコンでは、こんなことにならない。使っているパソコンの設定ということに。

 

使っていたパソコンは、最新モデル。Intel製CPUに内蔵されたグラフィック機能を使ってます。今回は、これが原因で、4:3で出力してました。

Windows10のグラフィック設定を実行すると、デバイスとしてセレクタが見えます。このセレクタに対して、「縦横比を維持する」にチェックが入ってました。これは、デフォルトのようです。これを、「全画面のスケールにする」に変更すると、プロジェクター
で画面いっぱいに表示しました。

 

VGAは、できれば使わないで欲しい、というのが正直なところです。

パソコンのサウンドの不具合?

おととい設定したばかりの新しいパソコンですが、ちょっとした不具合が。私は気が付かなかったのですが、本体内蔵のスピーカーの音をミュートにしてても、システム音が鳴ってしなうのだそうです。それは不便だ、ということで鳴らないように設定してほしい、とのこと。ついでにそんなサウンドドライバも怪しいので、更新できないか、だそうです。

 

メーカー標準のドライバが入っているのに、と思いつつ作業開始。
まずは、サウンドドライバを調べることに。ちょうど、比較的有名なメーカーのチップを使っているようです。そのドライバを調べていたら、インストールされているドライバを一度に調べてくれるフリーソフトを発見。こういうのがあるんですね。さっそく活用させてもらいました。

 

新しいパソコンだけに、バージョンが古いという訳ではなさそうですが、リビジョンが上がっているので適用。これを変えたからといって、違いは感じられません。とりあえず、きちんと音が出ているのだけ確認しておきました。

 

続いて、システム音が出ないように設定。USBメモリーを挿したり抜いたりすると音が出ていたのが、この設定で出なくなりました。
アプリケーションの音は出ているし、ミュートも効きます。

 

ほんとに良くなっているか解りませんが、新しいドライバーで運用してもらいます。