質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

3828閲覧

VirtualHostでの suEXEC 設定について

gorogoroIT

総合スコア447

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/03/01 14:06

###前提・実現したいこと
Apache + PHP の環境で、特定のVirtualHost で suEXEC で PHPを動かしたい。

最終的には、複数のサイト(WordPress など)が設定してある状態で、
他のユーザに(一部の)WordPressサイトの管理を任せるようにしたい。

###発生している問題・エラーメッセージ

以下のサイトを参考に、suEXEC の設定をしているが、設定したユーザ権限で
実行されていない気がしています。

■ 参考サイト

  • リストapache のsuEXEC で phpを動かしてみる

http://server-setting.info/centos/apache_suexec_php.html

  • PHP-CGI + suEXEC 環境の構築手順 (CentOS 6.x)2/2

http://safe-linux.homeip.net/web/WordPress/wordpress-08.html


</opt/home/user1/public_html/info.php>

<?php echo '実行中のユーザーは '.exec('whoami'); phpinfo(); ?>

上記ファイルを設置し、http://server1.example.com/info.php にアクセスした場合、
「Server API」の値が "Apache 2.0 Handler"になっている。

Server API Apache 2.0 Handler

###該当のソースコード

suexec -V の実行結果>

# /usr/sbin/suexec -V -D AP_DOC_ROOT="/var/www" -D AP_GID_MIN=500 -D AP_HTTPD_USER="apache" -D AP_LOG_SYSLOG -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=500 -D AP_USERDIR_SUFFIX="public_html"

■ suEXEC で実行したいサイトの設定
<httpd-server1.conf>

# ScriptAlias /php5-user1-comm "/var/www/users/user1/php-cgi" <VirtualHost *:80> ServerAdmin webmaster@example.com ServerName server1.example.com DirectoryIndex index.php index.html index.htm DocumentRoot /opt/home/user1/public_html ## #### SuexecUserGroup user1 users AddHandler php5-cgi .php .phps Action php5-cgi /php5-user1-comm ## #### <Directory "/opt/home/user1/public_html"> Options FollowSymLinks MultiViews ExecCGI AllowOverride All Require all granted </Directory> LogLevel warn CustomLog /var/log/httpd/access.server1.example.com.log combined ErrorLog /var/log/httpd/error.server1.example.com.jp.log </VirtualHost>

■ 既存サイトの設定
<httpd-server99.conf>

<VirtualHost *:80> ServerAdmin webmaster@example.com ServerName server99.example.jp DirectoryIndex index.php index.html index.htm DocumentRoot /opt/www/server99.example.jp LogLevel warn <Directory /opt/www/server99.example.jp> Options FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> CustomLog /var/log/httpd/access.server99.example.jp.log combined ErrorLog /var/log/httpd/error.server99.example.jp.log </VirtualHost>

###試したこと

「 .htaccess 」に書いてみたり。。。

# cat /opt/home/user1/public_html/.htacess # AddHandler php5-cgi .php Action php5-cgi /php5-user1-comm

###補足情報(言語/FW/ツール等のバージョンなど)

■ 環境

  • Amazon Linux
  • Apache/2.4.25
  • PHP 5.6.29

他に足りない設定情報があれば、コメントなどにお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

.php が CGI とみなされていないようです。
CentOS 7.x, httpd-2.4.6 で試したところ、AddHandler ではダメで、一旦 RemoveHandler で削除し、SetHandler php5-cgi で設定し直すといいようです。

#AddHandler php5-cgi .php .phps RemoveHandler .php .phps <FilesMatch \.phps?$> SetHandler php5-cgi </FilesMatch>

投稿2017/03/01 15:27

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gorogoroIT

2017/03/01 16:18

回答ありがとうございます。 教えて頂いた内容の「SetHandler 」で設定し直したところ、解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問