Home

ぼんずーず

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でしょうか。

最終的には自作が最強でしょうか。

  • タグ:

mysql + PHP の SET NAMES問題

  • 2011-04-12 (火)

windows mysql 設定ファイル

  • 2011-04-12 (火)

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

CakePHPと楽天API paginate関連でメモ

  • 2011-04-08 (金)

システム開発 セキュリティ関連リンク

  • 2011-04-07 (木)

httpサーバapatchでディレクトリにアクセスしたときにファイルの一覧を表示させない

  • 2011-04-07 (木)

wwwサーバにファイル名の指定なしでディレクトリ名でアクセスしたときに

通常はDirectoryIndexで指定したファイル(index.html とか index.php など)が表示されますよね。
問題はそのファイルが存在しなかった場合で,初期の設定だとディレクトリ内のファイルが一覧表示されてしまいます。

httpd.conf 内で対象の

ディレクティブのOptionsに

-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用と分けて使う必要がある

らしい。なんじゃそりゃー。
一応ひとつの方法ではあるようなので,掲載しておきます。

シェルスクリプト 覚書

  • 2011-04-05 (火)

Linux参考サイト

  • 2011-04-04 (月)

Home

タグクラウド
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

Return to page top