GNU/Linux >> Tutoriels Linux >  >> Debian

Installer et configurer Apache et PHP avec cgi sur Ubuntu ou Debian

CGI - Interface de passerelle commune

Apache peut être configuré pour invoquer l'interpréteur php en tant que programme cgi. Cela signifie que le binaire php-cgi doit être exécuté en externe et que le script php doit être exécuté par lui et la sortie sera renvoyée à apache. C'est une façon d'exécuter php avec apache. D'autres méthodes incluent le module partagé, fastcgi, etc. Lisez mon article précédent sur l'apis du serveur php pour en savoir plus sur les différentes options pour exécuter php avec apache.

Puisqu'en mode cgi, php est exécuté séparément, il est possible d'utiliser un mpm apache fileté comme worker. Dans cet article, nous allons configurer apache et php ensemble via le cgi.

Installer des packages

Les packages nécessaires à installer incluent apache, mpm worker, php5, php cgi. Installez-les tous d'un seul coup à l'aide de la commande apt-get

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

Activer les actions mod dans apache.

$ sudo a2enmod actions

Si vous avez déjà installé apache et php avec le mod php, vous devez d'abord désactiver le mod php

$ sudo a2dismod php5

Configurer Apache

Configurez maintenant apache pour exécuter php en tant que cgi. La configuration se fait dans le bloc vhost concerné.
Les fichiers de configuration de l'hôte virtuel Apache se trouvent à l'emplacement suivant

/etc/apache2/sites-enabled/

Le fichier vhost par défaut est 000-default.conf qui est présent sur la plupart des systèmes.
Quelques directives nécessaires doivent être ajoutées dans le bon bloc de répertoire dans le fichier de configuration qui indiquera à apache d'utiliser le binaire php-cgi pour s'exécuter fichiers se terminant par ".php".

Les directives sont AddHandler, Action et ScriptAlias. Une configuration minimale ressemble à ceci

<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

La ligne AddHandler déclare un gestionnaire appelé cgi-handler pour les fichiers .php. Cela peut être nommé à n'importe quoi.

La ligne Action indique à apache d'exécuter cgi-handler en utilisant le programme /local-bin/php-cgi, qui est le binaire php cgi. Maintenant, ce chemin n'est pas un vrai.

La ligne ScriptAlias ​​mappe /local-bin à /usr/bin. Donc le chemin /local-bin/php-cgi devient /usr/bin/php-cgi qui est le chemin réel du binaire php-cgi sur ubuntu/debian.

Redémarrez apache maintenant

# service apache2 restart

Placez un fichier php avec phpinfo() dans la racine Web et ouvrez-le depuis le navigateur. L'API du serveur doit être signalée comme "CGI/FastCGI".


Debian
  1. Comment installer et configurer Nextcloud avec Apache sur Ubuntu 18.04

  2. Installer et configurer PHP OPcache sur Ubuntu 20.04

  3. Installer et configurer Apache Spark sur Ubuntu 20.04

  4. Configurer Apache et Php avec mod_fcgid sur Ubuntu/Debian

  5. Installer et configurer Apache et php avec le mod fastcgi sur Ubuntu/Debian

Comment installer et configurer le serveur Web Apache sur Debian 11

Comment installer Apache avec PHP-FPM sur Debian 10

Installer et configurer OwnCloud sur Ubuntu 21 / Debian 11

Comment installer et configurer Apache sur Debian 11 ?

Comment installer Drupal avec Apache sur Debian et Ubuntu

Comment installer et configurer Memcached avec Apache et PHP