2016-09-17 12 views
1

私たちは、aws ec2 ubuntuインスタンス上でPHPを使ってWebサイトのデプロイメントを自動化しようとしています。aws ec2 php exec sudoが動作しない

だから、AWS EC2 Ubuntuのインスタンス上のウェブサイトを展開するために、我々は、WWWフォルダに

  1. メイクフォルダ
  2. メイクconfファイルのサイトで入手可能な
  3. がa2ensite
  4. 再起動Apacheの
  5. を実行する手順を実行する必要があり
  6. データベースを作成
  7. ユーザーを作成し、すべてのアクセスを許可する

私はPHPを使ってすべてのことをしようとしています。だから私はsudoをする(私の心の中で)私はいくつかの選択肢を探し

sudo: no tty present and no askpass program specified 

エラー

  1. パスワードの設定次のコード

    echo shell_exec("sudo mkdir /var/www/{$_POST['environment']} 2>&1"); 
    echo shell_exec("sudo mkdir /var/www/{$_POST['environment']}/{$_POST['site']}/public_html 2>&1"); 
    echo shell_exec("sudo mkdir /var/www/{$_POST['environment']}/{$_POST['site']}/ssls 2>&1"); 
    echo shell_exec("sudo mkdir /var/www/{$_POST['environment']}/{$_POST['site']}/conf 2>&1"); 
    echo shell_exec("sudo mkdir /var/www/{$_POST['environment']}/{$_POST['site']}/sqls 2>&1"); 
    

    を以下のために第一段階で立ち往生したが得た(didntのが得ますgoogle)

  2. ec2をPHPライブラリ(ライブラリは利用できますが、コマンドの実行方法はわかりません)に接続

何かを提案してください。

+0

あなたはどのユーザを使用していますか?根や何か他のもの? – error2007s

+0

@ error2007s、私はwhoamiのwww:dataというようにPHPを使用しています。それはあなたが求めていることですか? – KuKu

+0

このコマンドにはどのようなエラーがありますか? sudo:ttyが存在せず、askpassプログラムが指定されていない – error2007s

答えて

0

このエラーは、スクリプトがユーザーにsudoのパスワードを尋ねる必要があり、できないことを示しています。あなたは、パスワードなしでsudoにphpコマンドを実行しているユーザーを許可することができます。これに関連するanswerを参照するか、パスワードなしでsudoを許可する方法を探してください。多くのガイドがあります。

関連する問題