投稿

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバは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の反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

ソースコードを読んで解決

些細なミスでハマった ある案件で、FuelPHPを使って開発していた。 ローカルマシンのApacheとMySQLを使った標準のWebアプリ。 ただ、今回はじめてまともにFuelPHPを使ったので、若干なれるのに手間取った。 さて、良い感じに仕上がってきて、本番環境に準備してデプロイすることに。 お客さんがこれまで使っているというSAKURA Internetのレンタルサーバを追加で借りてもらい、設定することに。 SAKURAサーバを使ったことがある人は分かると思うんだけど、MySQLが別サーバになっている。 でもって、契約してあるサーバからしか接続が出来ない仕様。 まぁ、これも理解できる。 そこで、FuelPHPのconfigにあるdb.phpを新規に編集する。 config-----------db.php  +- development--db.php  +- production---db.php 共通の設定などは、config直下のdb.phpに書いておき、開発用、本番用と別々の設定で運用できる。 共通のdb.php <?php return array(  'default' => array(    'type' => 'mysqli',    'connection' => array(      'host' => 'localhost',      'port' => '3306',      'database' => 'dbname',      'persistent' => false,      'compress' => true,    ),    'identifier' => '`',    'table_prefix' => '',    'charset' => 'utf8',    'e

これは使える!テキストツール csvq

GO製 csvq いつも使えそうなツールをチェックしているのだけれど、久々に使えるものを入手した。 csvファイルをDBのように扱い、sqlで操作可能にする。 https://github.com/mithrandie/csvq インストールはBinaryをダウンロードしてPATHの通ったところに置いて完了。 ちなみに、他の人はどうしているのか分からないけれど、どこに置くのかというのはいつも悩ましい所。 /usr/bin /usr/local/bin あたりが、多いんでしょうか…。 まあ、マルチユーザの場合、パッケージなどで入れたものは、/usr/bin以下に入るだろうし、buildするタイプなどで作法の良いものなら/usr/local/binなどに入れるのが普通だろうなぁ。  自分の場合は、個人で使用する場合や自作のもので、一時的に使うモノは、~/bin というフォルダを作成していて、ここにポイッと入れて動作テストなどしている。 もちろん、PATHを通しておく必要が有る…。 さて、解凍してcsvqをbin以下に入れれば即実行できる。 こいつ強力すぎる! 実際に試してみると、こいつは便利だ。 試しに次のようなデータを作成してテストしてみた。(user.csvとscore.csv) データを一覧したければ、 $ csvq > select * from user; +----+--------+-----+-------------+ | id | name | age | tel | +----+--------+-----+-------------+ | 1 | user1 | 20 | 01011112222 | | 2 | user2 | 21 | 01011113333 | | 3 | user3 | 22 | 01011114444 | | 4 | user4 | 23 | 01011115555 | | 5 | user5 | 24 | 01011116666 | | 6 | user6 | 25 | 01011117777 | | 7 | user7 | 26 | 010

異なるマシンで403 forbiddenが発生する

API関連のプログラムを作成中に RESTfulなAPIを作成して、テストしているのだけれど、ノート上では通ったテストがデスクトップ上のマシンだと通らない事象が発生…。 なぜか、403 forbiddenが返ってくる。 まずは、ブラウザでPOST/GETのテスト。 問題なく動作する(これはこれで、なぜだ…) なので、動いているかと思い、PUT/DELETEなどのmethodもテストする。 ブラウザでは無理なので、 Postman を使っている。 ノートでは、正常にレスポンスが返ってくるのに、デスクトップだとエラー。 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html>     <head>         <title>403 Forbidden</title>     </head>     <body>         <h1>Forbidden</h1>         <p>You don't have permission to access /~yoshimura/xxxxx/api/yyyyy/12345 on this server.             <br />         </p>         <hr>         <address>Apache/2.4.29 (Ubuntu) Server at localhost Port 80</address>     </body> </html> なんで〜。 念の為、ログを見る。 ::1 - - [02/Feb/2019:12:17:44 +0900] "POST /~yoshimura/xxxxx/api/yyyyy/12345 HTTP/1.1" 200 198 "-" "PostmanRuntime/7.4.0" ::1 - - [02/Feb/2019:12:19:00 +0900] &

xmodmapのエラー回避

xmodmapがエラーを吐く 前回キーボードの購入ミスで、Keymapを変更することで対処したのだが、端末を開くたびに実行させるとエラーを吐くことが判明した。(→ 前回の記事 ) 通常キーの変更は、何度設定しても問題ないのだが、modifier keyの変更はだめらしい。 Alt_Rを外す処理のところで、エラーが発生する。 xmodmap:  .Xmodmap:1:  bad keysym in remove modifier list 'Alt_R', no corresponding keycodes xmodmap:  1 error encountered, aborting. 表示を無視する手も有るけれど、スマートじゃないので、ちゃんと処理しておこう。 xmodmap | grep "Alt_R" | grep "mod1" > /dev/null 2>&1 if [ $? == 0 ]; then xmodmap ~/.Xmodmap fi grepかけて、出力に含まれるかで判断しておく。 もちろん、出力結果は不要なので、/dev/nullにすてておく。 これで、mod1にAlt_Rが残っていたら、削除して、keymapを変更 残っていなかったら、何もせず終了。 これを、前回書いた、.bashrcの1行と置き換える。 Logout→Login、再起動後のlogin、最後に端末を複数開けたりしても問題ないのを確認して、ミッション終了。 ちょっとしたことでも、ちゃんと書いておくと気持ちよく過ごせるね。

x240のキーボード交換 しかし痛恨のミス

イメージ
さすが中古か…。キーが壊れた まあ、多少使い込んだ感じのキーが一部あったものの、比較的綺麗だよなぁとは思っていたのだけれど、部分的に傷んでいたようだ。 Nキーが外れたので、ハメようとしたが、中の金具が金属疲労を起こしていて、触ったら折れた。 右上の部分だけれど、拡大すると とまあ、これでも入力はできるけれど、不便極まりない。 そこで、キーボードのみを手配することに。 ついでなので、バックライト有りにして、USキーボードにすることにした。 Amazonで3,000円+送料(400円)だったので、即注文。 注文通したのが12/7。中国からの直送で昨日届いた。 予定では21日だったけれど、この時期わんさかと宅配が発生していると思われるので、まあ仕方ない。 分解→交換 x240は、前の機種に比べて、キーボードの交換手順がやや面倒。 中身を全て外して、マザーを外さないと、キーボードが交換できない。 しかし、やるしかない…。 順調に外していきます。 これは、ほぼ外した状態。マザーを外したので、抑えの白い半透明のカバーを外せば、キーボードは抜けました。 この手のリボンケーブルが大量で、あるので気になりそうな箇所は写真を撮っておきます。 無事に交換が終了。およそ1時間程かかりました…。 ところが… ネジ2個と、プラスティックの押さえ具が…。 外すときに、これ要らないよなぁと思った記憶は有るので、押さえ具は取り付けなくても問題ないのだけれど、ネジは…。 仕方ないので、もう1度開けて確認することに…。 約30分後… 取り付け箇所が見当たらない…。 まあ、しっかり固定できているし、問題ないことに。 動作確認する。 バックライト点灯! 問題はなさそうだ…ところが… 痛恨のミス発覚 写真をよく見てほしい。 USキーボードじゃない! 購入履歴を見ると、確かに写真と同一のブツだ。 自分のミスだ。USと思い込んで発注していた…。 Eのキーに€マークついているし、3には£が…。 そして左下「zの」横に「<>|」の刻印が…。 1キーに2つの刻印は解るが、3つ目はどうやって入力

Facebookでの入力異常

イメージ
Facebook関連での日本語入力 返信や投稿、Messengerで入力している時におかしなことが起きている。 今の所、改善する方法が見つかっていないので、情報をお願いします。 症状 入力欄に日本語入力中、変換し確定せずに次の文節を入力すると、1文字目のみ勝手に確定されたり、消えたりする。 環境 Ubuntu 18.04 + mozc Vivaldi 2.2.1388.34 (Stable channel) (64-bit) Chrome バージョン: 71.0.3578.98(Official Build) (64 ビット) 逃げる方策 現時点の確認では、Firefoxのみ症状が発生しないので、FacebookおよびMessengerを使用する場合のみFirefoxを利用するしかない…。 詳細 実際に、入力した例をキャプチャしてみた。 入力文字列は「日本語で/確定して/いない」 最後の部分を見ると分かるように、「確定して」が変換後未確定の状態で「いない」を入力すると 「い」確定済+「ない」未確定 になってしまう。 その前の、「確定」も最初の「k」が落ちて「あくてい」と入力されたことになって、チャキチャキ入力(変換→入力→変換・・・)しているとき、気付くとorz状態に… これで、前回からMessengerでのやり取りに非常に手間取ったり、書き直したりしてイラつき度MAXになっていた。 最初は、Ubuntuの不具合かと思ったのだけれど、他のアプリでは一切発生しない。 Firefoxでは発生しない。 他のサイトでも発生しない。 ということから、FacebookとGoolgle系エンジンとの相性が悪いらしい。 web-kitを使っているであろうモバイルでは発生しないし…。 もう一つ気になること Facebookで入力する時に、上書きモードにできないのに気づいた。 Insertキーは無視される模様。 他にショートカットもないので、基本的に挿入モードしか許可していない感じ。 まぁ、そういう方針ならゴチャゴチャ言いたくはないが、不便に感じることもありそうな。

Thinkpad x240 を入手

イメージ
ヤフオクで物色 これまでx200を利用してきたけれど、イマイチ反応が悪いことが気になりだした。 vivaldiでタブを複数開いて、Spreadsheetとエディタと端末で作業すると…。 固まることはないけれど、息づくというか…。 でもって、kotlinのコンパイルしてjvmの上で動作確認とかすると、イラッとするレベル。 core2duoの限界かなぁ…と。 しかも、液晶も最大輝度でもけっこう暗くて、そろそろ交換しようかと悩んで、amazonなどでパーツを探してみた。 すると、HD→FHD交換が可能という情報を。 でも、x200は対応していなくて、「X240 X240s X250 X260 対応」と書かれている。 x240のスペックを調べると、なかなか良いではないか。 ということで、念入りに価格を調べ、本体を入手することに。(笑) 1週間ほどあれやこれや探して、結局13,751円でヤフオクで落札。送料込みで14,624 円。 予定では14000円以下(送料込み15000円)で落札できればと思っていたので、少し安い感じ。 届いたブツの状態はとても綺麗で、良品でした。 ちなみにスペックは、corei5第4世代、HDD500GB、メモリ4GBです。 追加パーツを手配 本体にはメモリが4GBでスロット1しか無いので、交換となる。 この点、x200は2スロットだったので少し残念。 DDR3L 1600 MHz PC3L 12800 永久保証 で 5,980円なり。 そして念願の、FHD液晶を手配。 YHtech適用修理交換用適用Lenovo ThinkPad X240 X240s 12.5 フルHD (1920x1080) IPS液晶パネル 11,500円 なり。 SSDはx200のを流用することに。 結局 本体 14,624- メモリ  5,980- 液晶 11,500- 合計 32,104 円となった。 この内Amazonのポイントで2480支払ったので、最終的には29,624円。 まあ、当初10〜15万程度のモバイルマシンを買おうかと思っていたので、素敵! 本体よりパーツのほうが高いという…。お約束のような…。 実際の交換作業 本体裏蓋を開ければ、メモリとHDDは簡単に交