2014年5月17日土曜日

Mac miniをFAXサーバーにする(メール添付送信通知機能有り)

最近、仕事で使っていたMacを更新してもらいました。
新機はMac Book Pro (2012)です。
純正のカスタマイズでスペックアッすると大変高いので、納品後すぐに開腹手術。メモリーは16GBに交換。最初に挿入されていたメモリは中古ショップに売却。HDDをSSDに換装、光学ドライブも取り外して、取り外したHDD を装着した上、SSDとHDDとでFusionドライブを構成。この作業はこのあたりを参照→ http://shoz718.exblog.jp/17257537

これまでは、Mac mini (2010) を使っていました。しかし、これ一台で日々の書類作成からメールの送受信、インターネットサーバー稼働に、IllustratorなどでのDTP作業、最近では動画編集などもするようになってきたので、CPUもメモリーもHDDも全然足りなくなって、不具合がが多くなり仕事に障るようになってきたためです。

とはいえ、故障しての買い換えではないので、FAXサーバーとして再活用すべく設定法法を探りました。

なお、Mac miniはOSX10.9  Marvercks です。

職場には去年、理想科学工業のORPHISという高速インクジェット複合機を導入していました。1枚当たりの印刷単価が安く、これまで使っていたカラーレーザー複合機(いわゆるコピー機)はすっかり使わなくなっていました。両機はプリント、スキャナなど、ほぼ同じ機能を有しています。しかし、前者は唯一、FAX送受機能だけがありませんでした。そのため後者はFAX受信(もはや、送信することはほとんどない)のためだけに会議室の端に鎮座している状態でした。

このFAX機能さえ代替できれば、似たようなOA機器を二台も設置する必要がなくなり、コピー代やリース代も節約できます。職場の空間も有効活用できます。

Apple純正のFAXモデムは随分前に廃盤になったそうで、中古で入手できたとしても、現在の64bit環境では動作しないそうです。現行のMacでも使えるFAXモデムがないかと探したたところ、やはりありました→ USRobotics USR5637 56K USB Faxmodem


2014年4月13日日曜日

Netcommons2のサーバー移転

自鯖(old_server)で運用していたNetCommonsをさくらインターネットVPS(new_server)に引っ越しさせる際の覚書。本投稿は、Debian Squeez@自鯖 -> Debian wheezy@さくらVPS の事例です。

1.new_serverにDebian7 amd64 をインストール。

  •  Web経由で VNCでコンソール画面を表示させてインストール作業を進めることになるが、手元OSのJAVAがJAVA7にアップデートされている場合、セキュリティ機能でVNCコンソールが表示されない。JAVA7のセキュリティレベルを下げると表示されるようになります。参照:http://blog.makotokw.com/2014/04/08ta/java7-vs-vnc/
  • new_serverのロケールがja_JP.UTF-8になっているか確認。
    •  ja_JP.UTF-8 # dpkg-reconfigure locales で設定。
    • テキストエディタやシェルの言語設定にも注意
       

2.new_serverにold_serverの環境をつくる

  • apache2-mpm-prefork,php5,mysql,などなど、 apache-mod-php5も忘れずに。
  • a2enmodコマンドでapache2のphp5, ssl, rewrightの各モジュールを有効にする
  • インストール直後は、ユーザーディレクトリでのPHPの実行ができないので解除
  • /etc/php5/apache2/php.ini を編集し default_charset = UTF-8 をコメントアウト
  • 2021年4月追記
    Netcommons2のDocument rootは、htdocs/ であるので、Apache2の当該ドメインのVirtual Domain のDocument root の設定もhtdocs/ までのPathを指定すること。また、SSL、非SSL双方とも同様に設定すること。

3.Mysqlデータの移行

  • old_server
    • mysqldump -u root -p  database_name --default-character-set=binary > backup.sql
  •  文字化け予防のためエクスポート、インポート時に --default-character-set=binary オプションを指定。
  •  転送 old_server %scp backup.sql new_serve:/home/user_name/
  • new_server
    • mysql -u root -p database_name --default-character-set=binary < backup.sql


4.Netcommonsインストールディレクトリの転送

Debian ではapache2 をwww-data というオーナーで管理する特徴があります。そのため、ユーザーディレクトリで運営しているWebサイトでも、所有者情報がwww-dataのファイルやディレクトリが生成されることがあります。
NetCommonsの場合、htdocs下"images","js","themes" の3つのディレクトリとその中に生成されたファイルおよび、webapp下のuploadsディレクトリ下の各モジュール用のアップロードファイル格納ディレクトリのオーナー情報がwww-data扱いになっています。
移転元サーバーからSCPで転送する際、移転先サーバでは上記のディレクトリとその下にあるファイルの所有者情報が、そのユーザーになってしまいます。SCPでファイルを移転した後に、#chown -R www-data.ww-data  にて、オーナー情報を書き換える必要があります。

 5.DNSの設定を新しいサーバーに向ける。

たぶん、これでつつがなく移転できるはず...
移転元でNetCommonsをSSLしていて、移転先でSSL環境が用意できていないと、移転先のNetCommonsでログインできなくなって往生した。とりあえずオレオレSSL証明書で対応。最近のブラウザはオレオレSSLサイトを容易に表示しなくなっているので、やりにくい...

SSL証明書発行元のサーバーが途中で変わると面倒そうなので、SSL証明書の期限のタイミングでnew_serverで発行して認証してもらうことにする。

しかし、このタイミングでopenssl 1.0.1に重大なセキュリティーホールが発見され、様子見
Debianの対応状況はこちら、https://security-tracker.debian.org/tracker/CVE-2014-0160

手元のopensslのバージョンは"1.0.1e-2+deb7u6" だから、対応版にアップデートされたようだ。

でも、重大な欠陥だったから、SSL証明書のリセーラーがパンク状態に。
証明書発行に時間がかかりそうorz...


2014年1月18日土曜日

Mac OS10.9 MarvericksにMac Portをインストール

Mac OSでもコマンドラインでLinuxのツールを使うので、
Mac OS10.9 MavericksにもMac Portをインストール。
ここ→http://www.macports.org/install.php からインストーラーをダウンロードして、インストールする。

これだけでは、まだ使えなくて Xcode のコマンドラインツールというやつもインストールしてやらないと動かない。Mac OS10.8 Mountain Lion のときとコマンドラインツールのインストールの方法が異なるようなので注意。

ターミナルを起動して
$ xcode-select --install
とすると、コマンドラインツールをインストールするかどうか尋ねてくるので、
"Install"をクリックする。

こちらに丁寧に解説されていました↓ 感謝。
http://hiroki.jp/mavericks-command-line-developer-tools

2014/05/01 追記
上記の方法ではエラーが出てコマンドラインツールがダウンロード、インストールできないケースがありました。この場合、AppleのDeveloperツールのパッケージをダウンロードする必要があります。このページ↓からダウンロードできます(Apple IDで要ログイン)
https://developer.apple.com/downloads/index.action

今回の場合は、
Command Line Tools(OS X Marvericks) for Xcode
という表示のパッケージをダウンロードし、インストールします。

2013年11月12日火曜日

CSVファイル情報を宛先(To:)や本文に挿し込んで一斉メール送信するシェルスクリプト

以前、「シェルスクリプトとcrontabでメール定時送信 on MacOS X 」という投稿をしましたが、この一斉メール送信シェルスクリプトを少し手を入れて、CSVファイルからメールアドレスをTo:に挿し込んだり、メール本文に相手の名前を挿し込んで一斉送信できるように改造しました。使いようによってはSPAMメールの発射装置ですな...
このスクリプトは無保証です、念のため。

例えば、こういうCSVファイルがあったとして
鈴木一郎,ichiro@hogehoge.com,userid0001,xko2magk,
上原浩治,uehara@funyafunya.org,userid0002,d8namdw2,
岩隈久志,iwakuma@bashabasha.net,userid0003,yuA7qle C,
メールのTo: にそれぞれのメールアドレスを挿入し、こうしたメール本文↓に相手先の使命や、ID、パスワードなどを挿し込んでいきます(パスワードをメールに記述することは本来望ましくありませんが)。
member_name 様

平素はご利用ありがとうございます。
弊社Webサイトのお客様ページへのmember_name 様のログイン情報をご案内します。

ーーーーーーーーーーーーーーーーー
ユーザー名:member_ID
パスワード:member_passwd
ーーーーーーーーーーーーーーーーー
member_name のところにCSV1列目の氏名を、
member_IDのところにCSV2列目のログインIDを、
member_passwdのところにCSV3列目のパスワードを
それぞれ挿し込んで、順次送信していきます。

なお、今回のスクリプトは、前回と同様に コマンドラインでのメール送信にmailコマンドではなくmuttを使います。
今回はmuttの設定には触れませんので、設定方法は他を参照してください。

 以下、スクリプトです。行頭の番号は行数の目安と、説明のために便宜的に付けているので、実際にスクリプトを書くときには削除してください。また、ファイル名やPATHなどは適宜読み替えてください。
  1 #!/bin/sh
  2 listfile="$HOME/list.csv"
  3 if [ ! -f $listfile ]; then
  4         echo "Recipient list file $listfile does not exist.."
  5         exit 1
  6 fi
  7
  8 mailfile="$HOME/mailbody.txt"
  9 if [ ! -f $mailfile ]; then
 10         echo "Mail body file $mailfile does not exist.."
 11         exit 1
 12 fi
 13
 14 subject=`head -n 1 $mailfile | nkf -m`
 15 cat ${listfile} | while read line
 16 do
 17         name=`echo $line | cut -d"," -f 1`
 18         to=`echo $line | cut -d"," -f 2`
 19         usernm=`echo $line | cut -d"," -f 3`
 20         passwd=`echo $lin3 | cut -d"," -f 4`
 21         contents=`/usr/bin/tail -n +2 $mailfile | sed -e "s/member_name/$name    /g" | sed -e "s/member_ID/$usernm/g" | sed -e "s/member_passwd/$passwd/g"`
 22         echo "$contents" | nkf | mutt -s "$subj    ect" "$to" -a "$1"
 23         if [ $? -eq 1 ]; then
 24                 echo "send mail failure $to"
 25                 exit 1
 26         fi
 27
 28         echo "send mail success $to"
 29         sleep 15
 30 done
 31 exit
2:CSVファイルの指定
3〜6:$listfileがなかった場合に吐くメッセージ。
8:メールサブジェクトと本文のテキスト指定。1行目がSubject、2行目以降が本文。
9〜12:$mailfileがなかった場合に吐くメッセージ。
14:$mailfileの一行目をsubjectに指定する。文字化けしないようにnkfコマンドで日本語コードを調整。お手元の環境に応じて適宜変更してください。
15:$listfileを一行ごと読み出し、whileで繰り返す。
17:$listfileから1列目の氏名をcutコマンドで切り出す。
18:$listfileから2列目のメールアドレスをcutコマンドで切り出す。
19:$listfileから3列目のユーザーIDをcutコマンドで切り出す。
20:$listfileから4列目のパスワードをcutコマンドで切り出す。
21:tailコマンドで、メール本文は2行目からと指定し、sed -e コマンドで本文中のmember_name、member_ID、member_passwdをそれぞれ置換する。
22:上記までで整えた本文をnkfをかまして、文字化け回避。お手元の環境に応じて適宜変更してください。そしてmuttに渡して送信。「-a "$1"」は添付ファイルをする場合のおまけで、スクリプト実行の際、引数として添付ファイルを指定してください。添付ファイル不要の場合は削除可の記述です。
23〜26:メールが送信できなかった場合に吐くメッセージ。
28:メール送信が成功した場合に吐くメッセージ。
29:送信間隔の指定。スパム対策のため時間当たりのメール発信数を制限しているSMTPがあるので、制限に応じたインターバルを設定する。

参考情報
お忙しい中、スクリプト作成の相談にのってくださり、多くの助言をくださった、K.O氏に感謝。

2013年8月19日月曜日

家族Camp2013

今年は8月13日から16日にかけて三重県紀北町の孫太郎オートキャンプ場を3泊利用し、その後、紀伊半島を海岸線沿いにぐるりと移動し南紀白浜のとれとれビレッジで1泊するプランでした。
今年の家族キャンプに先立って、テントを新調しました。
これまでの6年間は、小川キャンパル 製の Tiara4という四人用テントを使っていました。
まだ、十分に使える代物だったのですが 、
小川キャンパル Tiara4

昨夏のキャンプで、成長した子どもたちの激しい寝返りに耐えかね、親のキャンプ中の安眠を確保すべく、一回り大きなテントを購入しました(Tiara4は友人のY.K君に譲渡)。
キャンプ中に強い雨風に遭わないという前提であれば、コールマンなどの廉価なテントでもいいのですが(ホームセンターにはさらに安価なテントも多数)、「テントは少々強い雨風に遭遇しても耐え凌げなくてはならない」という信念から、国内アウトドア用品メーカー Snow Peak社Land Breeze6 という6人用テントへの買い換えに踏み切りました。
Snow Peak社 LandBreeze6

高校のワンゲル部時代に使用していた、ヘリテイジ社のエスパース・スーパーライト6-7人用も購入候補アイテムだったのですが、何故か今季は入荷が遅れに遅れ、本稿執筆時点でも入荷がなく断念しました。

Land Breeze6は就寝スペースが3m×3mと広く、床面中央から放射状に4人が寝転べるという贅沢なスペースが確保され、子どもたちの少々の寝返りでも腕や脚がぶつかりません。また、Tiara4より6kgくらい軽量で、車の燃費にも貢献します。



さて、これまでの家族キャンプでは、初日はテントを張って夕食にバーベキューをしてお終い、というパターンだったのですが、今年は、いきなり海水浴からスタートです。





子どもたちはどんどん成長してたくましくなっていきますが、親は前年より確実に衰えていくわけで、初日からの全力の海水浴は、かなり消耗します。
きつく日焼けをすると、シミだらけになるので、サンシェードの設置と入念な日焼け止めクリームの塗布は欠かせません。特に海水浴初日の日焼け止めの失策は、後日の入浴での激痛に直結します。

 海水浴を堪能した後の夕食は、定番のバーベキュー(右写真)。我が家のキャンプではAC電源付きサイトに小型の冷蔵庫を持ち込むのですが、それでも近年の猛暑のこと、食品の傷みを考えて初日の夕方に一番贅沢な食材を投入します。




 対岸の山に沈む夕陽。
(このキャンプ地は、C字湾に面しています)
そして、キャンプ初日が終わっていきます。







キャンプ2日目、
帰宅して写真を整理していると、何故かこの日の写真がまったくありません。
カメラやメディアの事故などではなく、全く撮っていなかったようです。
この日は早朝から、キャンプサイト前の浜でキスの投げ釣りに初挑戦。釣果はゼロ。
3日間にわたり早朝にキスの投げ釣りにトライしましたが、全くのボウズでした。
そして、日が昇ると終日海水浴に突撃。
つまり、この日は、お父ちゃんが朝から晩まで全力で釣りに海水浴に興じていたので、カメラのシャッターを切る暇がなかったようです。 

キャンプ3日目、
早朝のキス釣り、朝食の後、キャンプサイト近くの県営プールに。
本当に今回は泳ぎっぱなしですな。


 夕食は、現地スーパーで調達した海鮮でバーベキュー。この地域は「オークワ」「ショッピー」「主婦の店」という三つスーパーが勢力を争っています。
流通業の職歴がありますので、ついつい、品揃えとか、強みのアイテムとか、陳列のセンスの良さとかを観察してしまいます。



キャンプ4日目、
テントを撤収し、4人そろって"くまモン"Tシャツを着用で記念撮影。(注意:夫婦共に親戚も含めて、熊本県とは縁もゆかりもありません)
左手は愛車のHonda FREED。小さい車体ながら、乗る積むという機能について完成度の高い車です。

潮岬までの道すがら、近大の水産施設が何件か見られました(こちらも縁もゆかりもありませんが)。








←潮岬灯台
 ← 潮岬からの景色
 ←潮岬灯台の展望台






潮岬を後にしたのが午後4時過ぎ 。
予定していた串本海中公園の見物は、到着時点で窓口受付が終了していました。
朝のテント干しを長くとりすぎて、出発が遅れたのが響きました。
 んで、南紀白浜とれとれビレッジに到着。とっぷり日は沈んでいました。
フロントでチェックインすると、夕食の時間は20:30からだと言う、遅い! ま、チェックインも遅いんだけど。
夕飯時間まで温泉でキャンプの汗を落とす。日焼け止め対策が功を奏し、快適に湯船に体を沈めることができました。
とれとれビレッジは、ドーム状の個室が並ぶ宿泊村です。子どもたちも興奮気味に「ホテル最高!」
去年も書いたけど、4日間のテント生活をしてきたから、ホテルの感動も一入なのですよ。


混雑する入場ゲート

 最終日はアドベンチャーワールドに行きました。
園内の動物たちの写真どぞ。
パンダ「優浜(ユウヒン)」
ぞうさん

ヒグマ(サファリ内)

チーター(サファリ内)






























カンムリヅル














岩に座し虚空を見つめ、何を思ふ





 










下の娘が生まれる前に、アドベンチャーワールドに旅行に来たことがありました。そのときもこのパンダの前で記念撮影をし、自宅にその写真が飾られています。
娘は「私が写ってない!」と、ずっと疎外感を覚えていたようです。アドベンチャーワールドのこのパンダ人形の前で家族一緒に記念撮影をすることは彼女の悲願でした。




そんなこんなで、今年のSummer家族キャンプも終わっていきました。
テントも新調しちゃったので、あと数年は家族キャンプを続けようかとは思います。

ただ、家族キャンプだと、親子間相互にどうしても甘えが生じて、子どもたちのキャンプ体験として、踏み込み不足も感じます。私は5年生で子ども集団でのキャンプに参加しました。そして長男も来年は5年生、さてどうするか。

2013年3月26日火曜日

Mac Book Air (Mid 2011)のWiFi不調の修復

この2,3ヶ月、Mac Book Air (Mid 2011)のWiFiが非常に不安定で、難儀していました。まず、起動した直後はつながらない。液晶パネルを閉じて開けるという作業をしてやると何故か接続することがあるという、不可解な症状でした。

出張用件が銀座に近かったので、アップルストア銀座に立ち寄って相談してみました。
結果としては非常に簡単に修復できました。
/Library/Preferences/SystemConfiguration/
を一旦削除して、再起動する。それだけです。

このディレクトリにネットワーク設定が保存されるらしく、その設定ファイルに何らかの異常があったようです。一旦削除し再起動するとこのディレクトリはクリーンな状態で再生成されるとのこと。ネット検索でも辿り着けたかもしれませんが、さすがアップルストア、解決が早いです。

これで、会議中に液晶パネルを開けたり閉めたりする煩わしさから解放されます。
よかった、よかった。

2013年3月23日土曜日

ブログのURLを変更しました

これまで、このブログのURLは
http://blog.marron.jp/
でしたが、
http://blog.g.marron.jp/
に変更します。
".g"を挿入しただけです。
marron.jpでgoogleサービスを利用するものには、統一して".g"を付けることにしました。