Archive for the ‘PHP’ Category



14
1月

PHP5.3.9がリリースされてた


ということで早速RPMを作成して自宅サーバーのPHPをアップグレード

欲しい方は下記からどうぞ~

Vine5.xで作ったRPM/SRC.RPM集

22
12月

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でパスワード無しの公開鍵と秘密鍵を作成

su - svnuser ssh-keygen -t rsa


3.公開鍵をリネーム
cd .ssh/ mv id_rsa.pub authorized_keys


4.秘密鍵(id_rsa)をTortoisesvnを使うクライアントPCに持ってくる
5.svn管理用ディレクトリを作成
mkdir /home/svnuser/svnrepos


6.svnリポジトリを作成
svnadmin create /home/svnuser/svnrepos/hoge(任意の名称)


7.WWWのドキュメントルートが自動更新されるようpost-commitを設置
cd /home/svnuser/svnrepos/hoge/hooks mv post-commit.tmpl post-commit vi post-commit ----- REPOS="$1" REV="$2" #commit-email.pl "$REPOS" "$REV" commit-watchers@example.org #log-commit.py --repository "$REPOS" --revision "$REV" /usr/bin/svn up /home/svnuser/public_html/hoge/ ----- chmod 755 post-commit


8.自動更新の対象となるWWWディレクトリを作成
mkdir /home/svnuser/public_html/hoge


9.自動更新対象のディレクトリをチェックアウト
cd /home/svnuser/public_html/hoge svn checkout file:///home/svnuser/svnrepos/hoge ./

■クライアント側の準備
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を起動して下記を設定

■Session HostName:SSHの接続先IPまたはホスト Port:SSHの接続先ポート Connection Type:SSH Saved Session:任意の接続名称(例:svnssh) ■Connection>Data Auto-Login username:SSHでログインするユーザ(例:svnuser) ■Connection>SSH>Auth Attempt authentication using Pagent:チェックを入れる Private key file for authentication:4で作成した秘密鍵をセット ■Connection>SSH>Tunnels Source port:1024以上の任意のポート番号を設定(例:10022) Destination:localhost:22(自宅サーバーから自宅サーバーのSSHに接続) Addをクリックして保存


6.Sessionの項目に戻り「Save」をクリックして保存
7.putty.exeで続いて下記を設定
■Session HostName:localhost(クライアントPC自身のIP) Port:5のSource portで設定したポート番号(例:10022) Connection Type:SSH Saved Session:任意の接続名称(例:svntunnel) ■Connection>Data Auto-Login username:SSHでログインするユーザ(例:svnuser) ■Connection>SSH>Auth Attempt authentication using Pagent:チェックを入れる Private key file for authentication:4で作成した秘密鍵をセット Addをクリックして保存


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を行う

12
10月

あらゆるDBに対応したWEBベースの管理ツール「Adminer」


MySQLの管理ツールにSqlBuddyを使っているのですが、あらゆるDBに対応したWEBベースの管理ツール「Adminer」というのを見つけました。

スクリプト1つで動作しているというのが1番のウリらしい。

日本語にもちゃんと対応してるっぽい。

上記ページの「Alternative designs」にあるCSSをスクリプトと同じ場所に置けばお好みのテーマに変更できる。

個人的には最後のテーマがステキなデザインだったのでこれを試してみました。(最後のテーマはスクリプトも含まれていてファイル数も多い)

■ログイン画面

■DB一覧

■テーブル一覧

■テーブル構造一覧

■テーブルデータ一覧

■テーブル構造編集

■項目の追加

その他にも
・右上のaAをクリックすると文字の拡大、縮小
・右上の↓をクリックするとdumpができる?
・左上の赤い●がログアウト
・左上のDOSプロンプトっぽいアイコンがSQLの発行

非常によく出来てますね( ´ー`)

SqlBuddyからAdminerに乗り換えようと思います。

24
8月

PHP5.3.7に重大なバグ


PHP 5.3.7に重大なバグ、strncatの罠にはまる

アップグレードしなきゃなぁ・・・

と思っていた矢先にコレ。

Vine6に移行するまでアップグレードはやめておこうかな。

12
7月

SPAM-BYEBYEを作り直し


自分で言うのもアレですが・・・

WordPressのコメントスパム対策用プラグインのソースがあまりにも酷かったので書き直しました。

従来の機能は残しつつ、若干機能の拡張をしています。

一応ベータ版という扱いなので↑のページはまだ更新していませんが、興味のある方は↓のリンクからダウンロードしてお試し下さい。

設定方法などについては同梱さてれいるreadme.txtとconfig.phpを参照して下さい。

spam-bye2.2.0.0.zip

18
1月

バグトラッキングシステム「opentask」の改良版を配布します。


バグトラッキングシステムのopentaskに削除機能を付けた改良版を配布します。

【注意】ただし削除機能が使えるのはデータ管理にDBを使った場合のみです。

実は以前、opentaskをVM上で検証していたのですが、VMのリソースが不足したことからゲストOSごと削除してしまい、改良したソースはもう無くなってしまったと思っていました。

ところが!!

本日ローカルPCを漁ってみたところ奇跡的にソースが見つかったのです!!( ´ー`)v

ナイス俺。

というわけで、欲しい方はopentask_1_0_R_20110118.zipからどうぞ。

13
1月

PHP5.3.5がリリースされてた


ということでVine5.xで作ったRPM/SRC.RPM集にアップしました。

リリースペースが速いな・・・

PHPはビルドに時間が掛かるからメンドイいんですよ・・・(;´Д`)

29
7月

Apache 2.2.16とPHP 5.3.3がリリース


それぞれVineのRPMを作ろうと思いますが・・・

apacheの方はrpmbuildの途中(configure)でエラーが出るのでちょい様子見ちゅう。

PHPはまだ手付かずです(*゚ー゚)

28
7月

PHP試験が秋に開始


PHP試験が秋に開始、オライリー本が教科書

ほぇー

今までちゃんとPHPを勉強したことないから、これを機にちゃんと勉強して資格とってみようかしら?( ´ー`)

22
7月

ブラウザからVirtualBoxの操作ができる「phpvirtualbox」


WEBベースでVirtualBoxを使った仮想マシンの操作が行える「phpvirtualbox」

おー、なんかまた凄いのが出てきましたね。

けど、コレを使うには当然ながらapache、phpが必要なんでしょうね。

ウチはWindowsXP環境なVirtualBoxだからなぁ~・・・

リモートデスクトップで設定とかもできればVirtualBox最強!!なんだけどな~・・・

Celadon theme by the Themes Boutique