Archive for the ‘PHP’ Category
TortoisesvnでcommitしたらWWWのDocumentRootに自動で反映させる方法(+ポートフォワーディング)
掲題のことを実現するために、まずwebdav経由の方法を考えたのですが、自宅サーバーはcgiはsuexec、phpはsuphpにより実行権限がディレクトリのオーナー(ユーザ)権限で実行されるため、webdavは現実的ではないと判断。(webdav経由だとcommit等がapacheユーザで実行されてしまうため、権限の問題が出てしまうので・・・)
次に、ssh経由の方法を考えたのですが、これも難点があって現実的ではないと判断。
何故かというと、自宅サーバーは外部から接続する場合、ゴニョゴニョして接続元のIPを許可した後、秘密鍵を使ってログインできるようになっています。これだけならいいのですが、許可したIPは一定時間経過すると自動的に無効になるようにしてあるため、commit等を行う度に毎回ゴニョゴニョしてIPを許可して・・・なんて面倒なことをやっていられないわけです。
で、最終的に、sshでポートフォワーディングさせる方法に行き着いたわけです。
■サーバー側の準備
1.svn管理+WWW公開用のアカウントを作成(以下svnuser)
2.svnuserでパスワード無しの公開鍵と秘密鍵を作成
3.公開鍵をリネーム
4.秘密鍵(id_rsa)をTortoisesvnを使うクライアントPCに持ってくる
5.svn管理用ディレクトリを作成
6.svnリポジトリを作成
7.WWWのドキュメントルートが自動更新されるようpost-commitを設置
8.自動更新の対象となるWWWディレクトリを作成
9.自動更新対象のディレクトリをチェックアウト
■クライアント側の準備
1.Puttyの公式から「putty.exe」「pageant.exe」「puttygen.exe」をダウンロードしてTortoisesvnのbinフォルダに保存
2.TortoiseSVNの設定メニューからネットワークの設定メニューを出して、SSHクライアントをTortoisePlink.exe(若しくはPuttyの公式からダウンロードしたplink.exe)を選択しておく
3.puttygen.exeを起動して「Load」をクリックしサーバーで作成した秘密鍵(id_rsa)を読み込む(Putty用にコンバートするか?聞かれるのでYesを選択)
4.3が完了したら「save private key」をクリックして適当な名前で保存
5.putty.exeを起動して下記を設定
6.Sessionの項目に戻り「Save」をクリックして保存
7.putty.exeで続いて下記を設定
8.Sessionの項目に戻り「Save」をクリックして保存
9.pageant.exeを起動して「Saved Sessions」から「svnssh」>「svntunnel」の順に接続する
これでTortoisesvnでcommitすると「/home/svnuser/public_html/hoge」も自動で更新されるようになるし、毎回パスワードを聞かれることもありません。
これで開発が楽になりました( ´ー`)
See Also
Subversionへポートフォワード+puttyで自動ログイン
【Subversion】mod_dav_svn(apache)経由でCommitした時に自動的にupdateを行う
あらゆるDBに対応したWEBベースの管理ツール「Adminer」
MySQLの管理ツールにSqlBuddyを使っているのですが、あらゆるDBに対応したWEBベースの管理ツール「Adminer」というのを見つけました。
スクリプト1つで動作しているというのが1番のウリらしい。
日本語にもちゃんと対応してるっぽい。
上記ページの「Alternative designs」にあるCSSをスクリプトと同じ場所に置けばお好みのテーマに変更できる。
個人的には最後のテーマがステキなデザインだったのでこれを試してみました。(最後のテーマはスクリプトも含まれていてファイル数も多い)
その他にも
・右上のaAをクリックすると文字の拡大、縮小
・右上の↓をクリックするとdumpができる?
・左上の赤い●がログアウト
・左上のDOSプロンプトっぽいアイコンがSQLの発行
非常によく出来てますね( ´ー`)
SqlBuddyからAdminerに乗り換えようと思います。
SPAM-BYEBYEを作り直し
自分で言うのもアレですが・・・
WordPressのコメントスパム対策用プラグインのソースがあまりにも酷かったので書き直しました。
従来の機能は残しつつ、若干機能の拡張をしています。
一応ベータ版という扱いなので↑のページはまだ更新していませんが、興味のある方は↓のリンクからダウンロードしてお試し下さい。
設定方法などについては同梱さてれいるreadme.txtとconfig.phpを参照して下さい。
バグトラッキングシステム「opentask」の改良版を配布します。
バグトラッキングシステムのopentaskに削除機能を付けた改良版を配布します。
【注意】ただし削除機能が使えるのはデータ管理にDBを使った場合のみです。
実は以前、opentaskをVM上で検証していたのですが、VMのリソースが不足したことからゲストOSごと削除してしまい、改良したソースはもう無くなってしまったと思っていました。
ところが!!
本日ローカルPCを漁ってみたところ奇跡的にソースが見つかったのです!!( ´ー`)v
ナイス俺。
というわけで、欲しい方はopentask_1_0_R_20110118.zipからどうぞ。
PHP5.3.5がリリースされてた
ということでVine5.xで作ったRPM/SRC.RPM集にアップしました。
リリースペースが速いな・・・
PHPはビルドに時間が掛かるからメンドイいんですよ・・・(;´Д`)
Apache 2.2.16とPHP 5.3.3がリリース
それぞれVineのRPMを作ろうと思いますが・・・
apacheの方はrpmbuildの途中(configure)でエラーが出るのでちょい様子見ちゅう。
PHPはまだ手付かずです(*゚ー゚)
ブラウザからVirtualBoxの操作ができる「phpvirtualbox」
WEBベースでVirtualBoxを使った仮想マシンの操作が行える「phpvirtualbox」
おー、なんかまた凄いのが出てきましたね。
けど、コレを使うには当然ながらapache、phpが必要なんでしょうね。
ウチはWindowsXP環境なVirtualBoxだからなぁ~・・・
リモートデスクトップで設定とかもできればVirtualBox最強!!なんだけどな~・・・







