唐紅に水くくるとは

通年チョコミントを食べたい

centOSにjdkをインストールする(tar.gz)

いっつも間違うし時間がかかるのでメモ。
alternativesの登録はまた時間があれば。

1. tar.gzファイルをダウンロードする。
2. インストールしたい適当な環境に置く。
3. 展開する。
tar xvf jdk-7u72-linux-x64.tar.gz -C /usr/lib/jvm
(/usr/lib/jvmディレクトリがないなら先に作っておく)
4. 展開先に「jdk1.7.0_72」がディレクトリができている
5. 環境変数の設定
> vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_72
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
を最終行へ追加

環境変数を適用
> source /etc/profile

いろいろネサフしてると、
「/etc/bashrc」を変更するという記述もあったのだけど、
「/etc/bashrc」だとjavaコマンドが認識されなかった。
(書く場所がよくなかったのかも。)

・「/etc/bashrcファイルには,全ユーザーに共通のエイリアスと関数が記述されている」
・「/etc/profileファイルには環境変数と起動プログラムが記述されている」
(引用元:Linuxキーワード - bashの設定ファイル:ITpro
らしいので、「/etc/profile」に書くほうが正解っぽい。

多謝!
CentOSにJava(JRE)を手動インストール – 海と写真と本が好きなシステム屋のブログ

正しい理解のためにシェルの中身も本当は読まなきゃいけない気がする…
Linux、「/etc/bashrc」とはなんぞや?|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~

環境とかサーバとか

難しい。

vagrantを使えばほとんどクリックだけでOSがインストールできるのだけれど、
それって難しいところを隠ぺいかしてくれているだけで、
自分が何かできるようになってるわけじゃないんだよなあ。

ハード系(とくにサーバインストールとか公開とか)に
強くなりたいな…。

と、回帰試験があるたびに思っている。

vagrantでcentOS6 (64bit版)

タイトルまま。

仕事でSMTPサーバが必要になったので、そのためのlinux環境をローカルに立てる。

1) vagrantインストール
2) virtualBoxインストール
3) vagrantの一覧からcentOS6 64bit版を選んでインストール

vagrant box add {box名_任意の名前} {URL} 

4) しばらく待つ
5) 適当なディレクトリで vagrant init {さっき指定したbox名}
6) vagrant up

プロキシ設定
仮想OSが上がってない状態で、
1) vagrant plugin install vagrant-proxyconf
2) しばらく待つ
3) Vagrantfileを修正
ファイルの最後に以下を追加
config.proxy.http = "http://USERNAME:PASSWORD@proxyhost:8080/"
config.proxy.https = "http://USERNAME:PASSWORD@proxyhost:8080/"
config.proxy.no_proxy = "localhost,127.0.0.1"
4) vagrant up
起動ログにプロキシの設定が出る(はず)

必要な設定がすでにされてるので、お手軽でよいなあ。

spring securityの<sec:csrfMetaTags/>タグを使った時の挙動変更

お仕事で、spring securityを使ったサーバサイドのアプリを作ったりしてます。
そこで、これまで(spring security 3.1系以前)以下のように書いてたものを
<meta name="_csrf_token" content="${_csrf.token}" /> <meta name="_csrf_headerName" content="${_csrf.headerName}" />
spring security 3.2?を使うに当たり以下に変更しました。
<sec:csrfMetaTags/>

出てくるMETAタグが当然変わるわけなんですが、
これを実行すると、「org.springframework.web.HttpRequestMethodNotSupportedException」が発生するところがある。

なお、変わる内容としては、 BEFORE:
<meta name="_csrf_token" content="トークンの値" /> <meta name="_csrf_headerName" content="X-CSRF-TOKEN" />

AFTER:
<meta name="_csrf_parameter" content="_csrf" /> <meta name="_csrf_header" content="X-CSRF-TOKEN" /> <meta name="_csrf" content="トークンの値" />

といった感じ。より厳密にいうと、
csrf_headerName→csrf_headerになったことにより、
HandlerMethodMapping#addMatchingMappingsの戻り値がnullになってしまっている。

参考になるかも?:
困ったこと・やったことを記録する: 警告: Request method 'POST' not supported

クロスサイトリクエストフォージェリ (CSRF) 対策 — Django 1.4 documentation
→formのサブミットに使ってるjsを修正するだけだった…

tomcat7でhttps通信の設定

テストでHTTPS通信させなければならなかったので、その辺の設定を下記に。 なお、ここでやるのはローカルで実験用につくるだけなので、 本格運用の際には暗号化などなど、もっと真剣にやらなきゃいけない。

参考; Tomcat で SSL の自己証明書を使用する方法 | Webセキュリティの小部屋 11. 認証方式 (3) | TECHSCORE(テックスコア)

【環境】 OS: windows7 AP: tomcat7.0.55 JDK:1.7.0_67(64bit)

【手順】 1) 「.keystore」を作る
* 証明書にあたるものをつくる
* コマンドプロンプトで[keytool]を実行。
* 質問事項はデフォルトのままエンターを押しまくる

keytool -genkey -alias tomcat -keyalg RSA -keystore .keystore

2)server.xmlを編集する
tomcat側の接続設定を修正する
以下の通り
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"/>

Apache Tomcat 7 (7.0.56) - SSL Configuration HOW-TO ↑に紹介されているのはすべてデフォルト値っぽい。
なので、不要な部分は書かなくていいようだ。

3)動作確認 https://localhost:8443/にアクセスしてみる

はてブ記法の修正

自分のメニューからプルダウン>設定を選択

左ペインの設定から編集モードを変更できる。

うーん、Markdownと見たまま編集と、いいとこどりしたいなー。 リンクのコピペとかは見たまま編集がすごく便利なんだけど。