カテゴリー ‘ Unix

ASP.NETをDockerで動かしてみた

今までFreeBSDばっかり使ってきたけど、Dockerとかの話題を聞いていると、そろそろLinuxも触らないとなぁ。と思いつつ、
なかなかやる時がなかったんだけど、ASP.NETがLinux上で動くようになったと言うことで、Docker環境を作って試してみました。

そもそものDocker環境を作るところはいろんな記事があったので、そちらを参照してもらうとして・・・

環境が出来たところで・・・・

# docker run -i -p 5004:5004 -t microsoft/aspnet /bin/bash

以下はDockerの中で

# apt-get install wget
# cd /tmp/
# wget https://github.com/aspnet/Home/archive/master.zip
# unzip master.zip
# cd Home-master/samples/HelloMvc/
# kpm restore
# k kestrel

あとは、「Dockerが動いているマシンのIPアドレス:5004」で見慣れたASP.NET MVCの画面が表示されます。
終了するときは、Ctrl-Cでいいみたいなんだけど、手元の環境ではCtrl-Zでサスペンドして、kill %1で殺しました。

現象としてはこのあたりとにてるんだけど、Macじゃないんだよね。

今まではmonoを入れたりいろいろしてたけど、意外とさらっと動きましたね。
まぁ、Dockerのおかげなのかもしれないけど。

FreeBSDで pf で NATを使って jailを運用する

pkg/portsの依存関係が多いときとかにjail使ったりするのでmemo

そこでpfを使ってNATを構築してみました。jailをプライベートIPで外へ出ていくパケットをNATでグローバルIPに変換してやろうという考え方です。

いろいろ試行錯誤してみましたが、結論からいうともう1つIFを作るのが手っ取り早いようです。とりあえずlo1を作ります。

引用元: FreeBSDで pf で NATを使って jailを運用するメモ | 元祖ワシ的日記 4.0.

RedmineをSAML認証に対応させる

RedmineをSAML認証に対応させ、SSO出来るようにするmemo

OpenAM 11と連携させた時の設定例です。
Redmineは2.0.0以上である必要があり、正常に動作していることが前提

Ruby とか Rails とか全然わかってないので、とりあえず動いたって言うレベル

  1. GitHubから、以下のプラグインをダウンロードし、pluginsディレクトリに展開します。
    chrodriguez/redmine_omniauth_saml · GitHub.
  2. bundle installを実行し、依存関係を解決します。
  3. Redmineのルートディレクトリで、以下のコマンドを実行
    setenv RAILS_ENV production
    rake redmine:plugins
  4. 展開した中にある sample-saml-initializers.rb を Redmineのルートディレクトリにある
    config/initializers へ saml.rb としてコピー
  5. saml.rb を編集
  6. Redmineのインスタンスを再起動
  7. Redmineの管理 → プラグイン → Redmine Omniauth SAML plugin で必要に応じて設定する

saml.rbは以下の感じ

RedmineSAML = HashWithIndifferentAccess.new(
	:assertion_consumer_service_url	=> "http://redmine.example.local:9000/auth/saml/callback",
	:issuer							=> "http://redmine.example.local:9000/",
	:idp_sso_target_url				=> "http://openam.example.local:8080/OpenAM-11.0.0/SSORedirect/metaAlias/idp",
	:idp_cert_fingerprint			=> "DE:........:33", # SSL SHA-1 fingerprint
	:name_identifier_format			=> "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
	:attribute_mapping				=> {
		:login		=> 'extra.raw_info.EmailAddress',
		:firstname	=> 'extra.raw_info.givenname',
		:lastname	=> 'extra.raw_info.sn',
		:mail		=> 'extra.raw_info.EmailAddress'
	}
)

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :saml, RedmineSAML
end

 

 

アーカイブ

2017年10月
« 3月    
 1
2345678
9101112131415
16171819202122
23242526272829
3031