CentOS

De InfoXelec
Aller à la navigation Aller à la recherche

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

Apache