技術

Let’s EncryptがパブリックβになったのでDockerでやってみた

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

Let’s Encryptがパブリックβになりました。

パブリックβ期間中は 7日間で5証明書/ドメイン(サブドメイン毎ではない) の制限 にご注意ください…orz 制限にひっかかると以下の様なエラーが出ます。

nginxのプラグインもあるみたいですが、コマンドのヘルプに buggy と書かれているので webroot方式 でやりました。

  • internet --> proxy --> backend という構成をDocker上で構成
  • プロキシ上でSSHを解いてバックエンドのhttpに流す構成
  • httpsを強制する(httpをhttpsにrewriteする)
  • le.btnb.jp というサーバーをLet’s Encryptで証明する

という構成で考えます。

read more »

技術

[Docker1.9]docker networkコマンドでコンテナ間リンク

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

small_h-dark
dockerでコンテナ間リンクは --link オプションを使うのが v1.8の公式ドキュメント にも書いていますし、よく紹介される方法でしたが、1.9 から追加された docker network コマンドを使えばもっと簡単です。

以下のようなリバースプロキシとアプリケーションサーバのよくある構成で考えます。

(internet) --<bridge>-- [reverse-proxy] --<nw1>-- [app1]

<> 内は docker network ls で確認できる NAME を記載しています。

read more »

技術

PowerShellでOutlookのメールを検索する

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

PowerShellでOutlookメールを検索するスクリプトサンプルです。
OutlookのAdvancedSearchというメソッドを使ってやってみたところかなり高速に動いてくれました。

read more »

技術

プログラミングに適した合成日本語等幅フォント Cica を公開します

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

cica_gvim

※Webフォント化して当記事に適用しています。

Ubuntu Mono Circle M+ 1mの合成フォントです。全体的に丸い感じの優しい等幅フォントになりました。
Ricty生成スクリプトをフォークしてまず作成。FontForgeで微修正して作成しています。
日本語混じりのコードサンプルは こちらの記事 で確認出来ます。(Crayon Syntax Highlighter で適用させています)

read more »

技術

PowerShellのリモートコマンドで共有フォルダなどを参照する

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

PowerShellでは、Invoke-Commandや、Enter-PSSessionなどリモートホストの操作が非常に簡単に出来ますが、デフォルトではリモート接続先から更にリモートコンピューターへのアクセスが制限されています。

例えば、

などとした時に、アクセス権があるはずなのに”アクセスが拒否されました”とエラーが出力されます。

これはWindowsがこういった接続(second hop)に制限を設けている事で発生します。これを回避する為の機能としてCredSSPという、権限の委任を許可したり許可してもらったりといった機能が存在しますので、それを有効にします。
read more »

技術

[PowerShell]複数の対象に並列でping

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

PowerShell版ping、Test-Connectionをバックグラウンドジョブとして実行することで並列化して、終わったら受け取る。という仕掛けです。

技術

[PowerShell]pingにタイムスタンプ追加

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

Windowsで作業をしていると時々pingを打ち続けるという事をします。そのpingですが、時々タイムスタンプも表示したいなと思うことがあるのですが、そういう時にPowerShellを使って以下のようにpingを実行するといい感じに出力できます。

これでpingにタイムスタンプが追加されます。Tee-Objectを併用すればエビデンス取りにも良いと思います。

PowerShellのコマンドレットにも標準で Test-Connection がありますが、pingコマンドのほうがシンプルで使いやすいので・・・

技術

Write-ProgressでPowershell自体が落ちる

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

※2012/02 原因が判りました。コンソールのフォントをラスティからMSゴシックに変更していた為でした…なんじゃそらー

以下のようなWrite-Progressを使ったスクリプトを実行するとPowershell自体がエラーを出して落ちるようになった。

色々試してみたら、コンソールのフォントをラスタフォントからMS ゴシックに変更しているからだと判明。。。

癖のようにコンソールのフォントを変えていたので全然気づかなかった…

ただ、落ちるようになったのがここ一ヶ月ぐらいの話なので、何かセキュリティパッチが影響している??

ちなみにバックグラウンドジョブも落ちる。

技術

Powershellでチャルメラを流す

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

バッチの終了をbeep音で知らせたい → beep音って音階あるのかな → C#とかだとBeep()関数で周波数と長さを指定できるみたい → あ、.Netでも出来るのね → じゃあPowershellで出来そうだ

で、出来た関数が以下。

2015-02-08 追記

Windowsの仕様変更で内蔵スピーカーから鳴らなくなってしまった上にレスポンスも悪くなってしまっていい感じに繋がらなくなってしまいました…

技術

Ubuntu Server11.04上でDjangoを動かす

Tweet about this on TwitterShare on LinkedInShare on FacebookShare on TumblrBuffer this pageShare on Google+

まとまった手順があまり見当たらなかったので公開。
Ubuntu Server 11.04が出ていたので、せっかくなのでこれでやります。
以下の構成です。

HW : VMware ESXi4
OS : Ububtu Server 11.04 x64
DB : SQlite3
WEB : Apache2
python実行環境 : mod-wsgi
IPアドレス : 192.168.0.111
初期ユーザー名 : django
プロジェクト置き場
/usr/local/djangoprojects
今回のテストプロジェクト
/usr/local/djangoprojects/testprj
静的ファイル置き場
/usr/local/djangoprojects/testprj/static
アクセスログ・エラーログ
/var/log/apache2

以下手順