GNU/Linux >> Linux の 問題 >  >> Debian

UbuntuまたはDebianにcgiを使用してApacheとPHPをインストールして構成します

CGI-Common Gateway Interface

Apacheは、phpインタープリターをcgiプログラムとして呼び出すように構成できます。これは、php-cgiバイナリが外部で実行され、phpスクリプトがそれによって実行され、出力がapacheに返されることを意味します。これは、apacheでphpを実行する1つの方法です。他の方法には、共有モジュール、fastcgiなどがあります。apacheでphpを実行するためのさまざまなオプションについて詳しくは、phpサーバーAPIに関する以前の投稿をご覧ください。

cgiモードでは、phpは個別に実行されるため、workerのようにスレッド化されたapachempmを使用できます。この投稿では、cgiを介してapacheとphpを一緒にセットアップします。

パッケージのインストール

インストールに必要なパッケージには、apache、mpm worker、php5、phpcgiが含まれます。 apt-getコマンドを使用して一度にすべてをインストールします

# sudo apt-get install apache2 apache2-mpm-worker php5 php5-cgi

apacheでmodアクションを有効にします。

$ sudo a2enmod actions

すでにapacheとphpがmodphpとともにインストールされている場合は、最初にmodphpを無効にする必要があります

$ sudo a2dismod php5

Apacheの構成

次に、phpをcgiとして実行するようにapacheを構成します。構成は関連するvhostブロックで行われます。
Apache仮想ホスト構成ファイルは次の場所にあります

/etc/apache2/sites-enabled/

デフォルトのvhostファイルは000-default.confで、ほとんどのシステムに存在します。
いくつかの必要なディレクティブを構成ファイルの右側のディレクトリブロックに追加して、apacheにphp-cgiバイナリを使用して実行するように指示する必要があります。 「.php」で終わるファイル。

ディレクティブは、AddHandler、Action、およびScriptAliasです。最小限の構成は次のようになります

<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride None
	Order allow,deny
	allow from all

	AddHandler cgi-handler .php
	Action cgi-handler /local-bin/php-cgi
</Directory>
ScriptAlias /local-bin /usr/bin

AddHandler行は、.phpファイルのcgi-handlerと呼ばれるハンドラーを宣言します。これは何にでも名前を付けることができます。

アクション行は、phpcgiバイナリである/local-bin/php-cgiプログラムを使用してcgi-handlerを実行するようにapacheに指示します。現在、このパスは実際のパスではありません。

ScriptAlias行は、/local-binを/usr/binにマップします。したがって、パス / local-bin / php-cgi / usr / bin / php-cgiになります これは、ubuntu/debian上のphp-cgiバイナリの実際のパスです。

ここでapacheを再起動します

# service apache2 restart

phpinfo()を含むphpファイルをWebルートに配置し、ブラウザーから開きます。サーバーAPIは「CGI/FastCGI」として報告されます。


Debian
  1. Ubuntu20.04にPHPOPcacheをインストールして構成する

  2. Ubuntu20.04にApacheSparkをインストールして構成する

  3. Ubuntu/Debianでmod_fcgidを使用してApacheとPhpをセットアップします

  1. Ubuntu18.04でApacheを使用してNextcloudをインストールおよび構成する方法

  2. Ubuntu18.04でApacheを使用してownCloudをインストールおよび構成する方法

  3. Ubuntu/Debianにmodfastcgiを使用してApacheとphpをインストールして構成します

  1. Ubuntu 15.10にApache、MySQL、SSLを使用してDrupal8をインストールする方法

  2. Debian9でApacheを使用してDrupalをインストールおよび構成する方法

  3. Ubuntu18.04LTSでApacheを使用してmod_pagespeedモジュールをインストールおよび構成する方法