GNU/Linux >> Tutoriels Linux >  >> Cent OS

Le serveur parfait – CentOS 7 (Apache2, Dovecot, ISPConfig 3)

Ce tutoriel existe pour ces versions d'OS

  • CentOS 7.6
  • CentOS 7.4
  • CentOS 7.3
  • CentOS 7.2
  • CentOS 7.1
  • CentOS 7

Sur cette page

  1. Manuel ISPConfig 3
  • 1 Exigences
  • 2 Remarque préliminaire
  • 3 Définir la disposition du clavier
  • 4 Ajuster /etc/hosts
  • 5 Configurer le pare-feu
  • 6 Désactiver SELinux
  • 7 Activer des référentiels supplémentaires et installer des logiciels
  • 8 quotas
  • Activation du quota sur la partition / (racine)
  • Activer le quota sur une partition /var distincte
  • 9 Installer Apache, MySQL, phpMyAdmin
  • Ce tutoriel montre comment préparer un serveur CentOS 7 x86_64 pour l'installation d'ISPConfig 3 et comment installer ISPConfig 3. ISPConfig 3 est un panneau de contrôle d'hébergement Web qui vous permet de configurer les services suivants via un navigateur Web :serveur Web Apache, messagerie Postfix serveur, MySQL, serveur de noms BIND, PureFTPd, SpamAssassin, ClamAV, Mailman et bien d'autres. Depuis la version 3.0.4, ISPConfig est livré avec un support complet pour le serveur Web nginx en plus d'Apache ; ce tutoriel couvre la configuration d'un serveur qui utilise Apache, pas nginx.

    Manuel ISPConfig 3

    Afin d'apprendre à utiliser ISPConfig 3, je vous recommande fortement de télécharger le manuel ISPConfig 3.

    Sur plus de 300 pages, il couvre le concept derrière ISPConfig (administrateur, revendeurs, clients), explique comment installer et mettre à jour ISPConfig 3, inclut une référence pour tous les formulaires et champs de formulaire dans ISPConfig ainsi que des exemples d'entrées valides, et fournit des tutoriels pour les tâches les plus courantes dans ISPConfig 3. Il explique également comment rendre votre serveur plus sécurisé et est accompagné d'une section de dépannage à la fin.

    1 Exigences

    Pour installer un tel système, vous aurez besoin des éléments suivants :

    • Un système de serveur minimal Centos 7. Il peut s'agir d'un serveur installé à partir de zéro, comme décrit dans notre didacticiel sur le serveur minimal Centos 7, ou d'un serveur virtuel ou d'un serveur racine d'une société d'hébergement sur laquelle une configuration minimale de Centos 7 est installée.
    • Une connexion Internet rapide.

    2 Remarque préliminaire

    Dans ce tutoriel, j'utilise le nom d'hôte server1.example.com avec l'adresse IP 192.168.1.100 et la passerelle 192.168.1.254. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant.

    3 Définir la disposition du clavier

    Le programme d'installation actuel de CentOS 7 a un bogue, vous pouvez donc vous retrouver avec une disposition de clavier différente sur le shell que celle sélectionnée lors de l'installation. Si vous rencontrez ce bogue, vous pouvez passer au bon clavier (dans mon cas "de" pour une disposition de clavier allemande, avec la commande localectl :

    localectl set-keymap de

    Pour obtenir une liste de tous les keymaps disponibles, exécutez :

    localectl list-keymaps

    Je souhaite installer ISPConfig à la fin de ce tutoriel qui est livré avec son propre pare-feu. C'est pourquoi je désactive maintenant le pare-feu CentOS par défaut. Bien sûr, vous êtes libre de le laisser allumé et de le configurer selon vos besoins (mais vous ne devriez pas utiliser d'autre pare-feu plus tard car il interférera très probablement avec le pare-feu CentOS).

    Exécuter...

    systemctl stop firewalld.service
    systemctl disable firewalld.service

    Je vais maintenant installer quelques outils réseau de base et un éditeur basé sur le shell dont nous aurons besoin dans les prochaines étapes :

    yum -y install nano wget net-tools NetworkManager-tui

    Si vous n'avez pas configuré votre carte réseau lors de l'installation, vous pouvez le faire maintenant. Exécuter...

    nmtui

    ... et allez dans Modifier une connexion :

    Sélectionnez votre interface réseau :

    Ensuite, remplissez les détails de votre réseau - désactivez DHCP et remplissez une adresse IP statique, un masque de réseau, votre passerelle et un ou deux serveurs de noms, puis cliquez sur OK :

    Sélectionnez ensuite OK pour confirmer les modifications que vous avez apportées aux paramètres réseau

    et Quitter pour fermer l'outil de configuration réseau nmtui.

    Vous devriez courir

    ifconfig

    maintenant pour vérifier si le programme d'installation a bien saisi votre adresse IP :

    [[email protected] ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::20c:29ff:fecd:cc52  prefixlen 64  scopeid 0x20
    
            ether 00:0c:29:cd:cc:52  txqueuelen 1000  (Ethernet)
            RX packets 55621  bytes 79601094 (75.9 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 28115  bytes 2608239 (2.4 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10
            loop  txqueuelen 0  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    Si votre carte réseau n'y apparaît pas, elle n'est pas activée au démarrage. Dans ce cas, ouvrez le fichier /etc/sysconfig/network-scripts/ifcfg-eth0

    nano /etc/sysconfig/network-scripts/ifcfg-ens33

    et réglez ONBOOT sur oui :

    [...]
    ONBOOT=yes
    [...]

    et redémarrez le serveur.

    Vérifiez votre /etc/resolv.conf s'il répertorie tous les serveurs de noms que vous avez précédemment configurés :

    cat /etc/resolv.conf

    Si les serveurs de noms sont manquants, exécutez

    nmtui

    et ajoutez à nouveau les serveurs de noms manquants.

    Passons maintenant à la configuration...

    4 Ajuster /etc/hosts

    Ensuite, nous éditons /etc/hosts. Faites en sorte qu'il ressemble à ceci :

    nano /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    192.168.1.100 server1.example.com server1

    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

    5 Configurer le pare-feu

    (Vous pouvez ignorer ce chapitre si vous avez déjà désactivé le pare-feu à la fin de l'installation de base du système.)

    Je souhaite installer ISPConfig à la fin de ce tutoriel qui est livré avec son propre pare-feu. C'est pourquoi je désactive maintenant le pare-feu CentOS par défaut. Bien sûr, vous êtes libre de le laisser allumé et de le configurer selon vos besoins (mais vous ne devriez pas utiliser d'autre pare-feu plus tard car il interférera très probablement avec le pare-feu CentOS).

    Exécuter

    systemctl stop firewalld.service
    systemctl disable firewalld.service

    et désactivez le pare-feu.

    Pour vérifier que le pare-feu a bien été désactivé, vous pouvez lancer

    iptables -L

    ensuite. Le résultat devrait ressembler à ceci :

    [[email protected] ~]# iptables -L
    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination

    Ou utilisez la commande firewall-cmd :

    firewall-cmd --state
    [[email protected] ~]# firewall-cmd --state
    not running
    [[email protected] ~]#

    6 Désactiver SELinux

    SELinux est une extension de sécurité de CentOS qui devrait fournir une sécurité étendue. À mon avis, vous n'en avez pas besoin pour configurer un système sécurisé, et cela cause généralement plus de problèmes que d'avantages (pensez-y après avoir effectué une semaine de dépannage car un service ne fonctionnait pas comme prévu, puis vous découvrir que tout allait bien, seul SELinux causait le problème). Par conséquent, je le désactive (c'est indispensable si vous souhaitez installer ISPConfig plus tard).

    Modifiez /etc/selinux/config et définissez SELINUX=disabled :

    nano /etc/selinux/config
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of these two values:
    #     targeted - Targeted processes are protected,
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    

    Ensuite, nous devons redémarrer le système :

    reboot

    7 Activer des référentiels supplémentaires et installer certains logiciels

    Nous importons d'abord les clés GPG pour les packages logiciels :

    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

    Ensuite, nous activons le référentiel EPEL sur notre système CentOS car de nombreux packages que nous allons installer au cours de ce didacticiel ne sont pas disponibles dans le référentiel officiel CentOS 7 :

    rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
    yum -y install yum-priorities

    Modifier /etc/yum.repos.d/epel.repo...

    nano /etc/yum.repos.d/epel.repo

    ... et ajoutez la ligne priority=10 à la section [epel] :

    [epel]
    name=Extra Packages for Enterprise Linux 7 - $basearch
    #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
    failovermethod=priority
    enabled=1
    priority=10
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    [...]

    Ensuite, nous mettons à jour nos packages existants sur le système :

    yum update

    Maintenant, nous installons certains packages logiciels qui seront nécessaires plus tard :

    yum -y groupinstall 'Development Tools'

    8 quotas

    (Si vous avez choisi un schéma de partitionnement différent du mien, vous devez ajuster ce chapitre afin que le quota s'applique aux partitions où vous en avez besoin.)

    Pour installer le quota, nous exécutons cette commande :

    yum -y install quota

    Maintenant, nous vérifions si le quota est déjà activé pour le système de fichiers où le site Web (/var/www) et les données maildir (var/vmail) sont stockées. Dans cet exemple de configuration, j'ai une grande partition racine, donc je recherche '/' :

    mount | grep ' / '
    [[email protected] ~]# mount | grep ' / '
    /dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
    [[email protected] ~]#

    Si vous avez une partition /var distincte, utilisez :

    mount | grep ' /var '

    Au lieu. Si la ligne contient le mot "noquota ", puis procédez comme suit pour activer le quota.

    Activation du quota sur la partition / (racine)

    Normalement, vous activez le quota dans le fichier /etc/fstab, mais si le système de fichiers est le système de fichiers racine "/", alors le quota doit être activé par un paramètre de démarrage du noyau Linux.

    Modifiez le fichier de configuration grub :

    nano /etc/default/grub

    recherchez la ligne commençant par GRUB_CMDLINE_LINUX et ajoutez rootflags=uquota,gquota aux paramètres de la ligne de commande afin que la ligne résultante ressemble à ceci :

    GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet rootflags=uquota,gquota"

    et appliquez les modifications en exécutant la commande suivante.

    cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
    grub2-mkconfig -o /boot/grub2/grub.cfg

    et redémarrez le serveur.

    reboot

    Vérifiez maintenant si le quota est activé :

    mount | grep ' / '
    [[email protected] ~]# mount | grep ' / '
    /dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
    [[email protected] ~]#

    Lorsque le quota est actif, nous pouvons voir "usrquota,grpquota " dans la liste des options de montage.

    Activation du quota sur une partition /var distincte

    Si vous avez une partition /var séparée, modifiez /etc/fstab et ajoutez ,uquota,gquota à la partition / (/dev/mapper/centos-var) :

    nano /etc/fstab

    #
    # /etc/fstab
    # Created by anaconda on Sun Sep 21 16:33:45 2014
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root / xfs defaults 1 1
    /dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2
    UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot xfs defaults 1 3
    /dev/mapper/centos-swap swap swap defaults 0 0

    Puis lancez

    mount -o remount /var
    quotacheck -avugm
    quotaon -avug

    pour activer le quota.

    9 Installer Apache, MySQL, phpMyAdmin

    Nous pouvons installer les packages nécessaires avec une seule commande :

    yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadmin


    Cent OS
    1. Le serveur parfait - OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

    2. Le serveur parfait – CentOS 7.1 avec Apache2, Postfix, Dovecot, Pure-FTPD, BIND et ISPConfig 3

    3. Le serveur parfait - Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)

    4. Le serveur parfait - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1)

    5. Le serveur parfait - CentOS 6.1 x86_64 avec Apache2 [ISPConfig 3]

    Le serveur parfait - CentOS 6.3 x86_64 (Apache2, Courier, ISPConfig 3)

    Le serveur parfait - Ubuntu 13.04 (Apache2, BIND, Dovecot, ISPConfig 3)

    Le serveur parfait - CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3)

    Le serveur parfait - CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)

    Le serveur parfait - Debian Wheezy (Apache2, BIND, Dovecot, ISPConfig 3)

    Le serveur parfait - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3)