投稿

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

PHPでsnmpを叩く

snmpを実際に使ってみる 前回、「 WindowsでSNMPを試す 」ということで、Linuxマシン上のsnmpwalkを使用して情報を取得できることは確認した。 今回は、PHPで無理やり情報を取得してみる。 本来はPHP上のsnmp用関数を利用するのが良いのだろうが、前回snmpwalkが動作するのを確認しているので、子プロセスで動かして情報を拾ってみる。 今後、Web上に出力するとかファイルん書き込むとか、Nativeの関数もあるといううことでPHPを選択してみた。 さっくりとテストコードを書いてみる。 ターゲットは、BuffaloのNAS、「TeraStation」にしてみる。 こいつは、設定でSNMPをONにすることで、ちゃんと返してくれるらしい。 <?php $cmd = "/usr/bin/snmpwalk"; $version = "-v2c"; $comunity = "TeraStation"; $ips = ["192.168.11.86"]; $oids = [     "1.3.6.1.4.1.5227.27.1.3.1.3.1"=>"GB",     "1.3.6.1.4.1.5227.27.1.3.1.4.1"=>"%" ]; foreach($ips as $ip){     foreach($oids as $oid=>$dummy){         $temp = exec("{$cmd} {$version} -c {$comunity} {$ip} {$oid}");         $values[$oid] = substr($temp,strrpos($temp," ")+1);     } } echo date("Y-m-d H:i:s "); foreach($values as $key=>$value){     echo &

sushi使用時のフリーズ

Gnome-sushiを使っていて Macを使っているとQuick Look(ファイルやフォルダを選択してスペースキーを押すとプレビューしてくれるソフト)がとても便利。 Ubuntu Desktopを使用する場合も同様なソフトを入れている。 それが、Gnome-sushi (なんで寿司なのかは不明だけど、海外の人には人気らしい、他にもchirashiとかnigiriとかtekkaなんて名前のアプリが存在するのは笑える) こいつは、かなり便利なんだけど、時々フリーズする。 いつフリーズするかと言うと、MS製のOfficeファイルをプレビューする時。 しかも、旧ファイル形式の時だけということに気づいた。 つまり、「〜.xlsx」はフリーズしないけれど、「〜.xls」はフリーズする。 同様にdoc/pptはフリーズすることがわかった。 自分はそんなファイルを作らないので、気が付かなかったが、客から送られてきたファイルをプレビューしようとして気づいた。 こうなると、全く操作ができなくなる。 マウスが反応しなくなる。 コンソールを切り替えて、sushiプロセスをkillしたり、再起動したりという作業となる。 で、注意して開くようにしていたんだけれど、間違って開いて再起動という手順が苛立つ。 状況はわかってきたので、原因を探してみる。 「 gnome-sushi freezes my computer when trying to preview .odt-files 」という記事を見つけた。 Hi, I had exact the same problem and solved it by installing the unoconv converter (apt install unoconv). Hope that helps, cheers とな…。 とりあえず、unoconvを入れてみると、多少Previewまでに時間がかかるものの、フリーズしなくなった。 unoconvって? 「Universal Office Converter」ってことらしい。 "unoconv"は、さまざまなオフィス文書ファイル形

Unetbootinが正常に表示されない

イメージ
Bootable USBを作成しようとしたが… Ubuntuマシンで、起動用のUSBディスクを作成しようしとして、ランチャーからUnetbootinを起動したものの、のっぺりとしたフォームが表示されるだけで??? おかしい…。 ちゅうことで、最新パッケージかどうかを確認する。 $ sudo -s # apt update # apt upgrade 特に、古くはないようだ…。 そのまま、コンソールから実行してみる。 # unetbootin X Error: BadAccess (attempt to access private resource denied) 10   Extension:    130 (MIT-SHM)   Minor opcode: 1 (X_ShmAttach)   Resource id:  0x13a X Error: BadShmSeg (invalid shared segment parameter) 128   Extension:    130 (MIT-SHM)   Minor opcode: 5 (X_ShmCreatePixmap)   Resource id:  0x420000f X Error: BadDrawable (invalid Pixmap or Window parameter) 9   Major opcode: 62 (X_CopyArea)   Resource id:  0x4200010 おや、エラーが出ている…。 まあ、調べてみるかと「X Error: BadDrawable (invalid Pixmap or Window parameter) 9」でググってみると、たくさん出てきますな。 「 BadDrawable (invalid Pixmap or Window parameter) #53 」という記事を見ると、同じような症状がいろんなソフトウェアで出ているらしい。 export QT_X11_NO_MITSHM=1 を実行する必要があるらしい。 QT関係はいつも環境変数が不足していて動かないことが多いな…。 と思いつつ

Huaweiの修理体制が神!

イメージ
修理が完了した 前回「 バッテリー膨張 」でまとめたその後。 バッテリー膨張を連絡→代替機到着→自機送付 ここまでが、前回経過だが、その後まとめる時間がなかったので、ちゃんと記録しておく。 一応、見積依頼→電話もしくはメールで連絡→価格によっては修理 と想定し、その旨連絡してあった。 ところが、連絡のないまま、宅配が届いた。??? 開封すると、自機が修理されている。 同封の報告書を確認すると以下のように記載されていた。 つまりは、バッテリーの膨張確認→交換→動作検査→ご請求額:0.00 なんと! 保証外修理なのに請求なし! ちょうど、ファーウェイがバッテリー交換半額プログラムを開始するというアナウンスが流れてきたタイミングだったのも影響しているのかもしれない。 バッテリー修理の連絡が多くて、早目に交換したいのかもなぁなどと想像しつつも、神対応に感謝します。 代替機も貸出し、修理は保証期間外なのに無料…。 このまま頑張ってほしいなぁ。 応援しますゎ。 再度、PhoneCloneで代替機→自機にアプリ等コピーして、動作確認する。 代替機は宅配で送って完了!

WindowsでSNMPを試す

イメージ
標準のツールでどこまでできるのか? snmp(Simple Network Management Protocol)を使えば、各種情報が取れるのは知っているけれど、実際に試す機会がなかったので、色々とテストしてみた。 客先に提案するのに、下調べが必要なのだ。 Windowsマシン自体を持っていないが、仮想マシンで動かしているので、それでテストする。 環境は以下の通り。 ホスト:Ubuntu18.04(192.168.1.203) ゲスト:Windows7 pro(192.168.1.172) とりあえず、7も10もほぼ同じらしいので、いつも使っているWindows7でテストする。 まずは、標準のsnmpをインストールする。 コントロールパネル→プログラム→Windowsの機能の有効化または無効化→簡易ネットワーク管理プロトコル(SNMP)→WMI SNMPプロバイダー 続いて、最低限の設定。 コンポーネントサービス→サービス(ローカル)→SNMP Serviceのプロパティ→セキュリティ→コミュニティに「public」を追加→ホストに「情報を取得する側のマシンIPを追加」 実際に叩いてみる $ snmpwalk -v 1 -c public 192.168.1.172 1.3.6.1.2.1 ああ、もう何から何まで丸裸…。恐ろしい。 すべてのホストから受け付けてはいけないということがよく分かる。 以下一部のみ抜粋 iso.3.6.1.2.1.1.1.0 = STRING: "Hardware: Intel64 Family 6 Model 42 Stepping 7 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)" ←OSバージョン名  : iso.3.6.1.2.1.1.5.0 = STRING: "w7-vm" ←ホスト名  : iso.3.6.1.2.1.25.3.2.1.3.1 = STRING: "Send to Microsoft OneNote 16

バッテリー膨張

イメージ
危険な状態 HuaweiのP10plusは、本当にカメラの出来が良くて愛用していた。 だけど、急にバッテリー膨張により、液晶の中央部分が膨らんで反ってきた。 これは、まずい…。 液晶の破損も起こりうるし、リチウムイオンバッテリーの爆発も起こりうる。 ということで、早速サポートにオンラインチャット開始。 状況を説明したら、とりあえず送ってくれと。 代替機はないかと聞くと、あるという返事! (前回修理したときには、そんなものは無いと言われたけれど、サポート体制が変わったらしい) で、Huaweiの送料持ちで、代替機と修理・見積もりの用紙、着払いの荷札まで同封して翌々日に届いた。 届いた代替機は「Mate9」で、見慣れた機種だった(笑) (2年前に液晶を割ってお釈迦にはなっていないが、バックアップ用の機種として保管したものと同じものだ) 普通に使うには、そこそこ性能も良く、キビキビ動く。 HuaweiのPhone Cloneというコピーツールで、端末をそのままコピー。 一部対応していないアプリとLINEだけ引き継げば、ほぼ完了。 ものの1時間で、代替機の準備が整った。 あとは、P10plusを梱包して、クロネコの集荷を手配して完了。 さて、修理可能だとは思うが、料金がどうなるか…。 あまりに高いのであれば、これを機に買い替えも視野に入れて楽しむことになる。 そうそう、8/1〜Huaweiはバッテリー交換キャンペーンで、半額で交換してくれるらしいので、案外それくらいの金額(約3500円)で、やってくれるかもしれない。 一部の書き込みを見ると、無料だったという情報もあるし…。 このところ、政府レベルで叩かれているせいか、コンシューマーにはサービスが良くなっているような気がしているので、少し期待。

大量のパスワード生成

イメージ
良くあるんだけど… 客先のサーバの管理をしていると、アカウントの作成依頼が時々くる。 どうやって管理するかと言うとExcelやGoogle Spreadsheetに ユーザ名・パスワード、氏名、作成日などを記録しておく。 ユーザ名は、氏名から作成するので問題ないがパスワードはあらかじめ余分に生成して記録しておく。 使っていないパスワードが、あと1〜2個になったら、さらに生成して追記している。 ところが、パスワードをまとめて作れば作るほど、間隔が伸びるので作り方を忘れてしまう。 以前は、PHPで書いて、WEBアクセスで指定個数分出力させる方法も取っていたが、ブラウザを起動するのが面倒だ。 たまには、Commandの使い方の解説も含めて、記録しておこうと思う。 パスワードの作成 $ pwgen これで、160個のパスワードを生成してくれる。(図) ただしオプション無しだと本当にランダムに生成するので、たまたま強度の弱いパスワードが生成される。 そこで、通常は次のようなオプションを付加する。 $ pwgen -Ccns とか $ pwgen -CcnsB とか・・・ 使い方は以下の通り Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ] Options supported by pwgen:   -c or --capitalize Include at least one capital letter in the password   -A or --no-capitalize Don't include capital letters in the password   -n or --numerals Include at least one number in the password   -0 or --no-numerals Don't include numbers in the password   -y or --symbols Include at least one special symbol in the pa