web-dev-qa-db-ja.com

デフォルトディレクトリでPHP実行を有効にするにはどうすればよいですか?

Pleskを使用してサーバーをセットアップしていますが、公的にアクセス可能なphpMyAdminのコピーを提供できるようにしたいと考えています。

私はそれがどこに行くことができるかを決定することができました:

/var/www/vhosts/default/httpsdocs

ただし、実行されたPHPとしてではなく、実際のPHPファイルとしてphpMyAdminを提供しています。

そのディレクトリでPHP実行を有効にするための最良/正しい方法は何ですか?

1
Abraham Vegh

あなたは書きません、あなたはどのウェブサーバーを使いますか。 RHEL5で実行されているApacheだと思います

まず、phpモジュールがApacheにインストールおよびロードされ、適切に構成されているかどうかを確認する必要があります。

あなたは、Apacheがファイルを実行する代わりにファイルを返すと書いています。これは、Apacheが特別なファイルタイプをどう処理するかを知らない場合の、Apacheのデフォルトのアクションです。デフォルトのRHELApache構成では、phpはファイル_/etc/httpd/conf.d/php.conf_からロードされ、ファイル_/etc/httpd/conf/httpd.conf_には_Include conf.d/*.conf_ディレクトリのすべてのファイルを含む行_conf.d_が含まれます。 _php.conf_からのこれらの行はコメントを外す必要があります:

_LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
_

次に、SELinux保護がリクエストを拒否しないかどうかを確認する必要があります。 SELinuxがApacheからの一部のファイルへのアクセスを拒否した場合、ブラウザで_403 Forbidden_エラーが発生します。 _/var/log/audit/audit.log_には、いくつかの_avc: denied_メッセージが表示されます。 _man httpd_selinux_のマンページを読む必要があります。ディレクトリ_/var/www/vhosts/default/httpsdocs_のファイルには、_httpd_sys_content_t_ラベルを付ける必要があります(_chcon -R -t httpd_sys_content_t_を実行する必要があります)。この変更を事前に行うには(ファイルシステムのラベル変更を処理するため)、semanage fcontext -a -t httpd_sys_content_t /var/www/vhosts/default/httpsdocs(/.*)?も実行する必要があります。

0
sumar

1つの方法は、そのディレクトリを制御/構成するためのディレクティブを追加することです。

1
Zak