Servidores

Si buscamos en la WIKIPEDIA , la definición de "SERVIDOR",  se refiere a un nodo que pertenece a red provee a otros nodo denominados clientes.

Siendo un nodo un punto de conexión y unión de varios elementos.

Lo más común es denominar SERVIDOR aun ORDENADOR que ofrece servicios a otros ordenadores dentro de una red y en más concreto a los que ofrecen "ALOJAMIENTO WEB".

Subcategorías

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Objetivo de nuestra lista negra spam

El objetivo principal, es tener una tabla única de todas las ip que realizan spam a nuestras web y correos, de esta forma podremos aplicar bloqueos directos a estas ips en todas las web que gestionamos.

Pretendemos realizar esta lista publica, para que otros puedan consultar si existe alguna IP en nuestra tabla.

También tendremos un formulario para aquellos que quieran corregir esa situación.

¿ Por que una lista propia ?

Aunque hay muchas web que se dedican a ello, algunos ejemplos:

El hecho de que queramos tener nosotros nuestra propia base de datos , no implica que no particemos en los proyectos anteriores, ya que los vemos necesarios y muy interesantes.

La cuestion es que vemos como incomveniente lo siguiente:

  • No encuentro ninguno en Español :-)
  • El uso de sus bases datos no lo veo sencillo.
  • Una gestion personaliza con las incidencias.

 ¿Donde y nombre ?

Lo haremos en un subdominio de nuestro dominio, el nombre la web será, "Anti-spam".

¿ Herramientas que vamos utilizar ?

Joomla y componente recibo , adaptado.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Si en algún momento tienes la necesidad de revisar los logs de tu sistema, necesitas armarte de valor y paciencia, ya que suele ser una tareas bastante engorrosa.

En web es fundamental revisrar el log de acceso como log de errores, donde podremos comprobar que peticios y errores se producieron en tu web

Hay aplicaciones muy interesante que puede probar como :

  • Splunk
  • Sumo Logic
  • LogStash
  • GrayLog
  • Loggly
  • PaperTrails
  • ...

En este link hace un pequeño analisis de algunas de ella.

Tambien puede utilizar metodos muchos mas caseros como utilizar una hoja calculo, el problema de esto es que los ficheros log suelen ser muy pesados y grandes.

Como cortar un fichero muy grande y pesado

Esto ficheros (log) suelen ser tan grandes que se hace muy pesado poder trabajar con esos ficheros. Lo podemos resolvemos desde terminal de linux con la instrucción split , que es un comando que divide un fichero en pedazos.

La mayoría de la veces nos interesa hacer la division por lineas.

split -l 24000 nombreficherooriginal  nombredestino[suffix]

La instrucción anterior lo que hace es dividir el fichero [nombreficheroriginal] cada 24000 lineas y crear tantos ficheros [nombredestino] que necesita con [suffix] por defecto letras.

Muchos veces no sabemos cuantas lineas tiene el fichero, podríamos dividir por peso con:

split nombreficherooriginal  -b 20MB nombrefichero[suffix]

En ejemplo anteriro , lo que hace es dividir el fichero en bloque de 20MB

Programa de lectura de ficheros desde terminal

Lo recomentable es utilizar instruccione de terminal que nos faciliten la lectura de estos ficheros sin necesidad de tener cargar todo el fichero, comando como :

  • head
  • tail
  • less
  • cat ( esto para una lectura rápida y no son muchos ficheros.

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Si nuestro cliente ya tiene el dominio contractado a Arsys y este no quiere transferir el control de su dominio a vosotros, lo que se puede hacer es cambiar las DNS del dominio y apuntarlo a vuestro servidor.

Hay varias formas de realizarlo, pasar simplemente los Registros de DNS de la web o el registro completo, para que en vuestro servidor puedan contralar todos los servicios del dominio.

  • Correo
  • Ftp
  • Web
  • ...

Esto implica que el cliente seguirá pagando el dominio al registrador Arsys.

Comando Interesantes en terminal de linux para conocer los registros DNS

dig nombredominio

host nombredominio

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

¿ Qué son las DNS de un dominio?

 "Domain Name System", el sistema de nombres de dominio es básicamente la agenda internet que organiza e identifica dominios en la dirección IP física.

Registro SOA

Es el registro principal de DNS donde puedes encontrar los valores:

  • serial: Indica normalmente la fecha de la ultima actualizacion.
  • Dirección correo del administrador de zona del dominio.
  • Valor TTL: Tiempo que se indica a los servidores DNS que debe esperar para volver a comprobar si existen actualizaciones.
  • Refresh: Tiempo que debe esperar un servidor de nombre secundario para comprobar nuevos valores de registro.
  • Reintento: Numero de segundos debe esperar después de un intento fallido de recuperación de datos del servidor primario.
  • Caducidad: El tiempo máximo que servidor de nombre secundario tendra los valores , antes expirarlos.
  • Minimo TTL: El numero de segundo que tiene activo los registros en NS caché antes volver a preguntar, esto para registros no defenidos por dominio.

 

Registro NS

"Name Server" son registros de los servidores que comunicarán la información del DNS de un dominio. Suele disponer de servidor de nombres principales y secundarios para tu dominio.

Registro A :

El regisrto A principal, tiene que tener uno cada dominio, ya  proporciona la información sobre la IP donde está alojado el dominio

 Registro CNAME:

Registro Canonical Name que sirve para identificar alias o subominios equivalentes a un dominio. No puede usar direcciones IP.

Registro  MX:

  Mail Exchange que es el registro que asocia el servidor de correo electrónico al dominio.

Registro TXT:

En este registro podremos poner varios valores como SPF que es el valida el envió de correo, es decir certifica quienes somos a los demas servidores, sin este valor cualquiera podrían enviar correos en nuestro nombre y no sabríamos decir fuimos nosotros.

¿Cuanto tarda la propagación de DNS ?

El tiempo que los mencionan los registradores de dominios es de 36 a 72 horas para los cambios de DNS para estar totalmente en vigor.

Esto no es fijo, ya influyen bastantes factores para propagación de las DNS y por experiencia, en muchas ocasiones tarda mucho menos, aunque no siempre, hay algún cambio de DNS que nos da guerra:

 Posible problemas:

  1. Lo dominios nacionales y no internacionales tardan un poco más. , sobretodo si es nacional (.es), aunque si vamos red.es podremos ver que DNS tiene enseguida.
  2. Que tu proveedor de internet, tarde más de lo habitual en actualizar.

Este es el motivo de está entrada, con la intencion de recopilar herramientas y comandos que utilizamos para comprobar que la propagación es correcto.

 

Herramientas on-line para ver propagación DNS o si son correctas.

Hay varias paginas que nos ayudan a identificar como va la propagación de las DNS, aquí voy poniendo alguna que voy encontrado y es bastante curiosa.

Comandos de linux interesantes conocer datos de tus dominios

dig

Con dig podemos indicar el servidor dns y el dominio y nos indicará que dns tiene. Por ejemplo

dig @8.8.8.8 svigo.es ns

De esta forma nos va indicar:

dnsSvigo

host

Comando que utilizo más...

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Pensamos que todo desarrollador, diseñador o programador WEB, necesita de un servidor en desarrollo. Nosotros este servidor lo montamos en local y apache normalmente, ya que es muy sencillo , nos permite una configuración muy personalizada y gusto del profesional.

SERVIDORES LOCALES

Los servidores locales que utilizamos como servidor de desarrollo son Apache y bajo la distribucion de Debian, la instalación es super sencilla, aunque nosotros la realizamos siempre separada , es decir instalamos Apache, PHP, Mariba DB y phpmyadmin por separado, hay ya herramientas paquetizadas de esto.

Apache tiene la ventaja que código abierto, por lo que se puede personalizar y ampliar por módulos sin afectar la base del servidor, aunque no tiene nada que despreciar los servidores nginx, nosotros en produccion los utilizamos.

En nuestro caso, tenemos varias versiones de php en nuestro equipo:

  • Php 5.6
  • Php 7.0
  • Php 7.2

El motivo es porque tenemos web de muchos clientes, por lo que para poder realizar tareas de mantenimineto y desarrollo web, necesito poder cargar las que necesito para cada web.

Nosotros tenemos una persona que es tecnico de sistemas el que realiza la tarea de instalación de varias versiones de php, me imagino que será algo similar a lo que pone  aquí.

Si ya lo hicistes y deseas cambiar de versión tenemos un post que nos indicar como cambiar de la version de php en apache2 cuando ya tienes instaladas.

EL TEMA PERMISOS EN SERVIDOR LOCAL

El tema de los permisos en un servidor local siempre se convierte en algo latoso, nuestro tecnico de sistemas en principio utilizas el sistema ACLS que hay para linux, aunque hoy en día pienso que los servidores locales que monta, ya  no lo utiliza :-)

Los permisos ideales para un servidor es:

  • Para directorios: 755
  • Para ficheros: 644

El usuario de apache debería ser el propietario siempre de los ficheros, ya que el usuario de ejecucion de APACHE.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

NOTA: ESTA ENTRADA ES UNA GUIA PARA NUESTROS TÉCNICOS NO CREO QUE OS SEA UTIL PARA TODOS LOS USUARIOS.

El cambiar una web, el correo y otros servicios de un servidor a otro, siempre es un proceso delicado, por lo que aquí anotaremos los pasos que realizaremos para hacer el cambio.

  1. Analizamos los servicios que tiene:
    1. Ctas email que tiene, sus contraseñas o generamos nuevas, redirecciones.
    2. Subdominios
    3. Cta ftp y otros servicios que tenga.
  2. Realizamos copia de sus datos
    1. Los fichero del public_html
    2. Copia fichero ftp y otros si fuera necesario
  3. Organizamos su proyecto y servicios en local ( creando un nuevo proyecto en local para el nuevo servidor y asi poder registrar generar fichero datos nuevo.
  4. Cambiamos DNS , ya que nosotros tendremos acceso con otro dominio al servidor antiguo y a sus servicios.( suele ser dominio principal del servidor)
  5. Creamos la Particion en el nuevo servidor, este paso esperando unos poco minutos, el nuevo servidor ya reconoce las DNS.
  6. Entramos en cpanel del nuevo servidor y creamos ctas de servicios y email.
  7. Realizamos instalamos y copiamos los datos del servidor anterior en el nuevo, los email utilizamos imapcopy para poder copiarlos.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Nosotros trabajamos con dos servidores:

  • Servidores Produccion: Aquellos que está publicos en la red.
  • Servidores Desarrollo: Aquellos que está en local.

Por ello en este post pretendemos :

1.- Indicar los permisos de ficheros y directorios de cada uno de los servidores.

2.- Utilizar Access Control Lists (ACL) para el servidor desarrollo,  consiguiendo que tenga varios propietarios los ficheros y directorios.

En nuestros SERVIDORES PRODUCCIÓN los permisos habituales para ficheros y directorios son de 640 y 750 , es decir permiso de lectura y escritura para propietario , y permiso de lectura para el grupo y otros.

Para ficheros y directorios: 640 ( -rw-r--r-- ) y 750 ( drwxr-xr-x )

En nuestros SERVIDORES DESARROLLOS (SERVIDORES LOCALES) los permisos cambian , ya que trabajamos con ACLs , y los permisos ideales son :

Para ficheros y directorios: 664 ( -rw-rw--r-- ) y 775 ( drwxr-rwxr-x )

Nuestros servidores de producción no solemos revisar los permisos, ya que por defecto determinamos que solo se puedan subir ficheros con esos permisos al subirlos.

Los problemas nos surgen en el servidor de DESARROLO, el servidor local de nuestros programadores, los permisos suelen dar mucha más problemas por ello debemos conocer a fondo como ver, cambiar  los permisos de los ficheros y directorios.

Instrucciones para conocer los permisos desde terminal linux

Si realmente necesitas conocer la gestion de permisos de usuario y grupos usuarios de linux te recomiendo que veas esté link.

Alguna de estás instrucciones nos la facilito "Guillermo- Técnico de sistemas" que nos facilito en su momento nos son muy utiles para ver los permisos de los ficheros y directorios.

¡ Muchísimas Gracias ! -- Desde aquí... :-)

1.- MOSTRAR PERMISOS EN FORMATO NUMERO DE FICHEROS

Si quiere conocer los permiso en formato octal de un solo fichero:

stat -c%a nombrefichero

Pero si lo queremos es que muestre todos los ficheros pero en formato octal:

find /ruta -type f -exec stat -c "%a %n" {} ';'

Al poner -type f , nos muestra los ficheros solamente y no directorios. Muestra todos los ficheros incluidos en el interior de directorios hijos.

2.- MOSTRAR PERMISOS EN FORMATO NUMERO DE DIRECTORIOS

find /ruta -exec stat -c "%a %n" {} ';'

 Al poner  -type d , nos muestra los permisos en numero de los directorios que hay dentro de la ruta indicada.

3.-CAMBIAR PERMISOS DE FICHEROS Y DIRECTORIOS DENTRO DE UNA RUTA

find /ruta -type f -exec chmod 644 {} ';'

find /ruta -type d -exec chmod 755 {} ';'

Cambia los permisos de todos los ficheros y directorios poniendo los permisos 644 y 755 , recordar que para servidores locales ( nuestros) debemos poner 664 y 775 .

4.- COMPROBAR AQUELLOS FICHEROS Y DIRECTORIOS QUE NO TIENE ESOS PERMISOS.

Al trabajar con proyectos grandes, como puede ser una Web en Joomla, esto tiene muchísimos directorios y ficheros, por lo que controlar con las instrucciones anteriores si tiene los permisos correctos, es bastante complejo.

Por ello nosotros utilizamos las siguientes instrucciones en las que nos filtra los ficheros y directorios que NO tengan los permisos bien.

find /ruta -type d ! -perm 775 -exec stat -c "%a %n" {} ';'
find /ruta -type f ! -perm 664 -exec stat -c "%a %n" {} ';'

COSAS QUE QUEDAN POR RESOLVER

El objetivo de está entrada es tener todas la instrucciones necesarias para ver los permisos, de ficheros , que nosotros habitualmente necesitamos en nuestros servidores locales ( PRODUCCION ) por ello aquí anotamos los problemas que vamos encontrando.

PROBLEMA CON EL DIRECTORIO OCULTO GIT

Al realizar el cambio de permisos de todos los ficheros y directorios de un proyecto, si este está tenemos creado un repositorio de git, con las instrucciones anteriores intentan cambiar los permisos del directorio oculto de git ( .git), algo que no debería.

PROBLEMA DE PERMISOS DE FICHEROS SUBIDOS DESDE CMS EN LOCAL

Aunque nuestro técnico configuro el servidor con ACLś, cuando cargamos un fichero desde el CMS este le da los permisos 755 o 644, por lo que el usuario del sistema no tiene permisos a modifica o eliminar ese fichero. ¡ PROBLEMA ! EN SERVIDOR LOCAL CON CONTROLADOR DE VERSIONES (GIT) , QUE INTENTA CAMBIAR ESOS PERMISOS A EL DIRECTORIO OCULTO .GIT SI PONEMOS LA RUTA DE LA RAIZ DEL PROYECTO.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Para crear una cuenta WHM simplemente debemos seguir los pasos que nos indica al crear una cuenta nueva.

WHM-1

Y en configuracion de DNS marcar utilizar los servidores de dns que se expecifique en los registros del agente que lo registro, así de esta forma tomará las dns actuales del dominio, no teniendo que esperar al cambio de estás.

WHM-2

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

¿ Qué es un DOMINIO y PARA QUÉ?

Definición de Wikipiedia:
Un dominio de Internet es una red de identificación asociada a un grupo de dispositivos o equipos conectados a la red Internet.

Nosotros lo definimos como:

El nombre ( legible para humanos ) de la IP de nuestro servidor (hosting), hay que también tener en cuenta que un SERVIDOR puede haber muchos dominios en él. Si quieres ver que otras web comparten tu IP, que están hay alojadas en el servidor donde está alojada tu web, lo puedes ver en http://viewdns.info/reverseip/

El sistema de nombres de dominios (DNS) se encarga de traducir ese nombre en la ip de donde encontrar el servidor, para propagar las DNS se utilizan principalmente 13 host en todo el mundo.

Sin la ayuda del sistema de nombres de dominio, los usuarios de Internet tendrían que acceder a cada servicio web utilizando la dirección IP y además, reduciría el número de webs posibles, ya que actualmente es habitual que una misma dirección IP sea compartida por varios dominios, siendo el servidor que se encuentra en esa ip el resuelva los dominios que tiene.

En definitiva un dominio es el nombre que identifica a que servidor tiene que ir para ver o enviar la información. ( como un apartado de correos..) Un dominio tiene varios registros que indican donde ir en cada petición como ejemplo: Registro WWW es el que indica IP en caso peticiones vía WEB

Metodos para resolver el nombre de un dominio.

En el siguiente link que encontré puedes ver de forma grafica y muy bien explicada el funcionamiento de resolver DNS.

Sistema de nombre de dominio:

Los root servers son los encargados de identificar y propogar las DNS de un sus respectivas zonas y dominios raiz.

Inicialmente existian 13, pero me imagino que ahora son algunos más.

Sistema identificacion de nuestro proveedor ISP:

Nuestro proveedor internet, también nos proporciona las ip y la conexion directa los sitios que ya conoce.

 

Sistema de nuestro propio equipo:

Un sistema operativo tiene varios metodos para conocer la ip de un dominio:

El más típico es el cache que nos queda en nuestro navegador, el cual ya nos conecta directamente a los sitios que ya visitamos.

Otras formas es a traves del fichero hosts.

Fichero Hosts

El fichero hosts en la actualizadad tambien es utilizado para bloquear o redirigir web a IP que nos interese.

Ejemplo:

" Tenemos una web en produccion ( publicada) en un servidor, pero queremos realizar una copia de esta web ( web desarrollo) en un servidor, para que nuestro equipo al poner el nombre dominio vaya a nuestra web desarrollo, solo tenemos que añadir la linea ip con el dominio"

Hay que tener en cuenta lo util y peligroso de este fichero si es manipulado.

¿ Como saber si se propaga bien las dns de nuestro dominio ?

Existen varias herramientas en internet para saber que dns y si estan propagando en internet.

Listado servidores de Dns de DMOZ.