テスト環境をいじる

修正モジュールと元のモジュールを入れ替えてがりがりやっていると、絶対途中で間違えてややこしいことになる。
こういう場合の、間違わずにすむ適当なスタイルを開発したい。

手動をできるだけ減らすのが目的。

どういう形がいいだろう。

よくやる行為としては、別環境でコンパイルしたモジュールを本番環境のしかるべき場所にコピーする。旧モジュールがあった場合には基本的に上書きだが、その際、旧モジュールをすぐに元に戻せるように、ファイル名の末尾に日付をひっつけたりして旧モジュールのバックアップを取っておく。
実行モジュールの上書きをする際には、該当するプロセスが実行されていないかどうか確認したりする。
この辺、手動でポチポチコマンドを打っているとどうしても間違えてしまう。間違えて、ひどい目にあってしまう。こいつをどうにかしたい。

課題としては
  • 複数ファイルを指定できる
  • 対象モジュールはデプロイ先をファイルごと個別に指定できる。
  • 指定したディレクトリが正しいかどうか、ファイルが存在しているかどうか確認できる。
  • 旧モジュールのバックアップをワンタッチでできる。
  • 新モジュールのデプロイをワンタッチでできる。
  • バックアップ先、リストア先を指定できる。
  • ワンタッチで新旧の交代ができる。
  • 個別ファイルの、新旧交代がワンタッチでできる
  • できるだけ、実行環境は荒したくない。
  • sshの外部スクリプトなどで実行できないか検討
  • 動作ログをとる。


関連キーワード:Linux,Java,開発,BASH

アマチュアとプロフェッショナル

プロとアマの違いって何かというと、仕事の出来不出来とかじゃないと思う。

だって、ソフトウェア業界では、しばしばアマチュア的作り方のソフトがプロプライエタリな製品と互角に張り合ったりどうかすると凌駕したりしている。
じゃあ何が違うのか。

要は、出来上がりに要求されるクオリティを、他人が決めるか自分で決めるかの違いだと思う。

プロは、使用できるリソースに制限があり、出来上がりに一定水準以上が求められる。リソースとは、お金であったり資源であったり労力であったり時間であったり、ね。
決まった予算と期限で、それなり以上のものを提供するのがプロ。予算と期限を決めるのは顧客である他人。出来上がりの水準を決めるのも他人である顧客。

アマも、リソースの制限があるのはおんなじだけど、アマチュアの場合は条件がある程度緩和される。
たとえばお金も資源もあまりないけど、時間だけはたっぷりかけられる、とか。たとえば同好の士をたくさん集めて労働集約してしまうとか。
そのかわり、出来上がりに対する水準も自分で決めるしかない。たいがいの人間は、人に厳しく自分に甘いので、まぁこの辺でいいやという程度の基準でおっけーとしてしまう。だからアマよりもプロのほうが、一般的にすごいとされている。

でもそれは、逆に言えば、基準さえ厳しく出来るならアマチュアでもよいものを作れるということ。

プロと違ってアマには収支をあまり気にしなくていいという利点がある。そういう意味で、プロとアマに上下関係はなく、本来は並列に語られるべきものなのだ。


と、いう電波を受信した。

mod_rewrite

adiary.cgiを隠したい

モジュールはインストールされているようだけど動いてない?
apache再起動しても反映されてない。なんでだろ。
RewriteEngine on にしてないから? 確認すること。
http://japache.infoscience.co.jp/rewriteguide/
http://blog.dawgsdk.org/weblog/archives/411011
http://bonsara.seesaa.net/article/20053081.html
http://www.nurs.or.jp/~sug/homep/rewrite/rewrite1.htm
動かなかった理由はすごく簡単。
httpd.confで、AllowOverrideがデフォルトでnoneになっていたから。
…ちゃんとチェックしないといけないよねー。

アクセスすると、強制的にhttpsへ飛ばしたい

mod_rewriteならできるはず。
http://www.aconus.com/~oyaji/tips/apache_tips1.htm

ImageMagick

画像のアップロードでサムネイルの自動生成ができるらしい。

インストールはyum一発。
[root@vps ~]# yum install ImageMagick

何の問題もなくインストールできたので、画像のアップロードを試してみる。
さて、これは何でしょうの記事ね。でも、これ最初のうちは小さくはならなかった。
どうもperlからImageMagickをキックしていないくさい。
さらにyum大活躍。
[root@vps ~]# yum install ImageMagick-perl
で、ご覧のとおりサムネイルが作成されるようになりました。
しかし、クリックした後もサムネイルが開いちゃうんだよな。これ、表示はサムネイルでクリック一発で実物が開くようにはならんかな。


関連キーワードyumImageMagick

SSLでオレオレ証明書発行

仕事場からいろいろblogに悪さ書きする場合、気になるのはサイトバレ
いまどきはどこの事業所も外のサイトに接続する場合はログをとっている。いろいろあるからね。
ログとられることに別に不満はないけど、書いている内容がばれちゃうのはちょっと嫌。

てことで、通信経路の暗号化を実施。


Apache+SSL環境を構築しよう(ThinkIT)を参考に

インストールはyumが動くので簡単
$ yum -y install mod_ssl
opensslが動いているかどうか確認。バージョンの出力があればOK
$  openssl version
秘密鍵の作成場所へ移動。httpdのconfigへ作る。
$ cd /etc/httpd/conf/
秘密鍵作成。genrsa RSA形式の秘密鍵作成 des3方式で暗号化 1024bバイトで生成。パスフレーズを求められる。
$ openssl genrsa -des3 1024 > server.key
reg CSRファイルの作成 -new 新規で -key キーファイル
$ openssl req -new -key server.key > server.csr
X.509形式のデジタル証明書の作成 -in CSRファイルを指定 -days 365日有効 -reg 入力ファイルはCSR -signkey 秘密鍵を指定
$ openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt
以下は、httpdの再起動ごとにパスフレーズの入力を求められないようにするための処置。
まず秘密鍵のバックアップを作成。
$ cp -p server.key server.key.bkup
以下のコマンドで、秘密鍵パスフレーズを解除。
$ openssl rsa -in server.key.bkup > server.key
で、httpdを再起動する。
$ service httpd restart
iptableshttpsをあけておくと吉。
$ iptables -L で確認
・
・
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:pcsync-https ←こんな行があればOK
・
・
https://snjx.org/でアクセスすると認証でエラーが出るけど、そこんとこはなんせオレオレ証明書だし、まぁ、それはそれなりに対処します。


関連キーワード:yum,ssl