ぼんずーず
Eclipse のRSE(Target Management)でリモート編集
- 2011-04-12 (火)
発端は,EclipseでScp・sftpかftpsしたいと思ったことでした。
よく紹介されている
FTP Plug-in for Eclipse
ではポート変更したsshに対応していない(ぽい)。
Port変更できるものを探して
最初はこの記事。
The Best SFTP Plugin for Eclipse | Fresh Blurbs
Target Management というものを使うとSFTPができて,
(しかもProject作らなくて良いからPHPライクで良いぜ)便利だぜ。
しかしPort変更できないぜ。
とのこと。
その後コメントにPort変更もできるよ,とあったので探すと。
公式に
Target Management Home page
RSE / TM とは Remote System Explorer / Target Managementというもので
サーバ上のファイルをそのまま閲覧,編集が可能なのでちょいとして変更に便利。
変更はすぐ反映される。
ちなみにインストールにはCDTの事前インストールが必要(らしい)。
CDTとTM3.2.2はアップデートサイトを検索するとすぐに出てくる。
ファイル管理システムとどう連携させるか,運用には注意とさらなる考察が必要。
でも,sshのコンソール開けたりして便利。
リモートのテストサーバでremote debug してSubversionも置いておけば
ローカルが軽くなりそう。
モックアップもそこで動かせば良いか。
バックアップも楽?かも?とりあえずしばらく使ってみます。
pagination ページ分け 自動処理
- 2011-04-12 (火)
- カテゴリ:システム開発

Mysqlのクエリ
selectのlimit offset
を使う。
LIMIT 条項は SELECT ステートメントに返された行数を制限するのに利用する事ができます。LIMIT は、負数以外の整数定数でなければいけない、1つか2つの数値引数を取ります。(準備されたステートメントを利用している時以外)
その2つの引数のうち、最初の物は返される最初の行のオフセットを指定し、2つめの物は返される行の最高数を指定します。冒頭の行のオフセットは0です。(1ではありません)
(基本形!:筆者註)
SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15
全ての行を一定のオフセットから結果セットの最後まで検索するには、2つめのパラメータに大きい数字を利用する事ができます。このステートメントは96番目の行から最後まで全ての行を検索します。SELECT * FROM tbl LIMIT 95,18446744073709551615;
1つの引数で、その値は結果セットの最初から返される行数を指定します。(普通のLIMIT:筆者註)
SELECT * FROM tbl LIMIT 5; # Retrieve first 5 rows
言い換えると、LIMIT row_count は LIMIT 0, row_count と同等だという事になります
MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.2.7 SELECT 構文
が,ページ数によっては難ある場合も
limit/offsetについて考える - だるろぐ
PEARのPager
・ページング(PEAR::Pager) - PEAR入門
・PEAR::Pagerクラスでハマッたあれこれ。 - ぐうぜんのきろく - ノッキングオングループ
pearにライブラリがありますが使ったことがないのであまり言及できません。
jqueryでタブ
ページ移動の必要が無くなるページング系jQueryプラグイン・Pagination Plugin - かちびと.net
Cake1.2以降ならpaginator helper
・CakePHPで高速Webアプリ開発:第15回 Paginationで面倒なページ繰り処理とおさらばしよう|gihyo.jp … 技術評論社
・CakePHP Pagination まとめ | Sun Limited Mt.
・"条件をつけたpaginateでページ繰りができない" フォーラム - CakePHP Users in Japan
ところで,表示部分のCSS
・DiggとかFlickrのようなページ切り替えメニュー(Pagination)を実現するCSS | IDEA*IDEA
・ページ送りナビゲーションには display:inline-block が超便利 | バシャログ。
> inline-block
・display:inline-blockがけっこう便利。だけど… | THE HAM MEDIA BLOG
・CSS display:inline-blockを活用する方法と注意点 | エンタープライズ | マイコミジャーナル
まとめ
個人的には,フレームワークを使って,パラメータの引継ぎをマスターするのが
とりあえずは,簡単ではあると考えます。
何もなければ,PEARのPagerでしょうか。
最終的には自作が最強でしょうか。
- タグ: php
mysql + PHP の SET NAMES問題
- 2011-04-12 (火)
- カテゴリ:mysql

発端:文字化けにはset namesを使う?
SET NAMES utf8 はなぜ必要なんでしょうか? | OKWave
MySQL自体が文字化けするときは SET NAMES (文字コード) で対処しよう!
"MYSQL 4.1 以降で "SET NAMES UJIS" などをかけたい場合" フォーラム - CakePHP Users in Japan
危ないのでset namesは使わない
SET NAMESが危険な理由のおさらい « BPS株式会社 開発ブログ Beyond Perspective Solutions LTD.
理由詳しく
原因と傾向と対策
MySQLの文字化けに"SET NAMES"を使ったらダメらしい。。 - このブログは証明できない。
PHPとSET NAMES問題のまとめ rhiz.jp Sutekiブログ
SET NAMESは禁止
(コメント欄)
PHPからSET NAMESを使わない方が良い理由と対策まとめ | twk @ ふらっと
ケース分けがされていて対策をとるべきか,どう対策すべきかが分かりやすい
MySQL/Rubyにおける正しいエンコーディング変更方法 - しばそんノート
Mysql/Rubyの MysqlAPIの処理を追う
私なりのまとめ
何も知らずエスケープだけしていても不十分。
PHPは安定最新版を使う。5.2.3
公式の文字コードに関するページ
今回の内容の直接の参考にはなりませんが。
MySQL :: MySQL 4.1 リファレンスマニュアル :: 9 各国キャラクタセットと Unicode
MySQL :: MySQL 5.1 リファレンスマニュアル :: 9 キャラクタセットサポート
windows mysql 設定ファイル
- 2011-04-12 (火)
- カテゴリ:mysql

windows版 設定ファイルの読み込み順
オプションファイルの設置場所 - オプションファイル(my.ini/my.cnf) - MySQLの使い方
(WINDIR)¥my.ini C:¥my.cnf (INSTALLDIR)¥my.iniの順番で探すようです。
公式でも発見
MySQL :: MySQL 5.1 Reference Manual :: 4.2.3.3 Using Option Files
- タグ: mysql
CakePHPと楽天API paginate関連でメモ
- 2011-04-08 (金)
CakePHPで楽天API Archive - Sometime PHP
ページングが問題になるらしい
richardwo asked How to paginate a web service API DataSource at CakePHP Questions
CakePHP 1.3 で Paginate を最速で使う方法まとめ | ウェブル
CakePHP の Paginate で URL パラメータを自由に変更する方法 | ウェブル
"DBを使用しないモデルでpaginateするには?" フォーラム - CakePHP Users in Japan
ひでぶろぐ。 jquery.prettyPopin.js の ポップアップウィンドウ内でのリンク移動
PEARのpagerが重いらしい。
WebTecNote - [CakePHP] Pagination + Search ページ遷移時に検索条件を維持させる
神童: cakephpでwebサービスapiを活用したサンプルサイトを作ってみる1
httpサーバapatchでディレクトリにアクセスしたときにファイルの一覧を表示させない
- 2011-04-07 (木)
- カテゴリ:apache

wwwサーバにファイル名の指定なしでディレクトリ名でアクセスしたときに
通常はDirectoryIndexで指定したファイル(index.html とか index.php など)が表示されますよね。
問題はそのファイルが存在しなかった場合で,初期の設定だとディレクトリ内のファイルが一覧表示されてしまいます。
httpd.conf 内で対象の
-Indexes を 指定します
さくらvps(12) CentOS5.5 でsshのchroot環境をつくる
- 2011-04-05 (火)
さくらvps標準OSの centOS5.5 に入っているopensshのバージョンは
4.3なので,chrootを利用する場合は4.8以降のopensshに入れ替える必要があるとのことで,以下調べました。
openSSHのバージョンをあげてchrootに対応する - せとっちの備忘録(技術系)
こちらか
SSHサーバー構築(OpenSSH) - CentOSで自宅サーバー構築
こちらの作業が必要となります。
opensshを入れなおして,設定
http://centossrv.com/openssh.shtml
こちらの手順でopensshの再インストールを行います。
さくらvpsの場合,リモートコンソールまたはTightVNCのコンソールで作業できますので,
Telnetサーバのインストールと削除および接続はすべて読み飛ばしました。
まずopensshダウンロードします。
ダウンロードする最新版はこちらから確認とあります。
http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/
(2011/04/05時点の 最新版5.8p1)
以下,ページ内容のバージョン部分をダウンロードしたものに読み替えて作業。
また,さくらvpsの標準のCentOS5.5は64bit版なので,
i386 を x86_64 に読み替えました。
specファイルの編集はそのままでした。
その後注意書きにもありますが
rpmbuild でエラーが出ました。
その1.ビルド依存性の失敗
http://fedorasrv.com/memo/log/53.shtml
yum -y install openldap-devel
不確かですが,このパッケージだっと思います。
違ったら,needといわれた物をinstallしてください。
その2.configure error pam headers not found
これは,上記ページ内にはありませんでしたが調べると
http://blog.goo.ne.jp/espiya/e/55c5c02d4468e2f07cbe055e18936e3a
こちらの通り, pam-devel をインストールすることで進めました。
yum -y install pam-devel.x86_64
pam-develのインストール後,あらためてrpmbuildで無事完了。
(追記)
ちなみにですが,同じサイト管理者さんのFedora構築版のBBSに
質問BBS - Fedoraで自宅サーバー構築
fedora8での PAM headers not foundの記事がありました。
こちらには別にconfigure: error: no acceptable C compiler found in $PATHのエラーで,
yum -y install gccで解決したという記載があります。
バージョンやOSなどrpmbuild実行時の環境によりエラーが出やすい工程のようです。
( / 追記ここまで)
その後の各RPMパッケージのインストールは
# rpm -Uvh /usr/src/redhat/RPMS/x86_64/openssh-5.8p1-1.x86_64.rpm # rpm -Uvh /usr/src/redhat/RPMS/x86_64/openssh-server-5.8p1-1.x86_64.rpm # rpm -Uvh /usr/src/redhat/RPMS/x86_64/openssh-clients-5.8p1-1.x86_64.rpm
それぞれ,ファイル名を読み替えます。
その後のSSHサーバ起動スクリプトの修正は
コメントアウトする部分が元々なくなっていたので,パス。
あとは,sshd_configの設定を行い
wheelグループ以外のユーザにchrootを適用させます。
再起動し,鍵を作成してログイン可能となります。
chroot対応後の sftp
wheelグループ以外のユーザはchrootで縛られるので作業しにくいことがある。
scp/sftpクライアントで su でrootになれたら便利なのに,と思う管理者も多いようですが。
WinSCPなどで su で rootにはなれない
http://winscp.net/forum/viewtopic.php?t=448
http://yamaryo.exblog.jp/2628650/
コマンドは送れるけど,suするには対話が必要(変更するユーザのパスワードを打たなくてはいけない)でその方法が用意されていないから無理なのだそうです。
検索を続けたところ,未確認ですが説明を読む限りこれで出来る?
http://www.vandyke.com/support/tips/substituteuser.html
詳しく読んでいませんが専用のサーバソフトを入れるようでしょうか。
考えを少し変えてubuntuのフォーラムより
「/var/www に chgrp で作業用ユーザの所属グループにアクセス権を」 という方法。
途中で chown で所有ユーザを変えるというコメントがあって,その方がファイルとディレクトリと一々パーミッションを
変更しなくてすむけど,後々何かしら問題が発生しそうだからグループの方が良いでしょうとのこと。
http://ubuntuforums.org/showthread.php?t=855553
色々書きましたが,さくらvpsは月1000円で一人で色々突っ込んで遊びます,という利用者が多いような気もしますので
wheelグループの管理ユーザで作業をする限りは利便性には影響はないかと思います。
ところで仮に,確実に一人でしか使わなくて他人にsshを開放することがない場合でも,セキュリティ上の理由などから,chrootに対応しているバージョンのsshを使うのが好ましいのものなのでしょうか?それともあまり意味はないのでしょうか?
調べてみたところ
mumumuの日記: migration from ftp to [sftp|scp]
こういった運用をされている方もいらっしゃるようです。
rsshとはsshを使った制限付きのシェルで,ユーザはscp、sftp、cvs、rdist、rsyncのうち許可されたものしか利用できないそうです。
chrootが必要な場面では,rsshも合わせて使うとより安全と言えそうです。
おまけ
opensshの入れなおしを行う前に openssh v4.3p2 の p2 が気になった(ひょっとしてパッチ当たってる版かと)ので調べてみると
www.centos.org - Forums - CentOS 5 - Security Support - sftp chroot for openssh-4.3p2-36
こんなページがありました。
(注: この方法では実現できませんでした 最終的にまともに使うには上位のverのopensshを入れなおす必要があります)
記事のTitleがsftp chroot for openssh-4.3p2-36
とのことなので,いけるかと思いました。
/etc/ssh/sshd_configの
# Chroot configuration Subsystem sftp internal-sftp ←追加 ChrootDirectory %h ←コメントアウトして書き換え
および
# override default of no subsystems #Subsystem sftp /usr/libexec/openssh/sftp-server ←元のSubsystemのコメントアウト
を行うと,いけるらしい。
ということで,やってみると,sshdはエラーなくrestartするが,ログインできない。
同エントリーの続きによると,
通常のssh接続ができなくなるので,sshdを2つ走らせて,片方で通常のssh,もう片方でchrootの効いたsftp用と分けて使う必要がある
らしい。なんじゃそりゃー。
一応ひとつの方法ではあるようなので,掲載しておきます。
Linux参考サイト
- 2011-04-04 (月)
必見
メルマガ - いますぐ実践! Linux システム管理 / バックナンバー(日付順)
Serversman@VPS サーバー構築: mani-lab
自宅サーバ
http://www.jitaku-server.net/
http://kajuhome.com/
ひくら.net
httpサーバ
公式
そのほか
Unix,ネットワーク,CGI
68user's page
時間のあるときに追加して行きます
- タグ: linux
- タグクラウド
- 911 98 Acl add on ADSL ajax android apache api apxs bake bash bind borland BSE c++ cakephp centOS centOS5 centos6 chrome chroot clamav combobox configure cpan css css3 ctp curl C言語 database db dns dojo dom dos dovecot dreamweaver ECCUBE eclipse EM Excel exec php favicon firefox firewall git html http httpd ids IE8 iptables ipマスカレード java javascript jquery json lan lightbox linux Lithium mailserver make mbr model mongoDB movabletype mozc mysql nec nic oscommerce password pbr pbs pci pcre PDF pear perl php php4.3.9 php5.2 php5.3 phpexec phpのエラーコード plugin pop3 postfix pppoe Python ruby Ruby on Rails sftp simpletest SMAP Smarty smtp snort SPAM sql sqlite ssh sugarsync svn Synergy TCP/IP toitoiseSVN tripwire ubuntu uml validation vim vimperator VMwarePlayer vnc vps web webmin web開発 windows windowsXP wine Word wordpress xampp xml zen cart zen coding androidアプリ えひめAI くしゃみ さくらvps ひかり ひかり接続 アキヒト アンチウィルス イカ インデックス エコ エラー オリンピック カスタマイズ カスタムフィールド カタカナ キーワードEYE シェルスクリプト シュレッダー ジーオーグループ スクリプト セキュリティ センター直前 ソルトレイク タコ ダイアルアップ ダウンタウン ツール テレビ テレホーダイ テロ デバッグ デュアルブート データサルベージ ネットショップ ネットワーク ハイライト バイク バックアップ バッファオーバーフロー バージョン切り替え バージョン管理 ファイル共有 フリーズ ブックオフ プラグイン プリンタ プログラミング プーチン マイケルジャクソン マコーレ・カルキン マルウェア メモ メール リキッドレイアウト リサイクル リビルド リポジトリ レイアウト レンタルサーバー 不満 事故 人生 仮想化 再生紙 別れ 加圧式ボールペン 参考サイト 受験 哲学 変数 夏 夏目漱石 夢十夜 家族 島谷ひとみ 怠惰 怪奇 感謝 技術メモ 文字 文字コード 料理 旅 楽天API 正月 歯痛 焼き豚 牛肉 犬 理科年表 環境問題 生きる 画像 示談金 視覚 言葉 透過 開発環境 降水量 雨 青画面 風邪 飲みすぎ google
- 検索
- Feeds
- Ads