PHPからtsControlを制御できれば、情報取得・遠隔制御のゲートウェイとして便利に利用できます。
ただし、通常の構成ではPHPが実行されるユーザ(apacheやnobody)からtsControlを実行しても、rootで実行されているTeamSpeak2
RC2 Clientにアクセスができないため、エラーになってしまいます。そこで、sudoコマンドを設定して一時的にrootでtsControlを実行できるようにしましょう。
「# User privilege specification」以下を以下のように変更します。
なお、Apacheがapache以外のユーザ(nobodyなど)で実行される場合は任意で変更します。
root ALL= NOPASSWD: ALL
apache ALL= NOPASSWD: ALL |
以上で設定は完了です。以下のようなPHPを作成してアクセスしてみましょう。
<?php
exec("sudo /opt/TeamSpeak2RC2/client_sdk/tsControl ".$q, $returndata);
echo $returndata;
?> |
※セキュリティの観点からも、完全に自分専用のサーバ以外では使用しないほうが無難かと思います^^; |