2013年3月14日木曜日

自宅にVPN Server構築 #1

Macを使い始めて数ヶ月経過しました。SSDの容量節約を考えて、iTunesライブラリとiPhotoライブラリを自宅のNASに置いているんですが、外出先での利用が多く、外出先でもNASにアクセスできるように、VPN環境を構築したいと思います。

VPN Serverにするのは自宅で稼働中のUbuntu 12.04。まずはどんな方法があるのかネットを調べてみました。VPNの方式としては
  • L2PT
  • PPTP
  • OpenVPN
この辺がよく使われているようです。とりあえずインストールが簡単そうなOpenVPNを入れてみようかと思っていたのですが、2013/3/8にSoftEther VPNが公開されていて、サイトを見ると上で挙げた全てのプロトコルに対応してるようです。まだ該当バージョンの情報も見つからず、公式でもRedHat系を推薦しているので、人柱になるべくUbuntuに入れてみようかと思います。

公式ドキュメントを見ながら必要なソフトウェアとライブラリのインストール。aptitudeでサクサクと入れていきます。

1. インストールに必要なソフトウェアの準備
$ sudo aptitude install gcc
$ sudo aptitude install make

2. Softether VPNの取得
このページからLinux - 64bit版をDownloadします。
$ wget http://www.softether-download.com/files/softether/v1.00-9027-rc2-2013.03.12-tree/Linux/SoftEther%20VPN%20Server/64bit%20-%20Intel%20x64%20or%20AMD64/softether-vpnserver-v1.00-9027-rc2-2013.03.12-linux-x64-64bit.tar.gz -P ~/tmp

3. 解凍してmake
$ cd ~/tmp
$ tar zxvf softether-vpnserver-v1.00-9027-rc2-2013.03.12-linux-x64-64bit.tar.gz
$ cd vpnserver
$ make

4. 画面の指示に従って、数字を選択してmakeする

5. /usr/localに移動し、所有権やパーミッションを変更
$ cd ..
$ sudo mv vpnserver /usr/local
$ cd /usr/local
$ sudo chown -R root:root vpnserver
$ cd vpnserver
$ sudo chmod 600 *
$ sudo chmod 700 vpncmd
$ sudo chmod 700 vpnserver

6. Startup scriptの作成
$ cd /etc/init.d
$ sudo touch vpnserver
$ sudo chmod 755 vpnserver
$ sudo vi vpnserver

以下のScriptをviで作成
#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver  # Modify for Ubuntu
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

7. Startup scriptの登録
もしsysv-rc-confをinstallしていなければ、install
$ sudo aptitude install sysv-rc-conf
登録
$ sudo sysv-rc-conf vpnserver on
ここまでで一通りのインストールは完了です。
これから設定をしていきます。続きは別エントリで。

2013年3月5日火曜日

MacのJDK整理

1月にJava SE 7 Update 11に関するエントリを書いてからわずか2ヶ月ですが、頻繁にJavaのセキュリティアップデートが行われ、あっという間にUpdate 17になっていました。業務上、Javaのインストールは(JDKも含めて)必須なので、できる限り最新版が出たらすぐ更新するようにしているのですが、古いバージョンのJDKがどうなってるか調べてみました。

インストールディレクトリはすぐ見つかりました。
ls -l /Library/Java/JavaVirtualMachines/
で確認してみると、jdk1.7.0_xx.jdk/というディレクトリがたくさん残っています。Windowsでもそうですが、JDKは更新しても前のバージョンは削除されません。開発用のパッケージのため当然の動作だとは思うのですが、私の環境では古いバージョンのJDKは不要なので削除したいと思います。

アンインストール方法ですが、Oracleのドキュメントを確認する限り、上記のディレクトリからjdk1.7.0_xx.jdk/を直接削除してしまって問題無さそうです。という事で、jdk1.7.0_17.jdk/以外をサクッと削除してスッキリしました。

容量削減の為にも、定期的に削除した方が良さそうですね^^;

2013年2月6日水曜日

自作PCのメンテナンス #3 (完結)

先月から実施していた自作PCのメンテナンスについて、やっと不具合が解決しました!原因はやはりメモリの相性だったようで、以前の1GB x 3に差し替えてからは一度も落ちず、その後購入したSanmax - Elpidaチップの4GB x 3でも安定して動作しています。やっと安定したので、一緒に購入したIntel 335にWindows 7を新規インストールして、徐々に環境を復旧しているところです。

それにしても、メモリに問題があればコールドブート後1度だけではなく、稼働中に不定期に落ちそうなもんなんですが…電圧が不安定な状態に弱いんでしょうか。勉強になりました。

2013年1月21日月曜日

自作PCのメンテナンス #2

休日に重い腰を上げてPCのメンテナンスを実施しました。まずは、土曜日にエアダスターと接点復活剤の買い出しへ。逆さから使っても大丈夫なタイプを購入しました。(実際使ってみたら勢いが弱く匂いもキツかったので、ちょっと失敗したかも…。)

作業内容は先日書いたエントリの通り。

  • PC内部の清掃と組み直し
    • 電源やファンの埃を取り、マザーボードに積もった埃もエアダスターで吹き飛ばして、メモリに接点復活剤を塗って組み直しました。
    • が…程なくしてブルースクリーン。効果は無かったようです。
  • 以前のメモリ (1GB x 3)に差し替え
    • 差し替え後、あまりコールドブートになっていないのでまだわかりませんが、今のところ一度も落ちていません。これで数日安定していれば、メモリの買い替えで解決できそうなんだけどな。
とりあえずメモリが原因であることを祈りつつ、仕事から帰宅したらPCの電源を投入しようと思います。

2013年1月17日木曜日

自作PCのメンテナンス #1

自宅のデスクトップは数年前に自作したWindowsPCなんですが、昨年からコールドブート後に1度だけBlueScreenが発生して、それ以降は問題なく使える不具合に悩まされています。騙し騙し使い続けてきましたが、子供の動画編集や自動処理などを安定してできるように、メンテナンスをして不具合を解決しようと作業を進めています。ということで、作業ログ代わりにエントリを書いてみました。

まずは自作PCのスペック
  • CPU : Core i7 920 (LGA1366)
  • MotherBoard : ASUS Rampage Extream II
  • Memory : G.Skill F3-10666CL9T-12GBRL
    • 4GB x 3, DDR3-1333を1066で動作
  • 電源 : ENERMAX (だったと思う…うろ覚え)
  • HDD
    • WD VelociRaptor : 150GB
    • Seagate? : 1TB
発生し始めたのは、今のマンションに引っ越してきた後だったので恐らく2011/12以降。引越しの移動でどこか接触が悪くなったか、電源が変わったことによる影響などが考えられます。

これまでの作業内容
  • MotherBoardのBIOS Update
  • memtest86+
  • メモリタイミングを1066から1333に手動で変更
    • 1333にしたら落ちまくる…。
これからの作業予定
  • PC内部の清掃と組み直し
  • OSの再インストールと最新ドライバに更新
  • 以前のメモリ (1GB x 3)に差し替え
  • 電源の交換
今は無駄な出費を控えたいので、できるだけ原因を特定してから交換などを行いたいと思います。

2013年1月11日金曜日

MacのSafariがJavaプラグインをブロックする件

昨年購入したMBP 13r、昨日までは順調に使えていたのですが、本日突然SafariでJavaのプラグインが実行できなくなる状況になってしまいました。Firefoxでは問題なく使えています。こんな感じの画面で、最新バージョンのJavaが認識できていないようです。


心当たりと言えば、今日ソフトウェアアップデートで出てきたHP Printer Drivers v.2.13 for OS Xを適用した事くらい…。念の為に、pkgutil --payload-filesでインストールしたファイルを確認してみましたが、特に怪しいファイルも見つかりません。

解決の為、Appleのサポートにも連絡をして以下のような事を試してみましたが、結果として未だ解決できていない状態です。面倒だけど、OSの再インストールをするしかないのかなぁ…。

試したこと
  • JRE/JDKの再インストール
  • Apple Java SE 6へのロールバック (ロールバックした状態では動作する)
  • セーフブート
  • 新規ユーザ作成してSafariの動作確認
  • Safariのplist削除 (/User/xxx/Library/Preferences/com.apple.Safari.plist)
  • ディスクのアクセス権修復
これからの選択肢
  • OSの再インストール (再発した時が怖い)
  • 昨日以前のTimeMachineからのリカバリ
  • 次バージョンのJavaがリリースされるまで待つ
18:40追記
解決しました!直接の原因は、
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist
のJavaAppletPluginのMinimumVersionが1.7.10.19になっていること(現在は1.7.10.18)でした。
おそらく、Java 7の脆弱性が見つかったためにAppleがSafariのJavaプラグインを無効にするよう設定ファイルを書き換えたのだと思います。
ゼロデイ攻撃の対応とはいえ、対応後は何らかの通知を出してくれればいいのですが…。
2013/1/14追記
アップルのサポートから、脆弱性の対応という公式な回答を頂きました。
そして、Java SE 7 Update 11がリリースされたようです。これでやっと解決かな。

2012年11月11日日曜日

Macで自宅Wi-FiのNAS自動マウント

先日、趣味&仕事用のマシンとしてMacBookPro Retina 13inchを購入しました。
そして環境構築をしている中で、自宅のWi-Fiに接続してログインした時にだけNASを自動マウントする処理をAppleScriptで書いてみたのでメモしておきます。

SSID取得とNASの自動マウントは、色々な人のブログに書かれていたものを参考にしながら書いてみました。自宅外のWi-Fiと繋ぐことが多い&移動時にはログアウトする事が多いので、これでだいぶ改善されるはず。
スリープから復帰した時にもSSIDをチェックしてマウントを制御してみたいけど、もう少し調べてみないとわからないので、必要になったら考えてみます。もしいい方法があったらコメントなどで教えてください!


set SSID to do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --getinfo | sed -n 's/^[ ]*SSID: \\([^ ]*\\)[ ]*$/\\1/p'"
set HOME_SSID to "<自宅Wi-FiのSSID>"

if not SSID is HOME_SSID then
    return -- Not home Wi-Fi
end if

tell application "Finder"
    delay 5 -- Wait 5 seconds
    activate
    if not (exists disk "disk") then
        try
            mount volume "afp://<NASのIP>/<マウントするvolume名>"
        on error
            display dialog "NAS mount error."
        end try
    end if
end tell

2012年7月30日月曜日

PythonでJSTからUTCに変換

Blog移行でFC2からBloggerに移行を進めていますが、FC2でexportしたファイルは日時を変換しないとBloggerにimportできない模様。という事で、Pythonの勉強がてら変換Scriptを書いてみました。その中で少しハマった日時のJST⇒UTC変換について、メモを残しておきます。

import datetime
import dateutil.tz

// (中略)

native_date = datetime.datetime.strptime(datestr, '%m/%d/%Y %H:%M:%S')
utc_date = native_date.replace(tzinfo=dateutil.tz.gettz('Asia/Tokyo')).astimezone(dateutil.tz.tzutc())

Timezoneが設定されていないDatetimeがあるとは盲点でした。開発環境での変換は上手くいったようなので、使えそうであればGoogle App Engineで提供できるように、チュートリアルを進めてみます。

2012年7月10日火曜日

cassandra-jdbc + iBatisでやっとCQLが動いた話

CassandraのJDBC driver(cassandra-jdbc)を使って、iBatisからCQLを叩く実装を試しています。
iBatisといっても独自Frameworkのコンポーネントなので、設定ファイルがカスタマイズされていて、そこに嵌ったのもあるのですが…嵌ったポイントを忘れないようにメモ書きしてみます。
  • setAutoCommit(false)を呼び出すと、Exceptionになる。
    • Cassandraは常にauto-commitなので、falseを設定するとExceptionが発生します。iBatisのJDBC TransactionManagerは必ずsetAutoCommit(false)を呼び出すコーディングになっている為、TransactionManagerにEXTERNALを指定し、SetAutoCommitAllowedプロパティをfalseに設定する必要があります。
  • SELECT * FROM ~ だとresultClassとMappingできない。
    • これはcassandra-jdbc固有の症状かどうかわかりませんが、keyとcolumn nameを指定してSELECTすることで解決しました。
とりあえず、最初のsetAutoCommitで久しぶりにどっぷり嵌ってしまって、1日くらい時間を費やしちゃいましたが、なんとかデータを取るところまではできたのでOKです。ただ、resultのmappingがまだよくわかっていないので、もう少し調べてみないと…。
そしてcassandra-jdbcのドキュメントがどこにも見つから無いです。sourceを読めって事か?

2012年7月9日月曜日

神奈川県立川崎図書館に行ってきました

この前の土曜日、HadoopとScalaのオライリー本を求めて神奈川県立川崎図書館に行ってきました。図書館なんて、大学の頃、レポート直前に籠っていた記憶しかないので…10年ぶりくらいですねw

あまり下調べせずに行ったのですが、到着して驚いたのが、市立の子供から大人までを対象にした図書館ではなく、「理工学系」の専門書が集まっている図書館だった、という事です。オライリー本がたくさんあるくらいだし、よく考えればそうですよね^^; 館内にいる方はみんなそれなりの年の男性ばかりで静かに調べ物や勉強をしており、奥さんを連れて行った自分がちょっと浮いていたような…w

迷いながら、3Fの情報処理のコーナーへ。うーん、普通の図書館じゃ見つからないような技術書がたくさんありますね!流石です。とりあえず目的の象本(Hadoop)とScala本を確保して、他にもいくつか借りてきました~。

今までは必要な技術書は買って手元に置いとく派だったんですが、一般的に技術書は高価ですし、とりあえず3週間試してみてから購入できる、というのは非常に魅力的です。これからも利用してみようと思います。

2012年7月6日金曜日

Apache CassandraのClient調査

最近運用し始めたApache Cassandraについて、Javaで使えるClientを調査しています。
公式WikiにHigh level clientsのListが掲載されていました。(2012-05-14が最終更新日時) また日本語WikiにもListがありますが、翻訳した時点(2011-06-01)の情報の為、現時点ではだいぶ古い情報になっているようです。

パッと見、人気の言語 (Java, PHP, .NETなど)は種類が豊富すぎて、どれを使うべきか迷ってしまいますね。うちは環境がJavaなので、その中でも情報が多いHectorを使って運用をしています。
今後、Cassandraの発展に伴い、群雄割拠のClientsも淘汰されていくのでしょうか…?

Bloggerへ移行だっ!

最近、仕事やPrivateの情報をどこに集約しようかと考えていて、自宅ServerにWordPressを構築しようかと考えていたのですが…その前に、まずはBloggerに今までのBlogを集約してみようと思います。
今までのBlogは
  • ココログ(@nifty) : ダイエット日記、日常、Windows系の技術情報
  • FC2ブログ1 : 日常
  • FC2ブログ2 : ダーツ日記
の3つです。まずは、それぞれのBlogからBloggerへの移行方法を調査してみます。

ココログ

ココログのデータはMovableType形式でexportできるので、それをBloggerに取り込めばOKです。
  1. ココログのFAQを参照して、ココログのデータをexportします。(※写真はexportされず、ココログへのリンクがそのまま残ります。)
  2. MovableType2Blogger conversion utilityを使用してファイルを変換し、Bloggerの「設定 / その他 / ブログ ツール」を使って変換したデータをimportします。(※1MBまでのデータのみコンバートできるようです。)
  3. 写真ファイルをココログからダウンロードし、Bloggerの記事を修正して投稿します。
一部、文字化けなど(特にコメント)がありましたが、概ね問題なくimportできました!
モツウラさんのこちらのエントリーが参考になりました。ありがとうございます^^

FC2ブログ

FC2ブログも基本的にはココログと同様に、MovableType形式のexportデータを取り込めばいいようですが、一部追加の作業が必要になりそうです。
  1. FC2ブログの管理ツールから、記事をexportします。
  2. 文字コードを確認し、UTF-8以外であればUTF-8に変更して保存します。
  3. exportしたデータの日付部分を、24時間制のJST表記から、12時間制のUTCに変更します。私はPythonでScriptを書いて変換しました。もし機会があれば、公開します。
  4. 後は、ココログの2.以降と同じようにファイルを変換して、importするだけです。
    ※FC2ブログからexportしたデータだと、コメントが上手く反映されませんでした。どうやら、タグが微妙に違うらしい…。私は不要なので全部削除してしまいましたが、Convert scriptで修正できるようにしたいところです。
色々調べてみると、ブログの引越しって意外と面倒だという事が判明…。しばらくはBloggerで運用してみようと心に決めました。

2012年1月18日水曜日

もうすぐ入籍

また久しぶりの更新ですw

前回の更新から色々ありまして…来月入籍することになりました。(途中、端折りすぎ?w)去年の12月に、三宿から新百合ヶ丘に引っ越して、家も1LDK→3DKになりました^^ そして家賃は半分まではいかなくても、だいぶ抑えられました!

そんなワケで、これからお金をどう管理していこうか話し合いつつ、クレジットカードの整理をしています。前に紹介しましたが、2年ほど前に作ったANA Amexゴールド、マイルは貯まるしサービスは文句無いんですが、飛行機に年1回乗るか乗らないかの生活の自分では活かしきれないようで…^^;

次のメインカードは、定番の三井住友VISAカードにしようかと考えています。プロパーなのでオールマイティに使えるし、使い続ければ、上位カードへの招待も来るかもしれないですしね!他にも色々決めなきゃいけないことがいっぱいです。少しずつ、頑張っていかないとな!

2011年2月1日火曜日

久しぶりに

久しぶりに日記の更新!
去年の4月に三宿に引っ越してきてから、もうだいぶ慣れましたね~。
すっかり自分の家になった感じです。

去年から今年にかけては、色々あったかな。

2010年
6月:会社の組織変更に伴い、再度メンバーへ戻る。
8月:今の彼女との付き合い始め。
9月:自動二輪免許取得の為、教習所開始
11月:自動二輪免許取得
12月:クリスマスのケーキうまかったw
2011年
1月:バイク契約!
去年は1年中、色々なイベント尽くしだったかも。
今年はまた違った事が色々ありそうだけど、いい方向に進むように頑張っていきます^^
ブログの更新も…バイクの事をたくさんアップして行こう!

2010年4月18日日曜日

帰宅~そして、飲みw

六本木から帰宅しました!
友達の紹介で初めて会った人でしたが、保険の話だけじゃなくて、仕事の話なども色々できて楽しかった~^^

で、帰宅した訳ですが、帰りがけに初めて行くスーパーに寄って来ました。
結構安いし、品数も多いし。。。ここは当たりかも!?
真鯛の刺身とビールなどを買い込んで帰宅です。
今は飲みながらテレビ見てるけど。。。PCのセットアップ頑張らないとな!

ってことで、これから頑張ります!
来週の週末は出社かな~。

六本木へ

今日はこれから知り合いの人に保険の話を聞きに、六本木へ行ってきます。
その後は早く帰ってきて、PCセットアップ頑張らねばっ!

2010年4月14日水曜日

住所変更などなど

今日は午後半休で世田谷区役所(三軒茶屋分庁舎)と警察署に行って、転入届と免許証の住所更新完了!
帰りに無印に寄って、風呂用の椅子・洗面器・手桶を買ってきました。
もうちょっとこだわりたい気もしたけど、全部合わせても2,000円しないので、とりあえず購入。
後は、銀行やクレジットカード系の住所更新を、ネットでやる予定です。

これから渋谷で飯食った後、新卒用の研修内容を考えたり、仕事もしないとなぁ…。
午後半休とは言え、実際はあんまり休めないのが辛いところです。

そして、荷解きが全然終わってなかったり…w

2010年4月11日日曜日

近況、他

また1年以上更新の間隔が空いてしまいました...w

この1年(と言うか、2010年3月~4月がほとんど)はかなり大きな変化がありました。
人事異動によるマネージャへの昇進、引越し、などなど。
やっと、最近になって色々な物が落ち着いてきた感じです。

そんな訳で、色々と自分へのタスクをまとめてみました。
上から優先度が高い順に並べてます。
・荷解き(まだ引越しのダンボールがいっぱい^^;;;)
・ANA Amexカードの申請
・読書(はじめての課長の教科書、減らす技術)
・自宅付近のお店やスポットを記録するブログやウェブサービスの検討(iPhoneからも更新できること)

ANA Amexカードは、マイルを貯めて旅行に行く為に作ってみようと思ってます。
色々なクレジットカードの比較サイトを見て回っても高い評価だし、デザインも気に入りました。

さて、今日中にまずは荷解きを終わらせてしまおう!

2009年6月10日水曜日

2009/06/09の身体

体重 : 67.2kg
体脂肪率 : 23.8%

3年ぶり位の更新ですw
今日は会社の健康診断でした。
今年から診断項目がぐっと増えて「胃X線」や「腹部超音波」を初めて体験しました。
結果、割とショックな事が。どうやら胆のうに5mmくらいのポリープがあるそうですorz
ネットで色々調べたところ、5mmくらいではほぼ心配がないということですが、念の為に半年後くらいに、再度検査を受けてみようと思います。(問題がなければその後は1年毎くらいに)
そろそろ身体のメンテナンスも必要な時期かもなぁ。

そして、久しぶりの体重と体脂肪率。正直ヤバイ。
ブログを見てみたら、4年前から5kg以上太ってるね…。
食事制限を本気で始めます…(´・ω・`)

2009年3月3日火曜日

めっちゃ久しぶりに

日記を書いてみた。1年ちょっとぶりかぁ…。
とりあえず、新しいテンプレートに変更して、しばらく様子を見てみます^^