GNU/Linux >> Znalost Linux >  >> Debian

Nainstalujte a nakonfigurujte Apache a PHP s cgi na Ubuntu nebo Debianu

CGI – Common Gateway Interface

Apache lze nakonfigurovat tak, aby vyvolal php interpret jako program cgi. To znamená, že binární soubor php-cgi by měl být spuštěn externě a php skript by měl být spuštěn a výstup by byl předán zpět do apache. Toto je jeden způsob, jak spustit php s apache. Mezi další metody patří sdílený modul, fastcgi atd. Přečtěte si můj předchozí příspěvek o php serveru apis, kde se dozvíte více o různých možnostech spouštění php s apache.

Protože v režimu cgi se php spouští samostatně, je možné použít vláknový apache mpm jako worker. V tomto příspěvku společně nastavíme apache a php prostřednictvím cgi.

Instalovat balíčky

Potřebné balíčky k instalaci zahrnují apache, mpm worker, php5, php cgi. Nainstalujte je všechny najednou pomocí příkazu apt-get

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

Povolit akce modu v Apache.

$ sudo a2enmod actions

Pokud jste již měli apache a php nainstalované s mod php, musíte nejprve zakázat mod php

$ sudo a2dismod php5

Nakonfigurujte Apache

Nyní nakonfigurujte apache tak, aby spouštěl php jako cgi. Konfigurace se provádí v příslušném bloku vhost.
Konfigurační soubory virtuálního hostitele Apache jsou umístěny v následujícím umístění

/etc/apache2/sites-enabled/

Výchozí soubor vhost je 000-default.conf, který je přítomen na většině systémů.
Do správného adresářového bloku v konfiguračním souboru je třeba přidat několik nezbytných direktiv, které Apache sdělí, aby ke spuštění použil binární php-cgi soubory končící na ".php".

Direktivy jsou AddHandler, Action a ScriptAlias. Minimální konfigurace vypadá takto

<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

Řádek AddHandler deklaruje handler nazvaný cgi-handler pro soubory .php. Toto může být pojmenováno jakkoli.

Řádek Action říká apache, aby spustil cgi-handler pomocí programu /local-bin/php-cgi, což je binární soubor php cgi. Nyní tato cesta není skutečná.

Řádek ScriptAlias ​​mapuje /local-bin na /usr/bin. Tedy cesta /local-bin/php-cgi se změní na /usr/bin/php-cgi což je skutečná cesta binárního souboru php-cgi na ubuntu/debian.

Nyní restartujte apache

# service apache2 restart

Vložte php soubor s phpinfo() do webového kořenového adresáře a otevřete jej z prohlížeče. Server API bude hlášeno jako "CGI/FastCGI".


Debian
  1. Nainstalujte a nakonfigurujte PHP OPcache na Ubuntu 20.04

  2. Nastavte Apache a Php pomocí mod_fcgid na Ubuntu/Debian

  3. Nainstalujte a nakonfigurujte Apache a php pomocí mod fastcgi na Ubuntu/Debian

  1. Jak nainstalovat a nakonfigurovat Nextcloud s Apache na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat ownCloud s Apache na Ubuntu 18.04

  3. Nainstalujte a nakonfigurujte Apache Spark na Ubuntu 20.04

  1. Jak nainstalovat Drupal 8 s Apache, MySQL a SSL na Ubuntu 15.10

  2. Jak nainstalovat a nakonfigurovat Drupal s Apache na Debian 9

  3. Jak nainstalovat a nakonfigurovat modul mod_pagespeed s Apache na Ubuntu 18.04 LTS