CentOS
CentOS fait parti des distributions dérivées de RHEL (Red Hat Entreprise Linux).
End Of Life
CentOS Linux ne va plus exister et sera remplacé par CentOS Stream qui ne peut pas être utilisé pour de la production
car il ne sera plus une version stable.
CentOS 7 suivi jusqu'au 30 Juin 2024
Suite aux annonces, il les projets RockyLinux et AlmaLinux ont été créés pour remplacer CentOS
AlmaLinux Fondation a créé un outil Elevate permettant de migrer de CentOS vers AlmaLinux. https://almalinux.org/fr/elevate/
Gestionnaire de paquets
CentOS utilise DNF comme gestionnaire de paquets. Il a remplacé YUM mais la commande yum reste utilisable sur les nouvelles versions car un alias a été créé.
Voici les commandes utiles de DNF :
Lister les dépôts : dnf repolist
Lister les paquets disponibles : dnf list \*nom\*
Lister les paquets installés : dnf list installed
Lister les paquets nécessaires à une application : dnf whatprovides cmd
Trouver les dépôts d'une application : dnf provides /chemin/application
Installer un paquet : dnf install nom
Télécharger un paquet pour installation hors ligne : dnf download paquet --resolve
Installer un paquet local RPM : dnf localinstall paquet.rpm
Lister les mises à jour disponibles : dnf check-update
Mettre à jour les paquets : dnf update
Enlever un paquet : dnf remove nom
ou dnf erase nom
Supprimer un paquet et ses fichiers de configuration : dnf purge nom
Pour ajouter le dépôt EPEL (Extra Packages for Entreprise Linux) sur les versions RHEL9, il faut entrer la commande :
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
Définition des groupes utilisateurs
- adm : Utilisé pour les tâches d'administration système. Les membres de ce groupe peuvent accéder aux fichiers journaux et autres fichiers d'administration.
- bin : Utilisé pour les fichiers binaires essentiels du système. Les membres de ce groupe peuvent accéder et exécuter des fichiers binaires situés dans des répertoires comme /bin.
- daemon : Utilisé pour les processus en arrière-plan (daemons) qui s'exécutent sans intervention utilisateur.
- kmem : Utilisé pour l'accès à la mémoire noyau. Les membres de ce groupe peuvent accéder à la mémoire utilisée par le noyau.
- disk : Utilisé pour l'accès direct aux périphériques de disque. Les membres de ce groupe peuvent accéder aux périphériques de disque sans passer par les montages.
- games : Utilisé pour les jeux. Les membres de ce groupe peuvent accéder aux fichiers de jeux.
- lp : Utilisé pour l'impression. Les membres de ce groupe peuvent accéder aux périphériques d'impression.
- mail : Utilisé pour les fichiers de courrier électronique. Les membres de ce groupe peuvent accéder aux fichiers de courrier.
- man : Utilisé pour les pages de manuel. Les membres de ce groupe peuvent accéder aux fichiers des pages de manuel.
- mem : Utilisé pour l'accès à la mémoire physique. Les membres de ce groupe peuvent accéder directement à la mémoire du système.
- nobody : Utilisé pour les processus qui ne nécessitent pas de privilèges particuliers. Les membres de ce groupe ont des privilèges très limités.
- root : Le groupe principal de l'utilisateur root (administrateur système). Les membres de ce groupe ont des privilèges complets sur le système.
- sys : Utilisé pour les fichiers et processus système. Les membres de ce groupe peuvent accéder à des fichiers système critiques.
- tty : Utilisé pour les terminaux virtuels. Les membres de ce groupe peuvent accéder aux périphériques de terminal.
- uucp : Utilisé pour les transferts de fichiers Unix-to-Unix Copy (UUCP). Les membres de ce groupe peuvent accéder aux fichiers et périphériques utilisés par UUCP.
- users : Utilisé comme groupe par défaut pour les utilisateurs normaux. Les membres de ce groupe ont des privilèges standard.
- wheel : Utilisé pour les utilisateurs qui ont besoin d'accéder à des commandes administratives via sudo. Les membres de ce groupe peuvent exécuter des commandes avec des privilèges élevés.
Installation serveur Web
Installation de PHP-FPM
Afin de pouvoir utiliser des versions différentes de PHP sur le même serveur, il faut utiliser PHP FPM (FastCGI Process Manager).
Cela permet aussi de mieux gérer la charge.
Il faut vérifier que les dépôts REMI soient configurés
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Mettre à jour les dépôts : dnf update
Installer PHP 7.4 :
dnf module reset php
dnf module enable php:remi-7.4
dnf install php74 php74-php-fpm php74-php-mbstring
systemctl enable --now php74-php-fpm.service
Installer PHP 8.2 :
dnf module reset php
dnf module enable php:remi-8.2
dnf install php82 php82-php-fpm php82-php-mbstring
systemctl enable --now php82-php-fpm.service
NGINX
L'installation se fait avec la commande dnf install nginx
Activer le serveur NGINX au démarrage : systemctl enable --now nginx
Modifier le pare-feu :
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Il faut ensuite modifier la configuration de PHP-FPM afin de changer l'utilisateur.
cela se fait en éditant le fichier /etc/opt/remi/php74/php-fpm.d/www.conf et en modifant les paramètres suivants
user = nginx group = nginx listen.acl_users = apache,nginx
Il faut aussi le faire pour le fichier /etc/opt/remi/php82/php-fpm.d/www.conf
Valider la configuration avec la commande systemctl restart php74-php-fpm.service
et systemctl restart php82-php-fpm.service