2012年2月20日月曜日

RubyGemsのダウングレード

gem update --system 1.6.2
http://rubyforge.org/projects/rubygems/ダウンロード で存在するバージョンを調べて

[cakephp] DebugKitとQdmailを併用するときの注意

$this->Qdmail->cakeText()を使うとエラーが出る。 Fatal error: Class 'DebugKit.Debug' not found in /home/example/cakephp/app/controllers/components/qdmail.php on line 3821 Qdmailを呼ぶ前に$this->view = 'View'; をセットして強制的にQdmail側のエラーを防ぐ。

2012年2月14日火曜日

[centos] iptables 簡単設定

system-config-securitylevel
を使う。
プロトコルとして定義されていない任意のポートを開放する場合は、[その他のポート] にポート番号とプロトコル(tcp or udp)を "PortNumber:Protocol" の書式で設定する。
複数のポートを開放する場合の例は以下の通り。スペースをデリミタとする。
webminは10000:tcp tcpの時は無くてもOK
samba SWAT は 901:tcp
"system-config-securitylevel" ユーティリティーを利用すれば、"iptables" を手動で再起動する必要はない。

centos 6.xからはsystem-config-firewall-tuiに変わったので注意。

2012年2月10日金曜日

スドの設定

sudoers の編集は visudoを使います。
書式は ≪ユーザー≫ ≪ホスト≫ = (権限) ≪コマンド≫
hoge ALL=(root) /sbin/reboot
hoge ALL=(ALL) ALL 
hoge ALL=(ALL) NOPASSWD:ALL 

● コマンドの指定 実行を許可するコマンドはフルパスで指定する。
ディレクトリのみ指定すると、指定したフォルダの直下にあるコマンド全てを許可する。
ディレクトリ名の最後には、必ずスラッシュを付ける。 ただし、/foo/と指定した場合、/foo/bar/・/foo/bar/baz/などのサブディレクトリの下のコマンドは実行されない。

 ● 引数の制限
hoge ALL=(root) /sbin/shutdown 

のようにコマンド名のみを指定すると、shutdownコマンドに渡す引数はユーザーが自由に決められる。
hoge ALL=(root) /sbin/shutdown -r 

と引数を記述した場合は、 -r の後に別の引数を渡すことができない。 後続の引数を許したい場合は、
hoge ALL = (root) /sbin/shutdown -r * 

ワイルドカードを使うとよい。引数を使用させたくない場合は
hoge ALL = (root) /sbin/reboot "" 

"" を指定する ● パスワード入力 パスワード入力なしで実行させたいコマンドは
hoge ALL=NOPASSWD: /sbin/pkg_add

2012年2月6日月曜日

IEだけに表示させる。


<!--[if 条件式]>
(中身)
<![endif]-->

IE6 IE6だけで見える。
gte IE7 IE7以上で見える。
gt IE6 IE6より上のバージョンで見える。
lte IE6 IE6以下で見える。
lt IE7 IE7未満で見える。
!IE6 IE


<!--[if lte IE 6 ]>
<link rel="stylesheet" type="text/css" href="ie6.css">
<![endif]-->
IE6以下に反映される。

これはHTML文法上はエラーであるがこんなものもある。
<![if !IE ]>
   <p>この表示はIE以外のブラウザで見えます。</p>
<![endif]>

リンク画像の枠線を消す

<a><img /></a>とした場合ブラウザによっては画像の周りに青い枠がついてしまう。
これを取り除くには、スタイルシートの上の方に以下のスタイルを追加する。

img { border-style:none; }

a img { border-style:none; }

2012年1月25日水曜日

jquery 印刷ボタン

http://snippet-editor.com/2010/08/2way-print-css.html


$(document).ready(function(){
 $(".printer").click(function(){             // 印刷ボタンが押されたら
  $("body").addClass("print");            // body classに"print"を追加
  window.print();                         // 印刷を実行
  var timeout = setTimeout(function(){
   $("body").removeClass("print");     // body classから"print"を削除
  }, 1000);
  return false;                           // 終了
 });
});
  • 印刷しないパートをdisplay: none;で消す
  • 印刷するパートから不要なfloatなどを解除
  • 白い紙に印刷されることを踏まえて文字や背景などを調整
しておきます。ここまでは普通のprint.cssのやり方です。ここからさらに、
  • print.cssの内容全体を@media print { }でくくる
  • print.cssの各行の先頭にbody.printを追加する
この2点を加えることで、ここで記述した内容は画面表示には一切影響を与えなくなり、且つ、body classに"print"が付いていない場合はスタイルが適応されることもなくなります。

<p class="button"><a href="#null" class="printer scroll-off"><span>印刷ボタンのテスト</span></a></p>

php mysqlのdatetime型をformat

echo date('D, d M Y H:i:s', strtotime('2011-12-06 14:51:12');

>Tue, 06 Dec 2011 14:51:12

echo date('r', strtotime('2011-12-06 14:51:12');

>Tue, 06 Dec 2011 14:51:12 +0900

http://php.net/manual/ja/function.date.php

2012年1月20日金曜日

webmin SSH/Telnet Login のポートを変えるとか

Others
    + SSH Login

Module Configをクリックする
port to connect to を利用しているポートナンバーに変更して保存する。