1

私は現在、ブラウザから新しいapacheドメインを簡単に作成できるように、Webサーバーの管理ページを作成しています。1つを除いて、すべてが私が望むようにほとんど機能しています。

詳細:サーバー上で、作成したいドメイン名のリストを含むファイルをチェックするルートとしてbashスクリプトを実行しているcronジョブがあります。ファイルにドメイン名が含まれている場合、このドメインの新しい仮想ホストが自動的に作成され、hostsファイルが編集され、サーバーが再起動されます。これはすべて完全に機能しますが、スクリプトで実行したいのは、サーバーを再起動する前に自動的に作成されるドメインをアクティブ化することです。apache 2のa2ensiteコマンドを使用してこれを実行しようとしましたが、コマンドが見つからないというエラーがスクリプトから返されます。

bashスクリプトからこのコマンドを呼び出す方法はありますか、それとも私が呼び出すことができるこのコマンドの代替手段はありますか?

どんな助けでも大歓迎です。

4

1 に答える 1

4
$ which a2ensite
/usr/sbin/a2ensite

通常、cronには非常に制限のある$ PATHがあり、システムバイナリ(rootで使用するため)である/usr/sbinまたはは含まれていません。/sbin完全修飾パス名を使用することは常に良い考えです。したがって/usr/bin/a2ensite、スクリプトを呼び出すか、変数を定義します。

A2ENSITE=/usr/sbin/a2ensite
...
${A2ENSITE} new-domain.com
于 2013-01-18T00:55:42.890 に答える