Conditions préalables
- Un serveur Vultr fonctionnant sous Arch Linux à jour (voir cet article .)
- Un serveur Web en cours d'exécution, Apache ou Nginx
- Accès Sudo.
- Les commandes devant être exécutées en tant que root sont préfixées par
#. La façon recommandée d'exécuter des commandes en tant que root est, en tant qu'utilisateur normal, de préfixer chacune d'elles avec sudo.
- Faites installer un éditeur de texte et familiarisez-vous avec lui, comme vi, vim, nano, emacs ou un éditeur similaire
Installez PHP 7.3 sur votre serveur Web
Installez PHP et FastCGI pour PHP:
# pacman -S php-fpm
Consultez la liste des fuseaux horaires de PHP
Définissez votre fuseau horaire. Par exemple, si vous avez choisi la catégorie "Amérique" et que vous vouliez utiliser "New_York", modifiez /etc/php/php.iniet définissez les éléments suivants:
date.timezone = America/New_York
Démarrez FastCGI pour PHP et faites-le démarrer après chaque démarrage:
# systemctl enable --now php-fpm
Configurez PHP pour votre serveur Web.
Pour Apache
Créez le fichier /etc/httpd/conf/extra/php-fpm.confavec le contenu suivant. Assurez-vous de le copier exactement tel quel; une erreur courante consiste à mettre des espaces autour du caractère pipe, mais ce n'est pas une commande shell, et il ne peut y avoir aucun espace:
DirectoryIndex index.php index.html
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost/"
</FilesMatch>
Autorisez Apache à utiliser FastCGI en modifiant /etc/httpd/conf/httpd.confet ajoutez ce qui suit à la fin de la liste LoadModule:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Pour autoriser l'utilisation de .phpfichiers sur tous les sites Web hébergés par Apache, modifiez /etc/httpd/conf/httpd.confet ajoutez-les à la fin. Si vous exécutez plusieurs répertoires hôtes; par exemple, des hôtes virtuels ou des répertoires HTTP / HTTPS séparés; et vous souhaitez autoriser uniquement les .phpfichiers sur certains d'entre eux, modifiez leurs fichiers de configuration. Dans le VirtualHostbloc, ajoutez les éléments suivants:
Include conf/extra/php-fpm.conf
Enfin, redémarrez Apache:
# systemctl restart httpd
Pour Nginx
Autorisez Nginx à utiliser FastCGI pour PHP en créant le fichier /etc/nginx/php.confavec le contenu suivant:
# Correctly handle request like /test.php/foo/blah.php or /test.php/
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
try_files $uri $document_root$fastcgi_script_name =404;
# Mitigate <nowiki>https://httpoxy.org/</nowiki> vulnerabilities
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
Autorisez Nginx à utiliser FastCGI en éditant /etc/nginx/nginx.conf, et à chaque bloc serveur avec lequel vous souhaitez utiliser PHP, ajoutez ce qui suit. Sinon, si vous utilisez des hôtes virtuels, modifiez le fichier de configuration de chaque hôte:
location ~ \.php$ {
root /usr/share/nginx/html/;
include php.conf;
}
Redémarrez Nginx:
# systemctl restart nginx
Testez PHP
Dans le répertoire approprié, créez test.phpavec le contenu suivant:
<?php phpinfo(); ?>
Dans un navigateur Web, visitez http://YOUR-SERVER-WEB-ADDRESS-OR-IP/test.phpet vous verrez une page Web avec votre version et votre configuration PHP.
N'oubliez pas de supprimer le test.phpfichier de test que vous venez de créer.