Upgrade to Pro — share decks privately, control downloads, hide ads and more …

El servidor perfecto

Betabeers
June 27, 2012
2.1k

El servidor perfecto

Betabeers

June 27, 2012
Tweet

Transcript

  1. ¿Qué es web hosting? Web hosting (alojamiento web o alojamiento

    de páginas web), se refiere al lugar que ocupa una página web, sitio web, sistema, correo electrónico, archivos etc. en internet o más específicamente en un servidor que por lo general hospeda varias aplicaciones o páginas web.
  2. Tipos de web hosting • Alojamiento compartido • Servidores virtuales

    (VPS, Virtual Private Server) • Servidores dedicados
  3. Virtualización La virtualización consiste emular el hardware mediante una aplicación

    llamada "hypervisor", de tal forma que permita ejecutar uno o varios sistemas operativos, es decir, desvincular la ejecución del sistema operativo y aplicaciones del hardware para encapsularlo dentro de un entorno virtual simulado por software.
  4. Virtualización La virtualización empaqueta el hardware, sistema operativo, aplicaciones y

    datos de las máquinas virtuales en ficheros, que como tales son trasportables de una máquina física a otra. La virtualización es aplicable tanto a servidores como a equipos de escritorio.
  5. Tipos de hipervisores • Nativo • Hosted • VMware ESXi

    (gratis) • Parallels Virtuozzo • Citrix XenServer (gratis) • Microsoft Hyper-V Server (gratis) • Oracle VirtualBox (gratis)
  6. Proxmox VE Proxmox Virtual Environment es una sencilla plataforma de

    virtualización, basada en sistemas de código abierto para la implementación de máquina virtuales utilizando los entornos OpenVZ y KVM.
  7. KVM • Kernel-based Virtual Machine (Máquina virtual basada en el

    núcleo) es una solución para implementar virtualización completa con Linux. • Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20. • KVM necesita un procesador x86 con soporte Virtualization Technology. Puede ejecutar huéspedes GNU/Linux y Windows.
  8. OpenVZ • OpenVZ es una tecnología de virtualización en el

    nivel de sistema operativo para Linux. • OpenVZ permite que un servidor físico ejecute múltiples instancias de sistemas operativos aislados, conocidos como VPS o Entornos Virtuales (EV). • OpenVZ proporciona mejor rendimiento, escalabilidad, densidad, administración de recursos dinámicos, y facilidad de administración
  9. El servidor • Procesador: Intel Core i5-2400 4x3.1+ GHz •

    Virtualización: Instrucciones VT • Turbo Boost Technologie @ 3.40GHz • Arquitectura 64 bits • Memoria RAM: 16 GB DDR3 • Disco duro: 2x 2TB - SATA2 • RAID: SOFT 0/1 • NIC: FastEthernet • IP Failover: 3
  10. RAID1 por software Desventajas: • es más lento porque los

    datos se escriben en los dos discos y se deben comprobar • cuando se sincronizan los discos, el proceso de sincronización tardara mucho • uno de los discos no lo puedo utilizar y así pierdo 2T de disco duro. Ventajas: • siempre tienes copias de tus datos y si peta uno de los discos sigues con el otro hasta que te lo cambien.
  11. Solución • Eliminar el RAID con mdadm • Instalar sistema

    operativo formateando solo uno de los discos • De mi manera
  12. Crear IP fail-over y DNS 1. Nos conectamos en el

    manager de OVH 2. Seleccionamos el servidor dedicado 3. Seleccionamos Servicios y en la zona de Gestión IP hacemos clic en IP FailOver 4.Creamos tres IP fail-over apuntando la IP de nuestro servidor. 5. Primero seleccionamos el dominio principal que vamos a usar. 5.1. Para este paso necesitamos tener DNS que están funcionando. En Dominio & DNS -> Servidores DNS yo puse dns20.ovh.net y ns20.ovh.net. 5.2.Activamos Redirecciones web. En Dominio & DNS -> Zona DNS añadimos dos entradas Tipo A.
  13. Crear IP fail-over y DNS La primera ns1.tudominio.com apuntando a

    la primera IP fail-over y ns2.tudominio.com apuntando a la segunda IP fail-over.
  14. DNS con nuestro dominio En Dominio & DNS -> Glue

    HOST creamos dos hosts ns1.tudominio.com apuntando a la primera IP fail-over y ns2.tudominio.com apuntando a la segunda IP fail-over. A veces no nos deja y tenemos que esperar para que se propaguen los DNS. Si no os deja debéis intentarlo cada dos horas.
  15. Reinstalar el sistema operativo Entre los sistemas operativos Linux, OVH

    le propone : distribuciones clásicas o distribuciones listas para el empleo -> Distribución lista para su uso OVH le ofrece la posibilidad de elección entre los sistemas siguientes : -> Sistema operativo VPS Proxmox 1.9 Opciones de sistema : el idioma que desean (yo personalmente prefiero Ingles) Y damos a Validar.
  16. Reinstalar el sistema operativo Como no quiero usar el RAID1

    por software en la siguiente ventana seleccionamos Particionado personalizado y formatear únicamente el primer disco.
  17. Reinstalar el sistema operativo Para que no falle el instalador

    creamos solo las 2 particiones (las otras crearemos después): / primaria ext3 10GB /swap primaria 4GB
  18. Webmin Webmin es una herramienta, que permite configurar y administrar

    visualmente los sistemas operativos basados en UNIX. Con Webmin se pueden hacer muchas cosas como administrar los servicios, usuarios, archivos… etc. Nosotros lo usaremos para crear las particiones.
  19. Instalar Webmin 1.Hacemos un updates y upgrade. Esto es algo

    normal para los usuarios de Linux apt-get update && apt-get upgrade 2.Vamos al directorio/tmp y descargamos Webmin cd /tmp wget http://prdownloads.sourceforge.net/webadmin/webmin_1.570_all.deb 3.Instalamos Webmin dpkg -i webmin_1.570_all.deb 4.Nos dará un error por problemas de dependencias que se resuelve con el siguiente comando: apt-get install –f 5.Nos pregunta si quiérenos seguir. Le damos “Y” y con esto se instala Webmin y los paquetes que necesita.
  20. Montando las particiones Primero montamos lv1 en /tmp: mount /dev/pve/lv1

    /mnt Movemos todos los archivos de la carpeta /var/lib/vz/ a /mnt : mv /var/lib/vz/* /mnt Cuando hemos copiado todo el contenido desmontamos /mnt: umount /mnt Ahora lo montamos lv1 en /var/lib/vz/ mount /dev/pve/lv1 /var/lib/vz/ Creamos una carpeta para lo backups mkdir backups Montamos lvb en /backups
  21. Las particiones de los discos duros sda (SATA dispositivo A)

    Nº Tipo Sistema Ruta de Montaje Tamaño Priority 1 primaria ext3 / 10 GB 2 primaria swap /swap 4 GB -1 3 LV ext3 /var/lib/vz/ 1749 GB Sin particionar 100 GB sdb (SATA dispositivo B) Nº Tipo Sistema Ruta de Montaje Tamaño Priority 1 primaria swap /swap 4 GB 30 2 LV ext3 /backups 1859 GB
  22. Descargar plantilla para 64bit Las plantillas podéis encontrar en http://download.proxmox.com/appliances/system/

    Cambiamos el directorio donde se guardan las plantillas de Proxmox: cd /var/lib/vz/template/cache wget http://download.proxmox.com/appliances/system/debian-6.0- standard_6.0-4_amd64.tar.gz
  23. Habilitar IPTABLES 1) Abrimos el archivo /etc/vz/vz.conf 2) Comentar la

    actual línea de IPTABLES= y añadir lo siguiente: IPTABLES=”ipt_REJECT ipt_recent ipt_owner ipt_REDIRECT ipt_tos ipt_TOS ipt_LOG ip_conntrack ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ip_nat_ftp” Guardamos los cambios y reiniciamos el servicio vz: /etc/init.d/vz restart
  24. Virtualmin GPL Virtualmin GPL es un panel de control de

    alojamiento Web: • Gratuito y con código abierto • Parecido a Plesk y cPanel • Fácil de instalar • Arquitectura modular • Sencillo, • Seguro y muy completo
  25. Instalar Virtualmin 1.Cambiamos el directorio temporal. cd /tmp 2.Descargamos el

    archivo mas reciente del instalador de Virtualmin. wget http://software.virtualmin.com/gpl/scripts/install.sh 3.Ejecutamos el instalador. sh ./install.sh Cuando nos pregunta si queremos continuar decimos “y” y palante…
  26. Configurar Virtualmin Virtualmin is now installed but needs to be

    configured. First we need to install apache2-suexec-custom. You need this so virtualmin can change apache's default directory to /home # apt-get install apache2-suexec-custom # cd /etc/apache2/suexec Editamos www-data y cambiamos la linea "/var/www" con "/home" # apache2ctl restart Hasta que nos salga .. your system is ready for use by Virtualmin.
  27. Configurar el servidor DNS En Webmin -> Servers -> BIND

    DNS Server vemos las zonas de DNS que existen. Seleccionamos sudominio.com (que hemos creado recientemente) después Address y vemos que ns2.sudominio.com apunta a la primera IP fail-over. Hacemos clic y cambiamos su dirección así que apunte a la segunda IP fail-over y guardamos los cambios.
  28. Instalar APC apt-get install php-pear apt-get install php5-dev apache2-prefork-dev build-essential

    pecl install apc Editamos /etc/php5/conf.d/apc.ini extension=apc.so apc.enabled=1 apc.shm_size=30 /etc/init.d/apache2 restart
  29. Protección de servidor La primera cosa que debemos hacer es

    cambiar el puerto de Webmin. Vamos a Webmin -> Webmin Configuration -> Ports and Addresses y cambiamos Listen en port a un puerto que elijamos. Opcionalmente podemos deshabilitar que escuche en UPD.
  30. Instalar un firewall # cd /tmp # rm -fv csf.tgz

    # wget http://www.configserver.com/free/csf.tgz Descomprimimos el paquete # tar -xzf csf.tgz # cd csf Ejecutamos el instalador # sh install.sh Probamos que funcionará bien: perl /etc/csf/csftest.pl
  31. Control de acceso SSH En Webmin -> Servers -> SSH

    Server hacemos clic en Access Control y allí podemos dar permiso SSH a un usuario solo para evitar ataques brute force al usuario root.
  32. Cambiar el puerto de SSH Webmin -> Servers -> SSH

    Server y en Networking cambiamos Listen on port a un numero aleatorio a un puerto que no se usa y nos fijamos que está habilitado solo SSH v2.
  33. Linux Malware Detect Instalar # cd /usr/local/src/ # wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

    # tar zxvf maldetect-current.tar.gz # cd maldetect-1.4.1/ # ./install.sh Escanear maldet --scan-all /home?/?/public_html
  34. Utilizar Google Apps con los dominios • Google Apps es

    un servicio de Google para usar Gmail entre otros servicios, para usarlo con nuestro propio dominio. • Más información de google apps edición estándar en http://www.google.com/apps/intl/es/group/index.html
  35. Utilizar Google Apps con los dominios ${DOM}. IN MX 1

    ASPMX.L.GOOGLE.COM. ${DOM}. IN MX 5 ALT1.ASPMX.L.GOOGLE.COM. ${DOM}. IN MX 5 ALT2.ASPMX.L.GOOGLE.COM. ${DOM}. IN MX 10 ASPMX2.GOOGLEMAIL.COM. ${DOM}. IN MX 10 ASPMX3.GOOGLEMAIL.COM. ${DOM}. IN MX 10 ASPMX4.GOOGLEMAIL.COM. ${DOM}. IN MX 10 ASPMX5.GOOGLEMAIL.COM. mail.${DOM}. IN CNAME ghs.google.com.