# Préparation d'un serveur Linux ## Connexion * Se connecter à la VM en **mode Console** avec l'utilisateur *systel* (pour Ubuntu) ou *oracle* (pour Oracle). * Passer en **root** à l'aide de la commande `sudo su` ou `su root`. ## Configuration Automatique de la VM via Script (pour Ubuntu) * Les modèles Ubuntu disposent du script `/home/systel/configuration.sh`, qui automatise les opérations suivantes : génération d'un nouvel identifiant de machine, régénération des clés SSH, configuration réseau, mise à jour du nom de la VM et du fichier `hosts`, mise à jour du proxy APT (TELEML), configuration du fuseau horaire et de la synchronisation NTP, et configuration de la VM pour START, STARTMOB ou STARTPHONE selon le modèle STARTx. * Depuis le répertoire `/home/systel`, exécuter le script avec la commande `./configuration.sh`, puis saisir les informations demandées (voir DCSR). * Passer directement à la rubrique **Pilotes de l'hyperviseur**. ## Configuration Manuelle ### Configuration Réseau * Déterminer le nom de l'interface réseau avec la commande `ip a`. * Modifier le fichier `/etc/netplan/50-cloud-init.yaml` (Ubuntu) ou `/etc/sysconfig/network-scripts/ifcfg-enXXX` (Oracle). Remplacer `XXX` par le nom de l'interface réseau. Si nécessaire, utiliser la commande `mv` pour renommer le fichier. * Renseigner les paramètres à partir des informations du DCSR. Les serveurs AD font office de serveurs DNS. * Enregistrer le fichier, puis appliquer la configuration avec `netplan apply` (Ubuntu) ou `service network restart` (Oracle). ### Configuration du nommage * Modifier le fichier `hosts` avec la commande `nano /etc/hosts`. * Remplacer les `x` par les informations correspondant à votre infrastructure et à votre serveur. * Modifier le fichier `hostname` avec la commande `nano /etc/hostname`. * Remplacer les `x` par les informations correspondant à votre serveur. ### Configuration du temps #### Zone de temps * Pour la France métropolitaine, définir le fuseau horaire avec `timedatectl set-timezone Europe/Paris`. Pour consulter les fuseaux disponibles, utiliser `timedatectl list-timezones`. * Il est également possible d'utiliser `dpkg-reconfigure tzdata`, qui ouvre une interface graphique. Cette commande ne fonctionne pas sous Oracle. #### Client NTP * Les clients NTP sont préconfigurés pour utiliser les serveurs AD1 et AD2. Vérifier leur configuration dans `/etc/systemd/timesyncd.conf` (Ubuntu) ou `/etc/chrony.conf` (Oracle), à l'aide de la commande `nano`. * Après toute modification, redémarrer le client NTP avec `systemctl restart systemd-timesyncd.service` (Ubuntu) ou `service chronyd restart` (Oracle). * Vérifier la synchronisation de l'heure avec la commande `timedatectl`. #### Régénérer les clés SSH ```bash rm -f /etc/ssh/ssh_host_* dpkg-reconfigure openssh-server ``` #### Générer un nouvel ID de machine ```bash cloud-init clean --logs --seed rm -f /etc/machine-id rm -f /var/lib/dbus/machine-id systemd-machine-id-setup ``` ### Pilotes de l'hyperviseur #### VMware * Si votre VM fonctionne sur un hyperviseur VMware, les pilotes **open-vm-tools** sont déjà installés. #### Nutanix * En ligne de commande, désinstaller les paquets **open-vm-tools** à l'aide des commandes suivantes : ```bash sudo apt remove open-vm-tools open-vm-tools-desktop sudo apt purge open-vm-tools open-vm-tools-desktop sudo apt autoremove --purge ``` * Dans **Prism Central**, faire un clic droit sur la VM, puis sélectionner **Guest Tools** > **Set Up NGT**. * Choisir les paramètres suivants : **Choose Preference** > **New NGT Installation** ; **Configure Applications** > ne rien cocher ; **Install** > **Mount Installer**. * Sur le serveur, lancer l'installation à l'aide des commandes suivantes : * Pour **monter l'ISO** d'installation : ```bash sudo mount /dev/sr0 /mnt ``` * Pour **installer** les pilotes : ```bash python3 /mnt/installer/linux/install_ngt.py ``` * Pour vérifier que le **service est actif** ```bash sudo service ngt_gues_agent status ``` * Si l'installation échoue, vérifier le message d'erreur et relancer la commande `python3 /mnt/installer/linux/install_ngt.py` si nécessaire.