harry’s memorandum

おれおれメモ

シェルスクリプトで三項演算子ぽいやつ

むむ、/etc/init.d/functionsを見ていたら。
三項演算子っぽいことシェルスクリプトでもできるのね。
この歳になって気づくとは情けねー。


でも、変数に代入する際にはどっちが使い勝手よいのか微妙。

status=1
[ true ] && ret=0

[ true ] && ret=0 || ret=1


デバッグ変数用意しておいて、というのは便利かも。

_infomsg() {
  [ x${__debug} = "x" ] && return 0
  echo "info: $1"
};

_errmsg() {
  echo "error: $1"
};

false && _infomsg  "1:おれ問題なし" || _errmsg "1:おれエラー"
true  && _infomsg  "1:おれ問題なし" || _errmsg "1:おれエラー"

__debug=1
true  && _infomsg  "2:おれ問題なし" || _errmsg "2:おれエラー"
false && _infomsg  "2:おれ問題なし" || _errmsg "2:おれエラー"


とりあえず便利だね。

おすすめ漫画 (ボクシング)

4月23日大阪城ホールで行われた「ボクシング・ダブル世界戦12回戦」での長谷川穂積をみていて本当に泣けてきた。
2005年にあのウィラポンをボコり、2006年にウィラポンとの再選でOK決めたり、当時、一体この男はどこまで強いんだと思いましたよ。敗戦は悲しいですが、よくよく考えればあれから10年近い歳月がたっていますから、さすがに全盛期の力はやっぱりないのでしょうね。

それに引き換え「はじめの一歩」は未だにリカルド・マルチネス戦までいかない。モデルのリカルド・ロペスはとっくに引退しているのに、チンタラしすぎです。

というので、ボクシング漫画を最近読みなおしているので、羅列しておきます。

はじめの一歩

1巻の2話目で鴨川会長と八木ちゃんの会話です。
「相変わらず派手じゃのォ世界はよ!」
「おやっ 会長 レナードとハーンズですか?」
今はメイウェザーやパッキャオのピークも過ぎてるのに、まだゴンザレスと試合させている鴨川会長の無能っぷりはバッシングしていいと思う。

神様はサウスポー ダイアモンド

神様はサウスポー DIAMOND 1

神様はサウスポー DIAMOND 1

ボクシング漫画に含めてはいけない双璧の「神様はサウスポー」の続編が出ていたとは。これはチェック漏れだ。え?もう打ち切りですか。もうひとつの双璧は「のぞみウィッチィズ」ですね。

シュガー

シュガー 1 (アッパーズKC)

シュガー 1 (アッパーズKC)

新井英樹のボクシング漫画は本当に素晴らしい。続編の「RIN」も傑作です。「シュガー」は個人的に、マコちゃんをボコるシーンが心の底から温まります。

続・翔んだカップル

続・翔んだカップル 6 (KCスペシャル)

続・翔んだカップル 6 (KCスペシャル)

翔んだカップルシリーズでも「続・翔んだカップル」だけはボクシング漫画だとオレオレ認定しています。メインはグズグズな恋愛話ですが、湿った感じがボクシング漫画としては良い雰囲気出しています。この時期の柳沢きみおの作品は「男の自画像」とか良いですよね。

ボーイズオンザラン

近年最高レベルのボクシング漫画です。4巻-5巻が完璧。サラリーマンアッパー、トラビスカット、青山くんとの決闘、新幹線ホームなど、すべてにおいて完璧でした。

ナックルウォーズ

衝撃のエンディングをみたとき、私はビールを2缶ほど空けなければ、心の動悸を止めることは出来ませんでした。

瞳孔が開くほど簡単にredmineを構築できる「Bitnami」 (2)

bitnamiネタで幾つか備忘録を残して置くつもりがすっかり忘れていました。
redmineAPIのテスト環境作るときに、複数テスト環境あると便利ですよね。bitnamiを使って1つのサーバーに簡単に複数redmineを作るTIPSを載せておきます。

構成

3つのredmineを1つのサーバーにインストールしてみます。以下はインストール先とポート番号です。最初のredmineがメインになります。

prefix http https mysql subversion
メインredmine /opt/release 80 443 33860 36900
サブredmine /opt/staging 80 443 33861 36901
サブredmine /opt/dev 80 443 33862 36902

インストール方法

メインredmineのインストール(/opt/release)

普通にインストールします。違うのはオプションでapachemysqlなどのポートを指定してインストールします。イントールが終わったらすぐにredmineのサービスを停止します。次のredmineをインストールする際にポートが衝突するからです。

$ ./bitnami-redmine-2.4.3-0-linux-x64-installer.run \
  --prefix /opt/release \
  --apache_server_port 80  \
  --apache_server_ssl_port 443 \
  --mysql_port 33860  \
  --subversion_port 36900 \
   --installer-language en

$ /opt/release/ctlscript.sh stop

こんな感じで次のredmineをインストールする際に、apacheやmysqやsubversionのポートを違うものにしてインストールすれば、1つのサーバーに複数redmineのインストールが可能です。

サブredmineのインストール(/opt/starging)

最初のredmineのインストールが終わったら2つ目をインストールします。

$ ./bitnami-redmine-2.4.3-0-linux-x64-installer.run \
  --prefix /opt/staging \
  --apache_server_port 80  \
  --apache_server_ssl_port 443 \
  --mysql_port 33861 \
  --subversion_port 36901 \
  --installer-language en

$ /opt/staging/ctlscript.sh stop

サブredmineのインストール(/opt/dev)

3つ目をインストールします。

$ ./bitnami-redmine-2.4.3-0-linux-x64-installer.run \
  --prefix /opt/dev \
  --apache_server_port 80 \
  --apache_server_ssl_port 443 \
  --mysql_port 33862 \
  --subversion_port 36902  \
  --installer-language en

$ /opt/dev/ctlscript.sh stop

設定方法

サブredmineapacheを起動しないようにします。

$ ls -l /opt/{staging,dev}/apache2/scripts/ctl.sh
-rwxr-xr-x 1 root root 2475 Feb 15 16:51 /opt/dev/apache2/scripts/ctl.sh
-rwxr-xr-x 1 root root 2491 Feb 15 16:47 /opt/staging/apache2/scripts/ctl.sh
$ mv /opt/dev/apache2/scripts/ctl.sh /opt/dev/apache2/scripts/ctl.sh.backup
$ mv /opt/staging/apache2/scripts/ctl.sh /opt/staging/apache2/scripts/ctl.sh.backup

メインredmineとサブredmineのサブディレクトリ名を変更

http://example/redmine -> http://example/release のようなURLでアクセス出来るようにします。修正は以下のように。

$ vim /opt/release/apps/redmine/conf/httpd-app.conf
<Directory "/opt/release/apps/redmine/htdocs/public">
    PassengerEnabled on
    Options -MultiViews
    AllowOverride All
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
    #SetEnv RAILS_RELATIVE_URL_ROOT "/redmine"
    SetEnv RAILS_RELATIVE_URL_ROOT "/release"
    PassengerAppRoot "/opt/release/apps/redmine/htdocs"
    <IfModule pagespeed_module>
        ModPagespeedDisallow "*"
    </IfModule>
</Directory>

#PassengerPreStart http://127.0.0.1:80/redmine
PassengerPreStart http://127.0.0.1:80/release

面倒なのでsedで編集すると楽です。

$ sed -i -e "s@\"/redmine\"@\"/release\"@g" -e "s@80/redmine@80/release@g" /opt/release/apps/redmine/conf/httpd-app.conf
$ sed -i -e "s@\"/redmine\"@\"/staging\"@g" -e "s@80/redmine@80/staging@g" /opt/staging/apps/redmine/conf/httpd-app.conf
$ sed -i -e "s@\"/redmine\"@\"/dev\"@g"     -e "s@80/redmine@80/dev@g"     /opt/dev/apps/redmine/conf/httpd-app.conf

Aliaseの設定を変更

$ vim /opt/release/apps/redmine/conf/httpd-prefix.conf
#Alias /redmine/ "/opt/release/apps/redmine/htdocs/public/"
#Alias /redmine "/opt/release/apps/redmine/htdocs/public"
Alias /release/ "/opt/release/apps/redmine/htdocs/public/"
Alias /release "/opt/release/apps/redmine/htdocs/public"

Include "/opt/release/apps/redmine/conf/httpd-app.conf"

これも面倒なのでsedで編集すると楽です。

$ ls -l /opt/*/apps/redmine/conf/httpd-prefix.conf
-rw-r--r-- 1 root daemon 161 Feb 15 16:56 /opt/dev/apps/redmine/conf/httpd-prefix.conf
-rw-r--r-- 1 root daemon 173 Feb 15 16:48 /opt/release/apps/redmine/conf/httpd-prefix.conf
-rw-r--r-- 1 root daemon 173 Feb 15 16:52 /opt/staging/apps/redmine/conf/httpd-prefix.conf
$ sed -i -e "s@Alias /redmine@Alias /release@g" /opt/release/apps/redmine/conf/httpd-prefix.conf
$ sed -i -e "s@Alias /redmine@Alias /staging@g" /opt/staging/apps/redmine/conf/httpd-prefix.conf
$ sed -i -e "s@Alias /redmine@Alias /dev@g"     /opt/dev/apps/redmine/conf/httpd-prefix.conf

Includでconfを統合

メインredmineのbitnami-apps-prefix.confでサブredmineのconfをincludeします。

$ vim /opt/release/apache2/conf/bitnami/bitnami-apps-prefix.conf
# Bitnami applications installed in a prefix URL
Include "/opt/release/apps/phpmyadmin/conf/httpd-prefix.conf"
Include "/opt/release/apps/redmine/conf/httpd-prefix.conf"
# add
Include "/opt/staging/apps/redmine/conf/httpd-prefix.conf"
Include "/opt/dev/apps/redmine/conf/httpd-prefix.conf"

redmineを起動

サブredmineから起動します。

$ /opt/staging/ctlscript.sh start
$ /opt/dev/ctlscript.sh start
$ /opt/release/ctlscript.sh start

メインredmineとサブredmineへアクセス

以下へアクセスできれば成功です。

アウトバンド管理 (Out-of-band Management)のメモ

アウトバンド管理というのが一般的なのか、リモートKVMスイッチというのが一般的なのかわからないけど、今まではHPのiLOシリーズを使っていたけど、DELLCISCOにも似たようなのがあるんだな、ということでメモをしておきます。

アウトバンド管理って何よ?

ハードウェアに組み込まれたリモートアクセスコントローラーです。大手のサーバーベンダーではLAN経由でアクセスすることが多いです。リモートから、BIOS/EFIを変更、リブート、仮想DVDでISOをマウントしてOSをインストール、インベントリ情報取得など、遠隔操作で色々できます。

Hewlett-Packard

HP Integrated Lights-Out (iLO)

f:id:dharry:20140212030750p:plain
http://h50146.www5.hp.com/products/servers/proliant/essentials/ilo-adv_sh.html
アイロと読みます。たまに業者さんがエルアイオーと言う時がありますが、どっちでもいい気がします。

CISCO

Cisco Integrated Management Controller (CIMC)

f:id:dharry:20140212030735p:plain
http://www.cisco.com/web/JP/campaign/123_ucsc/management.html
シスコのユニファイドコンピューティングシステムに搭載されているやつですね。

DELL

Integrated Dell Remote Access Controller (iDRAC)

f:id:dharry:20140212030800p:plain
http://www.dell.com/learn/jp/ja/jpbsd1/campaigns/dell-poweredge-idrac6
アイドラックと読むことが多いです。

IBM/Lenovo

Integrated Management Module (IMM)

f:id:dharry:20140212030952p:plain
http://www-06.ibm.com/jp/domino04/pc/support/Sylphd07.nsf/jtechinfo/SYJ0-0183244
使ったことがないのでよくわからない。

Fujitsu

Remote Management Controller (iRMC)
f:id:dharry:20140212030827p:plain
http://jp.fujitsu.com/platform/server/primergy/svs/pdf/maintain04-irmc-setting.pdf
これも使ったことがない。さくらの専用サーバはこれみたい。