Désactiver IPv6 sous RedHat EL et CentOS 7

La solution la plus simple et efficace pour désactiver totalement la prise en charge IPv6 sous RedHat Enterprise Linux et CentOS en version 7 est de le désactiver au niveau du programme d’amorçage GRUB.

Cette solution est bien spécifique aux version 7.x de RHEL/CentOS et n’est pas compatible pour les versions antérieures.

Pour cela, éditer le fichier /etc/default/grub :

# vim /etc/default/grub

Ajouter ipv6.disable=1 à la fin du paramètre GRUB_CMDLINE_LINUX (avant le caractère ") :

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet ipv6.disable=1"

Puis générer le fichier grub.cfg grâce à la commande grub2-mkconfig :

# grub2-mkconfig -o /boot/grub2/grub.cfg

Enfin, redémarrer le système pour la prise en compte du support IPv6 :

# reboot

Après redémarrage, si vous listez les interfaces vous ne devriez plus avoir de ligne inet6 comme ici :

AVANT

# ip addr show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

APRES

# ip addr show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever

Si tel est le cas, c’est bon, le support IPv6 est désactivé ! Pour le réactiver, il suffit de suivre cette même procédure en supprimant le motif ipv6.disable=1.

CentOS 6 : schéma de partitionnement

Introduction

Suite à l'installation d'un nouveau serveur muni du système d'exploitation CentOS en version 6, je me suis posé la question du partitionnement.

Après la lecture de la documentation officielle de RedHat sur le sujet, j'en suis arrivé à la conclusion que le schéma de partitionnement ci-dessous convenait très bien pour un serveur avec 2 Gio de RAM et quelque soit la taille du disque dur associé.

Schéma

  • /boot : 256 Mio
  • / : 4 Gio
  • swap : 4 Gio
  • /home : 256 Mio
  • /tmp : 256 Mio
  • /var : 4 Gio

Explication des tailles

Malgré le gros disque dur, il ne me semble pas nécessaire de tailler de grosses partitions dès le départ puisqu'elles peuvent facilement s'agrandir par la suite en fonction des besoins, d'autant que c'est une opération faisable à chaud via LVM (sauf les partitions / et /boot qui ne sont pas en LVM mais qui ne sont pas sensés grossir après l'installation, sauf à empiler les kernel 🙂 ).

Par ailleurs, je considère que les applications principales devraient avoir leur propre volume logique pour le stockage des logs et données, le schéma indiqué ici ne devrait donc s'appliquer qu'à l'espace utilisé par le système et les applications mineures.

  • /boot : destiné à accueillir le noyau du système d'exploitation, je le laisse à la taille recommandée de 256 Mio
  • / : contient la plupart des fichiers et logiciels du système d'exploitation, notamment dans /usr que RedHat ne conseille pas de placer sur une partition séparée pour des questions de compléxité du processus de démarrage
  • swap : avec 2 Gio de RAM, on peut encore utiliser la formule de calcul "swap = 2 * RAM". Au-delà et jusque 8 Gio, mettre la même taille que la RAM
  • /home : taille minimum, à ajuster plus tard en fonction du nombre d'utilisateurs et de leurs besoins
  • /tmp : taille minimum
  • /var : contient des applications et sert de base au téléchargement des mises à jours de paquets : une taille de 4 Gio est plutôt conseillée

Et après ?

Le reste de la taille sera affecté à un ou plusieurs groupe de volumes LVM afin de pouvoir le distribuer plus tard aux différentes applications hébergées sur le serveur.

Variantes

Quelques variantes discutées dans les commentaires :

  • /home à 1 Gio
  • /var à 8 Gio
  • /tmp à 4 Gio
  • placer /usr et /lib dans des volumes séparés plutôt que dans /, et avoir un / plus petit

Authentifier avec Apache

Le but de cette petite note est l'authentification simple avec Apache permettant un contrôle d'accès sur un site.

L'environnement est un serveur Ubuntu en version 12.04 LTS muni d'un noyau Linux en version 3.2.13 et d'un serveur Apache en version 2.2.22.

1 – Créer un fichier utilisateur

La première chose à faire est de créer un fichier contenant les utilisateurs et mots de passe qui pourront se connecter au site.

Pour cela, il faut utiliser l'utilitaire htpasswd fourni par Apache.

La commande prendra trois arguments :

  • -c : pour créer le fichier, à ne plus utiliser lors de l'ajout d'autres utilisateurs
  • le nom du fichier contenant les utilisateurs/mots de passe
  • l'utilisateur à ajouter

Nous allons donc créer le fichier par l'ajout d'un premier utilisateur, la commande nous demandera ensuite de taper deux fois le mot de passe associé :

# htpasswd -c /etc/apache2/passwords toto
New password:
Re-type new password:
Adding password for user toto

Le nom et l'emplacement du fichier sont libres, attention à ne pas le mettre dans un répertoire accessible depuis l'Internet !

2 – Configurer Apache

La configuration de l'authentification peut se faire dans un fichier .htaccess situé dans le répertoire à protéger, ou dans une directive <Directory> de la configuration du site.

C'est cette deuxième méthode qui sera utilisée ici. Dans la section <Directory> correspondant au répertoire à protéger, nous allons ajouter ces directives :

AuthType Basic

Indique le type d'authentification, ici Basic. Attention, cela signifie que les mots de passe passeront en clair sur le réseau, ce type d'authentification est à coupler avec l'utilisation d'une couche SSL.

AuthName "Restricted Area"

Le nom de la zone à protéger. Elle sert à la fois d'information au visiteur mais permet aussi de regrouper plusieurs emplacements, évitant ainsi à l'utilisateur de devoir se ré-authentifier à chaque changement d'emplacement.

AuthBasicProvider file

Le fournisseur de l'authentification, ici un fichier. Ce pourrait être une base de données ou un LDAP par exemple.

AuthUserFile /etc/apache2/passwords

Comme on a précisé avant que l'on utilisé un fichier, cette directive indique son emplacement.

Require valid-user

Ce qui est requis pour accéder au répertoire. Ce pourrait être un nom d'utilisateur, ici on indique plutôt que tout utilisateur présent dans le fichier peut accéder au répertoire si son authentification a réussie.

3 – Redémarrer et tester

Il n'y a plus qu'à redémarrer Apache pour la prise en compte des modifications de configuration :

# service apache2 reload
 * Reloading web server config apache2                                                                    [ OK ]

Et à tester en se rendant sur la page : devrait alors apparaitre une boite de dialogue permettant de s'authentifier avec l'utilisateur et mot de passe configurés précédemment !

Installer et configurer vsFTPd

vsFTPd (pour Very Secure FTP Daemon) s'annonce lui-même comme étant "probablement le plus sur et le plus rapide des serveurs FTP pour systèmes Unix".

La configuration portera essentiellement sur deux usages :

  • utilisation du FTP avec du SSL
  • utilisation du FTP avec des utilisateurs virtuels qui peuvent uloader

L'environnement est un serveur Ubuntu en version 12.04 LTS muni d'un noyau Linux en version 3.2.13.

Continuer la lecture de « Installer et configurer vsFTPd »

Apache : ajouter un nouveau serveur virtuel par nom

La création de serveurs virtuels par nom dans Apache permet de faire cohabiter plusieurs sites sur une même adresse IP, chaque site étant accédé par son propre nom.

On aura ainsi, par exemple, deux sites Web http://monsite1.com et http://monsite2.fr qui pourront être hébergés dans le même serveur Apache tout en ne possédant qu'une seule adresse IP.

C'est la méthode la plus couramment utilisée pour créer des serveurs virtuels. L'autre méthode, la création de serveurs virtuels par IP, n'est à utiliser que dans des cas particuliers.

Logiciel utilisé : Apache 2.2.17

Distribution Linux : Ubuntu Server 11.04, Linux 2.6.38

Note : l'emplacement des fichiers de configuration est donné par rapport à l'installation du serveur Apache via Ubuntu Server. Pour une installation à partir des sources, toutes les directives seront à mettre dans le fichier httpd.conf. et la création du lien symbolique pour l'activation du site n'est pas nécessaire.

Continuer la lecture de « Apache : ajouter un nouveau serveur virtuel par nom »

Ubuntu Server : installer un serveur LAMP (Linux Apache MySQL PHP)

Un serveur LAMP est un serveur utilisant 4 composants particuliers, destiné dans la plupart des cas à la publication de sites Web :

  • Linux : le système d'exploitation
  • Apache : le serveur Web
  • MySQL : le serveur de base de données
  • PHP : le langage de script

Le but ici est d'installer ces différents composants à partir des paquetages de la distribution Ubuntu Server 13.10 qui utilise actuellement les versions suivantes des composants :

  • Linux v3.10.23
  • Apache v2.4.6
  • MySQL v5.5.37
  • PHP v5.5.3

L'installation de l'ensemble est aisé grâce aux paquetages fournis par la distribution Ubuntu Server, le tout étant de les installer dans le bon ordre 🙂

Les étapes seront les suivantes :

  1. Installer le serveur Apache
  2. Installer le module PHP pour Apache
  3. Installer le serveur MySQL
  4. Installer le module MySQL pour PHP

Article mis à jour pour Ubuntu Server 13.10

Continuer la lecture de « Ubuntu Server : installer un serveur LAMP (Linux Apache MySQL PHP) »

Ubuntu Server : nouveau serveur et consommation mémoire

Je viens de réinstaller un serveur dédié avec une distribution Ubuntu Server en version 11.04 et un noyau Linux 2.6.38.
Envie de voir comment se comporte la version Server d'Ubuntu par rapport à un serveur Debian 🙂 (sachant que je suis plutôt allergique à la version Desktop d'Ubuntu …).

Première impression plutôt positive : je regarde la consommation mémoire de mon serveur fraichement installé : moins de 100 Mio (99 Mio pour être précis). Ce qui est plutôt de bonne augure pour la suite !

Autre résolution qui va de paire avec le choix de cette distribution qui offre des packages plus souvent mis à jour qu'une Debian : utiliser les packages fournis plutôt que de compiler les sources … à voir à l'usage si c'est plus avantageux …