purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

PHP5.3でリポジトリを作成するプログラムを作る

初めにApacheをrootとして認識させるみたいなのが必要

そうしないと
sudo -S svnadmin create
の部分で権限エラーが出る

via
Apacheからsvnを実行すると'Permission denied'エラー発生 | maeda.log
[PHP] exec(),shell_exec()関数から sudoコマンドを実行するための設定 (CentOS5.6)
いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) - DQNEO起業日記



phpのバージョンは特に関係なく5.2とかでも多分大丈夫

PHP部分

<?php
$name = 'repo_str';

//svnディレクトにcd
$str  = ' cd /usr/home/svn/ 2>&1; ';
//sudoでリポジトリを作成→パスワードを聞かれるのでecho
$str .= " echo 'Apache-password' | sudo -S svnadmin create ". $name ." 2>&1; ";
//作成したリポジトリの権限系をApacheに
$str .= " echo 'nrTfVxfBdc24' | sudo -S chown -R apache:apache ". $name ." 2>&1; ";
$results = shell_exec($str);

?>

2>&1 の部分は、要はエラーを画面に出力するためのもので
2013-03-27 - purazumakoiの[はてな]
調べたものはここにまとめた。