なぜ手動で起動/停止しますか? initスクリプトを使用すると便利です。 httpd.confファイルでhttpdプロセスを実行するユーザー名を指定することができます。また、環境設定も指定できます。 RedHat/CentOSの場合、これは次のようになります:
環境設定を/ etc/sysconfig/httpdファイルに追加します(あるいは、これらの環境変数を別のファイルから読み込み、同じように設定するコマンドを設定することもできます必要に応じて.bashrcのコマンド - 必要な環境設定を含むファイルが1つだけです)。
/etc/httpd/conf/httpd.confファイルを変更して、httpdプロセスを実行するユーザーがroot以外のユーザー(デフォルトではRedHat/CentOSのApacheである必要があります)になります。
これが完了したら、/etc/init.d/httpdを使用してプロセスを開始して停止してください。良い状態になっているはずです。
は、ポスターのコメントに反応して更新:
あなたのbashrcにから読みたい...と/usr/init.d/httpdの再起動を使用しない(それはapache2ctlと同じくらい簡単です)...これを行う方法については、環境変数を新しいファイルに入れてください。以下の例では、 "/ etc/httpd/envconfig"というファイルを使用していると仮定します。 [-f/etc/httpd/envconfig]の場合、これらの行をbashrcと/ etc/sysconfig/httpd:
に追加します。 。/etc/httpd/envconfig fi
ここで、bashとhttpdスクリプトの両方が、更新された環境変数で機能するはずです。
1つの追加のノートは、CGI環境変数は、あなたがこのURLをチェックアウトすることができますApacheの中に異なる方法で処理してしまうことがあります。特に
http://httpd.apache.org/docs/2.2/env.html
、」...また、PassEnvディレクティブを使用してサーバを起動したシェルの環境から変数を渡すこともできます... "
httpd.confファイルに適切な" PassEnv "ディレクティブを置く必要があります。あなたはCGIスクリプトに渡したい環境変数。良いニュースは、あなたが値を指定する必要はありませんということですので、限り、あなたは変数自身の名前を変更しないように、あなたが管理する必要はありません。二つの構成
説明やリンクが役に立つかもしれませんここでは後者です:。http://stackoverflow.com/questions/2941136/php-and-apache-environment-variablesそれはタグ付けされたPHPのが、私は原則が適用されると思います。それでも、これはOPは彼が彼の不安を和らげるために。たぶん、説明をしたくないと言った何ですか? – Wilduck
@K az:私は通常、コマンドラインから使用するスクリプトをたくさん持っており、そのうちのいくつかのためにプライベートWebインターフェイスを作っています。これらのコマンドラインツールは環境変数に依存します - これは交渉可能ではありません。 – Jonathan
@Wilduck:実際、そのリンクが役立ちます。 PassEnvは理想的ではありませんが、まともなソリューションです。環境変数の値は変わりませんが、環境変数のセットは頻繁に変更されません。 Apacheに外部環境からの値を使用するように指示すると、新しいパラメータを追加するときではなく、値を変更するときに問題を回避することができます。 – Jonathan