GNU/Linux >> Tutoriales Linux >  >> Cent OS

El servidor perfecto:CentOS 7 (Apache2, Dovecot, ISPConfig 3)

Este tutorial existe para estas versiones de SO

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

En esta página

  1. Manual de ISPConfig 3
  • 1 Requisitos
  • 2 Nota preliminar
  • 3 Establecer la distribución del teclado
  • 4 Ajuste /etc/hosts
  • 5 Configurar el cortafuegos
  • 6 Deshabilitar SELinux
  • 7 Habilite repositorios adicionales e instale algún software
  • Cuota de 8
  • Habilitación de la cuota en la partición / (raíz)
  • Habilitación de la cuota en una partición /var separada
  • 9 Instale Apache, MySQL, phpMyAdmin
  • Este tutorial muestra cómo preparar un servidor CentOS 7 x86_64 para la instalación de ISPConfig 3 y cómo instalar ISPConfig 3. ISPConfig 3 es un panel de control de alojamiento web que le permite configurar los siguientes servicios a través de un navegador web:servidor web Apache, correo Postfix servidor, MySQL, servidor de nombres BIND, PureFTPd, SpamAssassin, ClamAV, Mailman y muchos más. Desde la versión 3.0.4, ISPConfig viene con soporte completo para el servidor web nginx además de Apache; este tutorial cubre la configuración de un servidor que usa Apache, no nginx.

    Manual de ISPConfig 3

    Para aprender a usar ISPConfig 3, recomiendo descargar el Manual de ISPConfig 3.

    En más de 300 páginas, cubre el concepto detrás de ISPConfig (administrador, revendedores, clientes), explica cómo instalar y actualizar ISPConfig 3, incluye una referencia para todos los formularios y campos de formulario en ISPConfig junto con ejemplos de entradas válidas y proporciona tutoriales para las tareas más comunes en ISPConfig 3. También explica cómo hacer que su servidor sea más seguro y viene con una sección de resolución de problemas al final.

    1 Requisitos

    Para instalar dicho sistema, necesitará lo siguiente:

    • Un sistema de servidor mínimo Centos 7. Puede ser un servidor instalado desde cero como se describe en nuestro tutorial de servidor mínimo de Centos 7 o un servidor virtual o un servidor raíz de una empresa de hospedaje que tenga instalada una configuración mínima de Centos 7.
    • Una conexión rápida a Internet.

    2 Nota Preliminar

    En este tutorial utilizo el nombre de host server1.example.com con la dirección IP 192.168.1.100 y la puerta de enlace 192.168.1.254. Estas configuraciones pueden diferir para usted, por lo que debe reemplazarlas cuando corresponda.

    3 Establecer el diseño del teclado

    El instalador actual de CentOS 7 tiene un error, por lo que podría terminar con una disposición de teclado diferente en el shell que la seleccionada durante la instalación. Si encuentra ese error, puede cambiar al teclado correcto (en mi caso, "de" para un diseño de teclado alemán, con el comando localectl:

    localectl set-keymap de

    Para obtener una lista de todos los mapas de teclas disponibles, ejecute:

    localectl list-keymaps

    Quiero instalar ISPConfig al final de este tutorial que viene con su propio firewall. Es por eso que deshabilito el firewall predeterminado de CentOS ahora. Por supuesto, puede dejarlo encendido y configurarlo según sus necesidades (pero luego no debe usar ningún otro firewall, ya que probablemente interferirá con el firewall de CentOS).

    Corre...

    systemctl stop firewalld.service
    systemctl disable firewalld.service

    Ahora instalaré algunas herramientas de red básicas y un editor basado en shell que necesitamos en los siguientes pasos:

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

    Si no configuró su tarjeta de red durante la instalación, puede hacerlo ahora. Corre...

    nmtui

    ... y vaya a Editar una conexión:

    Seleccione su interfaz de red:

    Luego complete los detalles de su red:deshabilite DHCP y complete una dirección IP estática, una máscara de red, su puerta de enlace y uno o dos servidores de nombres, luego presione Aceptar:

    A continuación, seleccione Aceptar para confirmar los cambios que realizó en la configuración de red

    y Salir para cerrar la herramienta de configuración de red nmtui.

    Deberías correr

    ifconfig

    ahora para verificar si el instalador obtuvo su dirección IP correcta:

    [[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 su tarjeta de red no aparece allí, entonces no estará habilitada en el arranque. En este caso, abra el archivo /etc/sysconfig/network-scripts/ifcfg-eth0

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

    y establezca ONBOOT en sí:

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

    y reinicie el servidor.

    Verifique su /etc/resolv.conf si enumera todos los servidores de nombres que configuró previamente:

    cat /etc/resolv.conf

    Si faltan servidores de nombres, ejecute

    nmtui

    y vuelva a agregar los servidores de nombres que faltan.

    Ahora, a la configuración...

    4 Ajustar /etc/hosts

    A continuación, editamos /etc/hosts. Haz que se vea así:

    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 Configurar el cortafuegos

    (Puede omitir este capítulo si ya ha desactivado el cortafuegos al final de la instalación básica del sistema).

    Quiero instalar ISPConfig al final de este tutorial que viene con su propio firewall. Es por eso que deshabilito el firewall predeterminado de CentOS ahora. Por supuesto, puede dejarlo encendido y configurarlo según sus necesidades (pero luego no debe usar ningún otro firewall, ya que probablemente interferirá con el firewall de CentOS).

    Ejecutar

    systemctl stop firewalld.service
    systemctl disable firewalld.service

    y desactive el cortafuegos.

    Para comprobar que el cortafuegos realmente se ha desactivado, puede ejecutar

    iptables -L

    después. La salida debería verse así:

    [[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

    O use el comando firewall-cmd:

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

    6 Deshabilitar SELinux

    SELinux es una extensión de seguridad de CentOS que debería proporcionar seguridad extendida. En mi opinión, no lo necesitas para configurar un sistema seguro, y suele causar más problemas que ventajas (piensa en ello después de haber realizado una semana de resolución de problemas porque algún servicio no estaba funcionando como se esperaba, y luego descubra que todo estaba bien, solo SELinux estaba causando el problema). Por lo tanto, lo deshabilito (esto es obligatorio si desea instalar ISPConfig más adelante).

    Edite /etc/selinux/config y establezca 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
    

    Posteriormente debemos reiniciar el sistema:

    reboot

    7 Habilitar repositorios adicionales e instalar algún software

    Primero importamos las claves GPG para paquetes de software:

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

    Luego habilitamos el repositorio EPEL en nuestro sistema CentOS ya que muchos de los paquetes que vamos a instalar en el transcurso de este tutorial no están disponibles en el repositorio oficial de 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

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

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

    ... y agregue la línea prioridad=10 a la sección [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
    [...]

    Luego actualizamos nuestros paquetes existentes en el sistema:

    yum update

    Ahora instalamos algunos paquetes de software que se necesitarán más adelante:

    yum -y groupinstall 'Development Tools'

    8 Cuota

    (Si ha elegido un esquema de particionamiento diferente al que yo elegí, debe ajustar este capítulo para que la cuota se aplique a las particiones donde lo necesita).

    Para instalar la cuota, ejecutamos este comando:

    yum -y install quota

    Ahora verificamos si la cuota ya está habilitada para el sistema de archivos donde se almacenan el sitio web (/var/www) y los datos de maildir (var/vmail). En esta configuración de ejemplo, tengo una partición raíz grande, así que busco ' / ':

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

    Si tiene una partición /var separada, use:

    mount | grep ' /var '

    en cambio. Si la línea contiene la palabra "noquota ", luego continúe con los siguientes pasos para habilitar la cuota.

    Habilitar cuota en la partición / (raíz)

    Normalmente habilitaría la cuota en el archivo /etc/fstab, pero si el sistema de archivos es el sistema de archivos raíz "/", entonces la cuota debe habilitarse mediante un parámetro de arranque del kernel de Linux.

    Edite el archivo de configuración de grub:

    nano /etc/default/grub

    busque en la línea que comienza con GRUB_CMDLINE_LINUX y agregue rootflags=uquota,gquota a los parámetros de la línea de comandos para que la línea resultante se vea así:

    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"

    y aplique los cambios ejecutando el siguiente comando.

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

    y reinicie el servidor.

    reboot

    Ahora comprueba si la cuota está habilitada:

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

    Cuando la cuota está activa, podemos ver "usrquota,grpquota " en la lista de opciones de montaje.

    Habilitar cuota en una partición /var separada

    Si tiene una partición /var separada, edite /etc/fstab y agregue ,uquota,gquota a la partición / (/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

    Entonces corre

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

    para habilitar la cuota.

    9 Instalar Apache, MySQL, phpMyAdmin

    Podemos instalar los paquetes necesarios con un solo comando:

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


    Cent OS
    1. El servidor perfecto - OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

    2. El servidor perfecto:CentOS 7.1 con Apache2, Postfix, Dovecot, Pure-FTPD, BIND e ISPConfig 3

    3. El servidor perfecto - Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)

    4. El servidor perfecto - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1)

    5. El servidor perfecto:CentOS 6.1 x86_64 con Apache2 [ISPConfig 3]

    El servidor perfecto - CentOS 6.3 x86_64 (Apache2, Courier, ISPConfig 3)

    El servidor perfecto - Ubuntu 13.04 (Apache2, BIND, Dovecot, ISPConfig 3)

    El servidor perfecto:CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3)

    El servidor perfecto - CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)

    El servidor perfecto - Debian Wheezy (Apache2, BIND, Dovecot, ISPConfig 3)

    El servidor perfecto - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3)