« Installer Apache2 » : différence entre les versions

De NCad Wiki
Aller à la navigation Aller à la recherche
(Page créée avec « == Configuration du service SSH pour SFTP == {{ Box Information | objet=Un compte SFTP ne doit pouvoir se connecter qu’au service SFTP du serveur et avoir accès qu’au répertoire home. }} * Editer le fichier de configuration '''/etc/ssh/sshd_config'''. Commenter la ligne suivante : #Subsystem sftp /usr/lib/openssh/sftp-server * Puis, à la fin du fichier, ajouter les lignes suivantes : Subsystem sftp internal-sftp Match group sftp X11Forwa... »)
 
Aucun résumé des modifications
Ligne 50 : Ligne 50 :


{{ Box Console | objet=root@apache2:~# service apache2 restart }}
{{ Box Console | objet=root@apache2:~# service apache2 restart }}
== Installation d’une version spécifique de PHP ==
{{ Box Information | objet=Les versions de PHP proposées dans les dépôts Debian peuvent être obsolètes. Il est donc nécessaire d’ajouter le dépôt SURY qui regroupe un certain nombre de package PHP pour les distribution Linux basées sur Debian. }}
=== Installation ===
* Ajout du dépôt et installation des dépendances :
{{ Box Console | objet=root@apache2:~# curl -sSL https://packages.sury.org/php/README.txt | bash -x }}
* Installation de la version '''8.1''' de PHP ''(exemple à adapter en fonction de la version souhaitée)'' :
{{ Box Console | objet=root@apache2:~# apt-get install php'''8.1''' php'''8.1'''-fpm php'''8.1'''-mysql php'''8.1'''-apcu php'''8.1'''-apcu-bc php'''8.1'''-bz2 php'''8.1'''-cli php'''8.1'''-common php'''8.1'''-curl php'''8.1'''-gd php'''8.1'''-intl php'''8.1'''-ldap php'''8.1'''-mbstring php'''8.1'''-xmlrpc php'''8.1'''-zip libapache2-mod-php'''8.1''' }}
=== Création d’un pool spécifique pour le VHost ===
{{ Box Information | objet=Les pools permettent de contrôler les droits et les ressources utilisés pour chaque VHost hébergés sur le serveur. }}
* Créer le fichier de configuration '''/etc/php/8.2/fpm/pool.d/exemple.conf''' et y <span style="color:orange">adapter</span>/coller les lignes suivantes :
[<span style="color:orange">exemple</span>]
user = <span style="color:orange">exemple</span>
group = <span style="color:orange">exemple</span>
listen = /run/php/php8.2-fpm.<span style="color:orange">exemple</span>.sock
listen.owner = <span style="color:orange">exemple</span>
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
* Redémarrer le service pour prendre en compte les nouveaux paramètres :
{{ Box Console | objet=root@apache2:~# /etc/init.d/php8.2-fpm restart }}
=== Activation au niveau d’un VHost ===
* Editer le fichier de configuration du VHost puis ajouter les éléments suivant avant la balise '''</virtual>''' :
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php'''8.1'''-fpm.<span style="color:orange">exemple</span>.sock|fcgi://localhost"
</FilesMatch>
=== Activation par défaut ===
* Pour activer la version '''PHP 8.1''' par défaut sur le serveur web '''Apache2''' :
{{ Box Console | objet=root@apache2:~# a2enmod proxy_fcgi setenvif<br />
root@apache2:~# a2enconf php8.1-fpm }}

Version du 6 juillet 2024 à 11:22

Configuration du service SSH pour SFTP

Un compte SFTP ne doit pouvoir se connecter qu’au service SFTP du serveur et avoir accès qu’au répertoire home.

  • Editer le fichier de configuration /etc/ssh/sshd_config. Commenter la ligne suivante :
#Subsystem sftp /usr/lib/openssh/sftp-server
  • Puis, à la fin du fichier, ajouter les lignes suivantes :
Subsystem sftp internal-sftp

Match group sftp
       X11Forwarding no
       ChrootDirectory /home/
       AllowTcpForwarding no
       ForceCommand internal-sftp
  • Pour appliquer la configuration, redémarrer le service ssh :

root@apache2:~# service ssh restart

Installation du serveur Web

  • Installation du paquet Apache2 (Serveur Web) et de ses dépendances :

root@apache2:~# apt-get install apache2 apache2-utils

  • Installations de modules complémentaires pour Apache2 notamment pour l’authentification Kerberos :

root@apache2:~# apt-get install libapache2-mod-auth-gssapi libapache2-mod-auth-kerb libapache2-mod-fcgid

  • Installation du module FCGID pour la gestion de requêtes CGI simultanées :

root@apache2:~# apt-get install libapache2-mod-fcgid

  • Installation du module mpm_itk pour l’exécution du processus Apache avec l’utilisateur assigné au VHost :

root@apache2:~# apt-get install libapache2-mod-fcgid

  • Installation du module PHP en version courante (module pour Apache2) et de ses dépendances :

root@apache2:~# apt-get install php php-fpm php-apcu php-apcu-bc php-bz2 php-cli php-common php-curl php-gd php-intl php-ldap php-mbstring php-mysql php-xmlrpc php-zip libapache2-mod-php

  • Activation d’SSL de la réécriture d’url et de FCGI sur Apache2 :

root@apache2:~# a2enmod ssl proxy_fcgi rewrite

  • Redémarrage du service Apache2 pour la bonne prise en compte des nouveaux paramètres:

root@apache2:~# service apache2 restart

Installation d’une version spécifique de PHP

Les versions de PHP proposées dans les dépôts Debian peuvent être obsolètes. Il est donc nécessaire d’ajouter le dépôt SURY qui regroupe un certain nombre de package PHP pour les distribution Linux basées sur Debian.

Installation

  • Ajout du dépôt et installation des dépendances :

root@apache2:~# curl -sSL https://packages.sury.org/php/README.txt

  • Installation de la version 8.1 de PHP (exemple à adapter en fonction de la version souhaitée) :

root@apache2:~# apt-get install php8.1 php8.1-fpm php8.1-mysql php8.1-apcu php8.1-apcu-bc php8.1-bz2 php8.1-cli php8.1-common php8.1-curl php8.1-gd php8.1-intl php8.1-ldap php8.1-mbstring php8.1-xmlrpc php8.1-zip libapache2-mod-php8.1

Création d’un pool spécifique pour le VHost

Les pools permettent de contrôler les droits et les ressources utilisés pour chaque VHost hébergés sur le serveur.

  • Créer le fichier de configuration /etc/php/8.2/fpm/pool.d/exemple.conf et y adapter/coller les lignes suivantes :
[exemple]
user = exemple
group = exemple
listen = /run/php/php8.2-fpm.exemple.sock
listen.owner = exemple
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
  • Redémarrer le service pour prendre en compte les nouveaux paramètres :

root@apache2:~# /etc/init.d/php8.2-fpm restart

Activation au niveau d’un VHost

  • Editer le fichier de configuration du VHost puis ajouter les éléments suivant avant la balise </virtual> :
<FilesMatch \.php$>
	SetHandler "proxy:unix:/run/php/php8.1-fpm.exemple.sock|fcgi://localhost"
</FilesMatch>

Activation par défaut

  • Pour activer la version PHP 8.1 par défaut sur le serveur web Apache2 :

root@apache2:~# a2enmod proxy_fcgi setenvif
root@apache2:~# a2enconf php8.1-fpm