Poderosa で ウインドウ自動分割オプションを止める。
2007/02/09 13:04 posted by kunkichi
僕が日ごろ使っているターミナルソフトは
なんですが、両方とも複数セッションをタブで管理できるのがお気に入り。
特にPoderosaは一つのウインドウを分割して複数の接続画面を見れるので、ログを tail -f で流しつつ、コマンド実行なんてのを一つの画面で見れるのですごい便利。TeraTerm に戻る気がまったく起きません。
ただし、一点だけ個人的には難があって、ウインドウ枠の上下左右のちょうど真ん中にカーソルを合わせると、ウインドウを分割するためのラインが表示されてそこをクリックすると分割されてしまう。出力結果をコピーしたい場合なんかにそこにカーソルを合わせると分割ラインが表示されちゃうので、すこしスクロールさせて選択しなきゃいけない。これが不便で不便で。
バージョン落とそかなぐらい思っていたのだけど、設定で回避できることがわかったのでメモ。
「ツール」→「オプション」→「操作」から「ペイン分割時の修飾キー」をデフォルトの「なし」から「Shift」「Alt」「Ctrl」のどれかに変更。
これで指定したキーを押しながらでないと分割できなくなります。あー、やっぱり手放せない(笑
Category: Server | コメント&トラックバック(0)
which, whereis, find, locate の違い
2007/02/08 22:06 posted by kunkichi
自宅サーバ用にCentOSのインストール手順について調べていたら、結構な数で locate コマンドのデータベースを作ってる人が多いんだよね。locate コマンドって「ファイル検索」系のコマンドってことだけは知ってたんだけど、ほとんど使ったことがなくて、検索する時はいつも大体こんな感じ。
- ファイル検索・・・find
- コマンド検索・・・which
で気になったのでこれらの検索系コマンドがどう違うのか調べてみた。
- (コマンドも含めた全ての)ファイル・ディレクトリの検索
- find
ファイル名・ディレクトリ名を検索。
ただし、ベタにディレクトリ配下をなめるような検索を行うので時間がかかる場合あり。
- locate
ファイル名・ディレクトリ名を検索。(ここまでは find と一緒)
予め検索結果のデータベースを作成しておくので検索が高速。
ただし、データベース更新の後にファイルの移動とかを行うと、再度更新しないと反映されない。
よって定期的な更新が必要。
なるほどね。ついでにwhich、whereisとの違いは。
- コマンド(つまり実行権があるファイル)の検索
- which
コマンドへのパスを表示する
- whereis
コマンドのバイナリ・ソース・マニュアルのパスを表示する。
ということらしい。あんまり考えずにベタな方を使ってるってことか、爆
Category: UNIX, Server | コメント&トラックバック(0)
MacPortsでNagios
2007/01/08 10:22 posted by kunkichi
お休みも終わってしまい、がんばって仕事モードに戻るかー、と気合いを入れようと思いきや、いきなりの連休でまたもやダメ人間へと突き落とされています(笑)が、気を取り直して、前々から勉強しようと思っていたサーバ監視ツール Nagiosのインストールを Mac でやってみました。
ちなみに、仕事でやってるサーバの監視はこんな感じ。
- 死活・稼働監視
SNMPと自前スクリプトでサーバの死活監視、サービスの稼働監視。
- 経過監視
SNMPで取ったデータをMRTGでグラフ化。
よそはどうやってるのかあんまり知らないけどまあ一般的なやり方なのかなぁ。
でも、SNMPでトラップ拾えないものもあるし、新しいサービス追加するたびに自前スクリプト書くのも面倒だし、ってな感じで不便さも感じてきたので、最近流行のNagiosをうちに余っていたiBook(G3/800MHz OSX 10.4)でまずは実験。
まず、Nagiosは、
- Nagios本体
監視のスケジューリングや監視結果の処理
- プラグイン
実際の実際の監視を行うコマンド
という構成になっていて、いろんなサービスを監視するためにはそれ用のプラグイン(コマンド)が必要、言い換えるとそれぞれのサービスのライブラリやコマンドをインストールしなければいけない。OSXのデフォルトではいろいろと足りなさそうなのだけど、いちいちビルドするのは面倒なのでここはMacPortsで端折ることにする。
↑を参考にしてまずMacPortsをインストール。調べてみると、なんだ、MacPorts自体にNagiosが既にあるやん。ということでMacPortsでそのまま入れることにする。
$ sudo port install nagios
※もしこれを参考にする人がいたら、ここですぐ実行せずに下まで読んだほうが時間短縮されるかも。
これで依存関係のあるライブラリも全て自動的にインストールされる。
と、おもったら、
---> Building XFree86 with target World
---> Staging XFree86 into destroot
---> Installing XFree86 4.5.0_2
---> Activating XFree86 4.5.0_2
Error: Target com.apple.activate returned: Image error: /usr/X11R6/include/DPS/ColorSB.h already exists and does not belong to a registered port. Unable to activate port XFree86.
Error: The following dependencies failed to build: gd2 XFree86 freetype zlib jpeg libpng nagios-plugins fping p5-crypt-des perl5.8 p5-digest-hmac p5-digest-sha1 p5-net-snmp openssl
Error: Status 1 encountered during processing.
依存関係にあると思われるXFree86のインストールでなんかコケてる。ググってみたら↓を見つけた。
http://trac.macports.org/projects/macports/ticket/6188
どうやら -f つけて強引に突き進めばいいらしい(爆
まあ、いいや、XFree86 だけ先にいれちゃおう。依存してるパッケージもわかったし。
$ sudo port -f uninstall XFree86
$ sudo port -f install XFree86
$ sudo port install Nagios
ちなみにXFree86のビルドにかなり時間がかかりました。でインストールの最後にいろいろメッセージが出るのでその通りやってみる。
- まず、/etc/httpd/httpd.conf の 「ScriptAlias /cgi-bin/ “/Library/WebServer/CGI-Executables/」の記述の上に以下のエントリを追加。
#
# Nagios stuff
ScriptAlias /nagios/cgi-bin/ "/opt/local/sbin/nagios/"
<directory>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /opt/local/etc/nagios/htpasswd.users
require valid-user
</directory>
Alias /nagios "/opt/local/share/nagios"
<directory>
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</directory>
# End Nagios stuff
#
設定変更を反映するためにapacheを再起動。
$ sudo apachectl restart
- 次に /opt/local/etc/nagios にNagiosの設定ファイルを準備。
$ cd /opt/local/etc/nagios
$ sudo mkdir sample
$ sudo cp *.cfg-sample sample/
$ for i in *cfg-sample; do sudo mv $i `echo $i | sed -e s/cfg-sample/cfg/`; done;
commands.cfgとか編集しろ、って書いてあるけど最低限のコマンドは書いてあるようなのでここではパス。とりあえず設定ファイルのテストだけしてみる。
$ sudo nagios -v /opt/local/etc/nagios/nagios.cfg
以下のようにエラーが出なければOK。
Total Warnings: 0
Total Errors: 0Things look okay - No serious problems were detected during the pre-flight check
- /opt/local/etc/nagios/cgi.cfgの管理者ユーザ設定を”nagiosadmin”に変更する。
authorized_for_system_information= nagiosadmin
authorized_for_configuration_information= nagiosadmin
authorized_for_system_commands= nagiosadmin
authorized_for_all_services= nagiosadmin
authorized_for_all_hosts= nagiosadmin
authorized_for_all_service_commands= nagiosadmin
authorized_for_all_host_commands= nagiosadmin
- 先ほどの管理者ユーザでapacheのBASIC認証ができるようにする。
$ sudo htpasswd -c /opt/local/etc/nagios/htpasswd.users nagiosadmin
- 最後にNagiosが自動起動するように設定して
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.nagios.plist
Nagiosを起動。
$ sudo /opt/local/var/nagios/nagios.init start
これでインストールは完了。ブラウザから”http://IPアドレス/nagios”を参照してNagiosのTOP画面が見えればとりあえずインストールはできてるはず。

まあ監視対象サーバの設定は一つも設定してないのでデフォルトだとNagiosがインストールされているlocalhost(つまりiBook)しか設定がないのだけど、それはまた後日。
Category: UNIX, Mac | コメント&トラックバック(2)
cron(crontab)で月末で指定する方法 - ぎじゅっやさん
2006/12/29 23:59 posted by kunkichi
ぎじゅっやさんよりcron(crontab)で月末で指定する方法 - ぎじゅっやさん
55 23 28-31 * * /usr/bin/test $( date -d '+1 day' +%d ) -eq 1 && /path/to/
で↑はbashの場合。shの場合は、
55 23 28-31 * * /usr/bin/test `date -d '+1 day' +%d` -eq 1 && /path/to/script
だね。プログラム側で判断しなくてよいのでちょい便利。
ちなみにSolarisの標準のdateじゃできないね、shellutilsインストールしないと。あ、でもSolaris10だとできるのかも。
Category: UNIX | コメント&トラックバック(0)
PHPでリモートデバッグ
2006/12/09 18:19 posted by kunkichi
昨日は仕事を午前休もらって、アシアル株式会社主催のPHPセミナーに行ってきました。もちろん無料セミナー(笑。
で今回のテーマは「PHPで快適デバッグ」。
PHPのデバッグ、というかWebアプリのデバッグは、例えばVisual Studioなんかを使ったデバッグとはちょっと違って難しいところがある。例えば、スクリプトのある時点での変数の値を確認したいとする。
Visual Studio だと、
- 変数に値が入るところでブレークポイントを入れて処理をそこで止める。
- 確認したい変数にマウスを合わせると値が表示される。
って感じで簡単にできるのだけど、Webアプリケーションとなるとこれが一気に難しくなる。
- 変数に値が入るところで exit 入れたりして処理を止める。(ループがネストしていると大変、、、)
- 変数を画面に出力するように print_r やら var_dump で処理を入れる。(後で消すのを忘れて本番にそのままいっちゃったり、、、)
こんな感じでとても原始的な上に後でめんどくさくなるやり方をするパターンが多い。というのもWebアプリでは処理はサーバ側で実行されるので、サーバ側で制御してあげないといけない。ローカルPCで Visual Studio を使うようにはいかないのだな。
ということで、DBG + DBGListener + DBGクライアント(PHPSimpleDebugger) を使った手法の説明がメインでした。簡単な図で表すと、

1. ブラウザからリクエストにデバッグ用変数をくっつけて送信。
2. デバッグ用変数に含まれているクライアントにデバッグ情報を送信。
3. DBGListnerがデバッグ情報を受けてDBGクライアントを起動。
4. DBGクライアントからデバッグ実行。
5. DBGListener経由でサーバにデバッグ命令を送信。
6. デバッグ命令を元にブラウザにレスポンスを返す。
試してないのでちょっと間違ってるかもしれないけど、要はサーバとクライアントでデバッグ用のポートを別途用意して、デバッグ情報や制御をそこで行うと。これでIDEライクなデバッグができるという訳。昔DBGを試してみたことはあったのだけど、リモートではうまく動かなかったのでそこで諦めてたんだよね。SSHでトンネル貼れば本番環境でもデバッグできそうだし。早速会社で試してみようっと。
あとDBG以外にもいろいろ面白いのがありました。
- Pear::Var_dump
var_dumpの出力結果を奇麗に表示してくれるPEARライブラリ。
- dbug
こちらも同じ。JavaScriptで折りたたみとかできるみたい。
- Xdebug
DBGと同じぐらい高機能なデバッグモジュール。
- Gubed
PHPで書かれたデバッグライブラリ。Firefoxのエクステンションと連動するらしい。
- WinCacheGrind
Xdebugで出力されたプロファイリング結果を表示するアプリ。
Category: PHP, Server, Web | コメント&トラックバック(0)
activeCollabがさくらにインストールできない件について
2006/11/30 23:56 posted by kunkichi
前のエントリでphp5をインストールしたので、やっとactiveCollabを試せると思っていたのに、インストールしてみると、、、
InnoDB storage engine is not supported.
さくらのmysqlってInnoDB非対応なのね、、orz
うーん、どうするかなあ、、、
【追記】
InnoDBじゃなくてMyISAMでは動かないのかなぁと思って、本家サイトのフォーラムをのぞいてみるとFAQ化していた様子、、、自分にorz
It should work, but I strongly recommend using InnoDB because activeCollab uses transaction to keep data in sync and recover from errors. Its that important that I’d say that InnoDB is requirement, but you can use MyISAM at your own risk.
To use MyISAM do what gog said in the previous post (open install/installation/templates/sql/mysql_schema.php and replace every occurance of ENGINE=InnoDB with ENGINE=MyISAM).
うーん、一人で使うつもりだから、とりあえずソースいじって使ってみるかな。
Category: PHP, UNIX, Server, Web | コメント&トラックバック(3)
さくらでphp5(pearエラー対応)
2006/11/30 20:01 posted by kunkichi
さくらインターネットでphp5をインストールする手順はたくさんの人が書いているけど、それらを参考にphp-5.2.0をインストールしてみたところ、make installでpearのエラーが発生する。
ということでググってみたところ、琥瑠璃どっとこむ:さくらのレンタルサーバーへPHP5.2.0をインストールでやっぱり指摘されていたので、それに従いインストール。
うちのconfigureオプションはこんな感じ。
# export PHP_PEAR_CACHE_DIR="$HOME/local/php-5.2.0/pear/cache"
# ./configure ¥
--prefix=$HOME/local/php-5.2.0 ¥
--program-suffix=5 ¥
--with-pear=$HOME/local/php-5.2.0/share ¥
--with-config-file-path=$HOME/local/etc/php5.ini
--enable-force-cgi-redirect ¥
--enable-mbstring=all ¥
--enable-mbregex ¥
--enable-mbstr-enc-trans ¥
--enable-versioning ¥
--enable-trans-sid ¥
--with-mysql ¥
--with-openssl=/usr ¥
--with-soap=yes ¥
--with-zlib=/usr ¥
--with-gd=/usr/local ¥
--with-jpeg-dir=/usr ¥
--with-freetype-dir=/usr ¥
--with-ttf ¥
--with-png-dir=/usr ¥
--with-curl ¥
--with-iconv=/usr/local
ちょっと冗長なところもありますが、細かいことは気にしないタイプなので、爆。
これでactiveCollabを試してみたいと思います。
Category: PHP, UNIX, Server, Web | コメント&トラックバック(0)
さくらでvim
2006/11/26 18:25 posted by kunkichi
うちのサイトはさくらインターネットのスタンダードプランを使っているのだけど、スタンダードプランで使えるssh/telnetをもちょっと便利にするために以下のサイトを参考にvimを入れてみた。
p0t: vim on sakura internet
.vimrcははてな技術発表会を参考に。
Category: UNIX, Server | コメント&トラックバック(0)
Page 8 of 8« First...«45678
2012/02/05/ 10:17
2012/01/04/ 07:43
2011/10/06/ 10:13
2011/10/06/ 07:03
2011/10/06/ 06:46