El servidor perfecto
Transcript of El servidor perfecto
El servidor perfectoCrea tu propio servidor de hosting
Ismail Ismailov @ismail2ov
¿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.
Tipos de web hosting● Alojamiento compartido
● Servidores virtuales (VPS, Virtual Private Server)
● Servidores dedicados
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.
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.
Tipos de hipervisores● Nativo ● Hosted
●VMware ESXi (gratis)●Parallels Virtuozzo●Citrix XenServer (gratis)●Microsoft Hyper-V Server (gratis)
● Oracle VirtualBox (gratis)
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.
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.
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
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
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.
Solución● Eliminar el RAID con mdadm
● Instalar sistema operativo formateando solo uno de los discos
● De mi manera
Crear IP fail-over y DNS1. 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.
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.
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.
Reinstalar el sistema operativo
Vamos a Servicios -> Reinstalar / Cambiar de SO
Reinstalar el sistema operativo
A la pregunta ¿Qué sistema operativo desea? elegimos Sistema operativo Linux
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.
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.
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
WebminWebmin 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.
Instalar Webmin1.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.
Acceder a WebminAbrimos Webmin en nuestro navegador https://IP.DE.SU.SERVIDOR:10000/
Montando las particionesPrimero 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
Las particiones de los discos duros
sda (SATA dispositivo A)
Nº Tipo Sistema Ruta deMontaje
Tamaño Priority
1 primaria ext3 / 10 GB2 primaria swap /swap 4 GB -13 LV ext3 /var/lib/vz/ 1749 GBSin particionar 100 GB
sdb (SATA dispositivo B)
Nº Tipo Sistema Ruta deMontaje
Tamaño Priority
1 primaria swap /swap 4 GB 302 LV ext3 /backups 1859 GB
Descargar plantilla para 64bitLas 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
Crear maquina virtual
Crear maquina virtualCuando termina la creación de VM nos sale este mensaje:
Copias de seguridad
Copias de seguridad
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
Virtualmin GPLVirtualmin 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
Instalar Virtualmin1.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…
Configurar Virtualmin
Configurar Virtualmin
Configurar Virtualmin
Configurar Virtualmin
Configurar Virtualmin
Configurar Virtualmin
Configurar Virtualmin
Configurar Virtualmin
Configurar Virtualmin
Configurar Virtualmin
Configurar VirtualminVirtualmin 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.
Añadir nuestro dominio
En Virtualmin hacemos clic en Create Virtual Server.
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.
Instalar APCapt-get install php-pear
apt-get install php5-dev apache2-prefork-dev build-essential
pecl install apc
Editamos /etc/php5/conf.d/apc.iniextension=apc.so
apc.enabled=1
apc.shm_size=30
/etc/init.d/apache2 restart
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.
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
Instalar el modulo de CSF
Real Time Monitoring
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.
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.
Escanear para viruses# clamscan -ri /home
Linux Malware DetectInstalar
# 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
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
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.
Ismail Ismailov @ismail2ov