※ パクレゼルヴではWeb開発エンジニアを大募集中!詳細はこちら

Archive

Archive for the ‘Tips’ Category

ProxyCommandを使った踏み台サーバー経由のssh接続  

2009/3/1 日曜日 2:54:29

MacやLinuxなど、sshクライアントにsshコマンドを使っている方のためのお話

夜間や休日で緊急事態のときは家からリモートメンテナンスを行うことがあるかと思います。
その際に、インターネットからサービスを行っているサーバーに直接sshでログインできるようにしておくのは不安がありますので、社内の特定のサーバーからのみ許可するようになっていることがあります。

この様な運用形態の場合、一度社内のサーバーにログインして、それから再度 sshコマンドで対象となるサーバにログインすることになり、一手間増えてしまいます。
できればワンステップでログインしたいところです。

sshコマンドにオプションをつけることで、ワンラインでログインできます。

ssh -o 'ProxyCommand ssh ユーザ名@中継サーバー nc %h %p' ユーザ名@ターゲットサーバー

これで一度にログインできるのですが、ProxyCommandと毎回入力するのは面倒なので、できれば更に短くしたいところです。

ローカルの ~/.ssh/config に以下のように記述しておくことで一度にログインできるようになります。

Host ターゲットサーバー
ProxyCommand ssh ユーザ名@中継サーバー nc %h %p

ターゲットサーバー名はワイルドカードが使えますので、*.xxxx.jpのような指定が可能です。

これで、

ssh ユーザ名@ターゲットサーバー

だけでログインできるようになります。

MacでSFTPおよびSCPクライアントを使用する場合は、Fuguを使用すると、~/.ssh/configに記述した内容を解釈し接続してくれます。
現時点ではCyberduckは中継をサポートしていませんので、Fuguを使用するとよいでしょう。

マカー Tips, ssh

docomoの絵文字  

2009/2/27 金曜日 10:38:32

つい最近までdocomoの絵文字は色つきで表示されないのかと思ってた。
わざわざ絵文字毎に色を指定して表示させていたのですが、
どうやらbodyタグのstyleにcolorで色指定してあると、その色が適応されてしまうようです。

ということで、bodyタグにcolorは指定しないようにしましょう。
色考慮しなくていいので、開発が楽になりました。
そんなdocomo。

下音タヌキ Tips, 携帯電話

PHPでBOM付きUTF-8  

2009/2/25 水曜日 12:36:06

お久しぶりです
のびーにょです
ちょっとはまったのでTips的に

ZIPをダウンロードさせるプログラムを書いてました。
右クリックして保存。とかじゃなくてアクセスしたらダウンロードするような奴です。

で、サーバ側でZIP生成してそれをダウンロードさせようとしてたんですがファイルサイズはサーバに保存した内容と同じぐらいなのに解凍すると中身が少ない・・・

解凍ソフトはLhaplus使ってたんですがWINRARとか使って解凍すると中身が全部ある という現象が発生。

色々調べてたんですけど結局わからず・・・
みたいになってバイナリエディタで比較してみると・・・

先頭に何やらついてますね・・・
EF BB BF
ってのが3つぐらい

これBOMのエンディアンじゃないですか・・・

ソース調べてみるとBOM付きUTF-8で保存されてるファイルが3つ・・・

まさにこれじゃないですか・・・

BOM無しUTF-8で保存しなおして実行すると何事もなかったかのように解凍できる

PHPでBOM付きUTF-8は使わないに越したことはないというお話でした

http://bugs.php.net/bug.php?id=22108

まだバグなおってないみたいだしね・・・

のびーにょ PHP, Tips, その他

存在するファイルはスルーしたい(mod_rewrite)  

2009/2/7 土曜日 17:21:05

mod_rewriteのお話。
ファイルが存在する場合はそのファイルを表示し、存在しない場合はindex.phpを表示するようにしたい。
よくある例が以下のようになっているるのですが、実際にはうまく動かないことがあります。

RewriteEngine on
RewriteBase /
# ファイルが存在しない且つ、ディレクトリが存在しない場合は、index.phpを表示
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^$ /index.php [L,QSA]
RewriteRule ^(.*)$ /index.php?jb=$1 [L,QSA]

以下のように書くと期待通りに動作します。

RewriteEngine on
RewriteBase /
# ファイルが存在するか、ディレクトリが存在する場合は、そのファイルを表示する
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]
# ファイルが存在しない且つ、ディレクトリが存在しない場合は、index.phpを表示
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^$ /index.php [L,QSA]
RewriteRule ^(.*)$ /index.php?jb=$1 [L,QSA]

これで目的は達成されるのですが、最初の例でなぜうまくいかないのか納得できないのです。
この挙動について説明できる方がおられれば、ご教授いただけると幸いです。

マカー Apache, Tips

WinVistaはダメな子じゃない!・・はず  

2009/1/30 金曜日 15:46:36

そろそろ仕事用のパソコンでWindowsVistaを使われる方々も増えてきているのではないこと思う今日この頃。
大抵、メーカーのPCってパーテーションが区切ってなくてCドライブしかない!という状況でお困りの方、Vistaにはパーテーションを区切る機能が付いてるので、それをご紹介。

パーティションサイズの変更は、コントロールパネルの「システムとメンテナンス」→「管理ツール」にある、「コンピュータの管理」から行うことができます。
左側の、「ディスクの管理」を選択して、分割したいドライブを右クリックして、「ドライブの圧縮」から容量を指定して分割することができます。
ただし、Vistaを使用してから結構時間がたってると、HDDのいろんな場所にデータが書き込まれていて、選択できる容量が少ない場合がありますので、事前にデフラグ等をして整理すると多少改善されます。
ベストは、使い始めに区切っちゃうのが一番なんですけどね。

メーカー物のPCでパーテーション切ってないものとか少なくないので、これからの時代を生き抜くに覚えておいて損はないかも・・?
Windows7でもたぶん搭載されてると思いますし。

と、本日でVista誕生から2年が経ったんですね。

下音タヌキ Tips