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の[はてな]
調べたものはここにまとめた。