Documentation de création d'un serveur GNU/Linux sous Red Hat Enterprise Linux en version 5.x. La version 5.3 a été utilisée pour cet opus et sur une machine virtuelle sous VMware ESX 3.5 et ESXi 4.1.
Dans l'ancien template (pour VMware ESX 3.5), le déploiement était basé sur Firstboot. C'est l'interface graphique Red Hat lancée au démarrage qui permet d'accéder à différents outils de configuration post installation. L'adresse IP du template était fixe et un script post firstboot modifiait l'adresse IP qu'on avait choisit dans la configuration de plusieurs services comme Apache, Webmin, Monit ou VNC.
A partir de VMware ESXi 4.x, le déploiement de template GNU/Linux peut être facilement personnalisé directement dans VMware.
Le template d'aujourd'hui est donc beaucoup plus simple à créer, à modifier et à mettre à jour. Par exemple, pour mettre à jour les paquets du système (RHN), on convertit le template en machine virtuelle et on l'allume sans se poser de question sur des éventuelles adresses du fait du DHCP. A priori, un grand bon en terme de facilité d'utilisation est arrivé avec ce nouveau template pour son utilisation au jour le jour.
Création de la machine virtuelle en choisissant la possibilité de personnalisation (“Custom”) et entrer les valeurs suivantes.
Accueil DVD : Enter pour booter. Passer la vérification du CD si l'image iso a déjà bénéficiée d'une vérification md5. Cette vérification prouve que le téléchargement s'est bien déroulée et qu'on dispose de la copie exacte du fichier sans morceaux perdu. Ceci arrive plus souvent qu'on ne le croit. Il faut absolument vérifier les iso des systèmes avant des les installer.
Anaconda est le gestionnaire graphique d'installation.
Créer une nouvelle partition en tant que physical volume (LVM).
Cf. documentation Decoupage_Disques dans les Fonctionnalités Linux pour connaître les tailles et les volumes logiques à créer.
Les serveurs sont en DHCP au niveau IP avec possibilité ipv4 ou ipv6.
Essayer de choisir le moins de paquetages possibles pour la bonne et simple raison que le jour où on en a besoin en une commande l'outil désiré sera installé. Il n'est donc pas nécessaire d'installer un outil partout si on s'en sert uniquement sur une seule machine.
Enlever le DVD et redémarrer. On accède au firstboot, dernier assistant graphique avant de terminer l'installation.
Redémarrer et faire les mises à jour avec l'outil graphique ou dans un terminal en root avec yum update.
Clique droit sur la vm dans le VMware Infrastructure Client et Install/Upgrade VMware Tools.
Cela monte un CD-ROM avec les VMware tools pour le système utilisé.
Pour le système i386, c'est plus simple, il suffit d'installer le RPM.
rpm -ivh VMwareTools......i386.rpm
Lancer ensuite le script de configuration.
vmware-config-tools.pl Répondre 3 pour 1024x768 et valider.
Redémarrer par reboot
.
Pour la version 64 bits.
cp /media/VMwareTools/VMwareTools......tar.gz /tmp cd /tmp tar xzvf VmwareTools......tar.gz cd vmware-tools-distrib ./vmware-install.pl
Répondre par enter à toutes les questions. Il faut laisser les options par défaut car elles sont bonnes.
Finir par un reboot.
Pour certains services comme Tina, il faut avoir une adresse IP et un nom DNS déclaré. Si ce n'est pas le cas, le service Tina ne démarre pas.
Édition du fichier /etc/sysconfig/network-scripts/ifcfg-eth0
.
DEVICE=eth0 BOOTPROTO=none IPADDR=<@IP> NETMASK=255.255.0.0 HWADDR=00:50:56:85:53:F0 # Supprimer cette ligne sous VMware ESX 3.5 et inférieur, sinon problème car changement d'adresse MAC lors du déploiement (plus d'actualité avec vSphere 4.1, il faut la laisser) ONBOOT=yes TYPE=Ethernet USERCTL=no IPV6INIT=no PEERDNS=yes GATEWAY=<@IP Gateway>
Édition du fichier /etc/sysconfig/network
.
NETWORKING=yes HOSTNAME=<hostname>.<domain>
Édition du fichier /etc/hosts
.
@IP <hostname> <hostname>.<domain> 127.0.0.1 localhost.localdomain localhost
Configurer le /etc/wgetrc
des systèmes avec le compte dédié au téléchargement de paquets.
http_proxy = http://<login>:<password>@<proxy_name>.<domain>:<port>/
Ajouter le proxy dans le fichier /etc/sysconfig/rhn/up2date
suivant.
Ceci configure le proxy pour le client Red Hat Network et uniquement ce dépôt. Si on utilise un autre dépôt yum, il faut faire en sorte que le client yum sache utiliser le proxy (pour cela se reporter un peu plus loin pour la configuration de /etc/yum.conf
).
enableProxyAuth[comment]=To use an authenticated proxy or not enableProxyAuth=0 networkRetries[comment]=Number of attempts to make at network connections before giving up networkRetries=5 hostedWhitelist[comment]=RHN Hosted URL's hostedWhitelist= enableProxy[comment]=Use a HTTP Proxy enableProxy=1 serverURL[comment]=Remote server URL serverURL=https://xmlrpc.rhn.redhat.com/XMLRPC proxyPassword[comment]=The password to use for an authenticated proxy proxyPassword= proxyUser[comment]=The username for an authenticated proxy proxyUser=<proxy_name>.<domain> disallowConfChanges[comment]=Config options that can not be overwritten by a config update action disallowConfChanges=noReboot;sslCACert;useNoSSLForPackages;noSSLServerURL;serverURL;disallowConfChanges; sslCACert[comment]=The CA cert used to verify the ssl server sslCACert=/usr/share/rhn/RHNS-CA-CERT debug[comment]=Whether or not debugging is enabled debug=0 httpProxy[comment]=HTTP proxy in host:port format, e.g. squid.redhat.com:3128 httpProxy=<proxy_name>.<domain>:<port>
La configuration du proxy pour yum et les autres dépôts du système se situe dans /etc/yum.conf
.
Ajouter les lignes suivantes.
proxy=http://<proxy_name>.<domain>:<port>/ proxy_username=<login> proxy_password=<password> exclude=kernel*
L'exclusion du kernel permet de ne pas installer le kernel par défaut. L'installation des mises à jour par l'interface web RHN ne peut donc installer les kernels.
Pour ajouter le dépôt epel cf. Gestionnaire paquets GNU/Linux.
Mettre sendmail au démarrage du système.
chkconfig sendmail on
Configurer le fichier /etc/mail/sendmail.cf
pour relayer les mails vers le serveur <mailserver_name>.<domain>.
Modifier la ligne avec DS de cette manière.
DS<mailserver_name>.<domain>
NE PAS MODIFIER le fichier /etc/aliases
pour le compte root.
Ainsi les mails root ne seront pas redirigés vers la boîte de supervision <mailbox_supervision>@<domaine>. C'est ce qu'on veut.
Laisser en commentaire comme c'est par défaut.
# Person who should get root's mail #root: marc
Cf. Logwatch.
Modifier le fichier /etc/sysconfig/i18n
avec les valeurs suivantes.
LANG="fr_FR" SUPPORTED="en_US.UTF-8:en_US:en:fr_FR.UTF-8:fr_FR:fr:fr_FR.ISO-8859-1:fr_FR.ISO-8859-15" SYSFONT="latarcyrheb-sun16"
Modifier le fichier /etc/sysconfig/i18n
avec les valeurs suivantes.
LANG="fr_FR.UTF-8" SYSFONT="latarcyrheb-sun16"
Ce fichier sert à passer le système en ISO ou UTF-8. Le mieux est de passer les connexions putty en utilisant UTF-8 et de laisser le serveur uniquement en UTF-8. C'est mieux pour l'avenir car c'est l'UTF-8 l'avenir et non l'ISO.
Par défaut c'est la configuration UTF-8 qui est configuré, il n'y a rien à toucher.
Ajouter les alias dans /etc/bashrc pour qu'ils soient pris en compte pour tout les comptes du système.
alias vi='vim' alias ll='ls -l' alias l='ls'
Appliquer la configuration xdmcp (X Display Manager Control Protocol) à Gnome.
/etc/gdm/custom.conf
[xdmcp] Enable=true [security] AllowRemoteRoot=true
gdm-restart
pour redémarrer Gnome.
Avec un serveur X sous Windows (Xming) ou encore mieux GNU/Linux, on peut prendre l'affichage à distance sans utiliser VNC.
Pour lancer l'interface tina, ou un outil de configuration graphique Red Hat (system-config-*) de la machine Linux via putty en SSH, il faut utiliser un serveur X sous Windows comme Xming. Installer Xming en le téléchargeant sur le net. Le lancer : il sera dans la barre des tâches. Dans la configuration putty, il faut activer le forwarding X11 et sauvegarder la configuration associée à chaque hôte. Se connecter en SSH sur le serveur, exécuter les commandes de lancement des outils graphiques et l'outil s'affichera sur votre poste Windows. Ce principe est également valable pour un système client Linux. Ceci est très pratique à l'utilisation et remplace aisément VNC sur les serveurs.
Pas de VNC d'installé sur les templates car on peut prendre la console du système via le VMware Infrastructure Client, et via XDMCP avec un serveur X sur son poste.
Installer lsscsi
yum install lssci
Utiliser la commande chkconfig pour enlever les processus inutiles du démarrage.
Lister les services qui sont démarrés.
/sbin/service –status-all
Lister les services au démarrage.
chkconfig --list | grep marche
Pour enlever le service du démarrage.
chkconfig nomservice off (on pour le remettre)
On peut spécifier les runlevels avec l'option –level
.
Liste des services enlevés du démarrage.
apmd (invoque la gestion d'énergie avancée (Advanced Power Management = APM) du BIOS) arptables_jf (control which ARP datagrams are dropped) autofs (Montage automatique des disques et partitions) bluetooth and hidd (Bluetooth Human Interface Device Daemon. It provides keyboard, mouse, and track-ball device support over Bluetooth) cups (impression) iptables (pare-feu) lm_sensors (sonde temperature) mdmonitor (software raid)) readahead_later (Lire d'avance une ou plusieurs pages en mémoire cache : accélérer le démarrage) readahead_early (idem précédent) smartd (gestion des disques durs) sendmail (serveur mail) hplip (HPLIP works CUPS by providing a backend to connect to HP devices for printing or scanning.) pscd (This is the PC/SC Smart Card Daemon. pcscd is the daemon for pcsc-lite (middleware for accessing smart cards) and the (java-based) MuscleCard framework)
Pour la documentation de paramétrage voir NTP / date.
Se reporter à la documentation prévue à cet effet pour l'installation. Pour la documentation de paramétrage voir tina.
Installer l'agent Altiris. Récupérer l'agent pour la version i386 et x86_64 du serveur srv-ads et copier le logiciel sur le serveur.
Lancer l'installation.
sh altiris-adlagent-2.6-65.i386.bin
Au démarrage suivant, il sera automatiquement installé. Pour le démarer tout de suite, exécuter le script de lancement.
/etc/init.d/adlagent start
Se reporter à la documentation prévue à cet effet snmp_mrtg.
Ajout de la clé RSA publique du serveur d'infrastructure sur le template de façon à pouvoir se connecter en SSH en provenance de ce serveur vers n’importe quel système GNU/Linux sans demande de mot de passe.
Il faut copier le contenu du fichier /root/.ssh/id_rsa.pub
dans un fichier nommé /root/.ssh/authorized_keys
sur le serveur Linux Template.
Pour faire cela, connecté sur le serveur d'infrastructure entrer la commande suivante.
scp /root/.ssh/id_rsa.pub @IP_DE_LA_MACHINE:/root/.ssh/authorized_keys
Directement après on peut se connecter sans mot de passe.
Cette manipulation offre la possibilité de créer des scripts qui se connectent en SSH sur les serveurs GNU/Linux pour y exécuter des actions. Cela est très pratique.
Pas de clamav d'installé car les serveurs qui ont besoin d'un antivirus, on installe l'agent Server Protect for Linux. Ceci dépend du nombre de licence dont nous disposons. Syslog La configuration de syslog afin qu'il envoi ces logs au serveurs syslog n'est pas configurée. Ce n'est pas le cas car le serveur syslog va être migré et un changement d'IP interviendra peut-être. Il suffit d'ajouter une ligne dans le fichier de configuration, cf. syslog .
Comparer les paquetages entre la version 32 et 64 bits de façon à ce qu'ils aient les mêmes paquets d'installés.
Supprimer notamment les paquets suivants qui ne servent à rien.
pcmciautils vnc-server
Il faut aussi supprimer le paquetage vino si il est présent avec un rpm -e vino
. Ce service répond au même besoin que VNC mais il est beaucoup moins stable puisqu'on a eu plusieurs fois des blocages à 100% du CPU.
Modifier le fichier de configuration de SaMBa situé dans /etc/samba/smb.conf. Modifier la valeur du workgroup.
workgroup = <workgroup_name>
Ainsi, lors d'un déploiement, toutes les VM ont le même groupe de travail.
Se reporter à la documentation Mise à jour sécurité automatique.
Par convention, tous les scripts sont placés dans /opt/scripts
au même endroit que le script de mise à jour automatique. Les logs de ces scripts sont tous positionnés dans /opt/scripts/log
.
Toujours penser aux quatre choses suivantes
/opt/scripts
./opt/scripts/log
./etc/logrotate.d/nom_fichier_rotation
./etc/cron.d/nom_fichier_cron
.
Lorsqu'on est en session console via la console déporté du VMware Infrastructure Client, par défaut on est en résolution basse. Pour avoir plus de données d'affichées, il faut changer la résolution.
Il faut éditer le fichier /boot/grub/menu.lst
qui est le fichier de configuration de GRUB, le chargeur de démarrage et ajouter à la fin de la ligne kernel l'option vga
.
title Red Hat Enterprise Linux Server (2.6.18-128.1.16.el5) root (hd0,0) kernel /vmlinuz-2.6.18-128.1.16.el5 ro root=/dev/rootvg/rootlv rhgb quiet vga=791 initrd /initrd-2.6.18-128.1.16.el5.img
Les valeurs à passer à vga
sont expliquées ici : http://doc.ubuntu-fr.org/installation/definition_demarrage ou encore plus en détail sur la page wikipédia : http://en.wikipedia.org/wiki/VESA_BIOS_Extensions#VESA_video_mode_numbers
Remarque : lorsqu'un nouveau noyau est installé (Mise à jour), l'option vga
va automatiquement être répercutée sur le nouveau noyau.