websvn-admin (version 0.2 beta-2) | 2011-01-22 10:22 |
Webサーバで稼動する、ローカル(Webサーバ内の)Subversionのリポジトリ管理。sshで接続してsvnadminコマンドを用いることなく、Web経由でリポジトリを操作できることを目指します。
主に、個人でSubversionを使うことを想定しています。
共用サーバなど、ユーザ権限で(管理者権限を全く使わず)にインストール出来るようになっています。また、依存プログラム、ライブラリなどを極力減らして、インストール出来ないということがなるべく起こらないようにしています。
配布しているソースコード・パッケージを、サーバ上の適当なディレクトリ(Webから見れる所)へ解凍してください。
その後、include/config.php に、ユーザの環境に合わせて書き換えてください。例えば、共用サーバでSubversionを /home/user000/local/bin/ にインストールしていて、リポジトリを /home/user000/var/svn/ 以下に作成している場合、次のようになります
$strSvnCmdPath = '/home/user000/local/bin/'; $strBaseDir = '/home/user000/var/svn/';
include/config.php の設定後、Webよりindex.php へアクセスすると、自動的に data/auth.dat が作成され、初期ユーザ名とパスワードが画面に表示されます。なお、パスワードはMD5ハッシュが保存されるようになっています。data/auth.dat ファイルは次のようになっています。
# user, password test,1a1dc91c907325c69271ddf0c944bc72
最初に、画面左端の Change password を実行して、ユーザ名とパスワードを(セキュリティ上問題ないものに)変更してください。
PHPの session_start(); 関数をWeb出力の途中で利用しているため、syslogに "Cannot send session cache limiter - headers already sent" のエラーが出る場合、セッション処理に失敗しログオン出来ない場合などの場合に備えて、php.ini を同梱しています。WebSVN-Adminのindex.phpと同じディレクトリにphp.iniを置くと、システムの値を上書きしますので、エラーを抑止できます。このphp.iniが必要かどうか、一度php.iniを削除してWebSVN-Adminを利用してみて、問題ないようであればphp.iniは不必要です。
; use cookie to handle session data session.use_cookies = On session.save_path = "/tmp" ; output buffer (for cookie write) output_buffering = 4096
現在のところ、リポジトリ新規作成の機能のみを実装しています。リポジトリ名はUNIXのディレクトリ命名規則に従った入力のみを受け付けます。
画面上の説明に従って操作してください。
この説明文書以上の情報、使い方、作用・副作用についてはソースコードを読んでください。ユーザの利用形態に合わせて、自由にソースコードのカスタマイズも可能です。
http://oasis.halfmoon.jp/mw/index.php?title=Soft-WebSVN-Admin
websvn-admin (version 0.2 beta-2) | 2011-01-22 10:22 |