Administración de sistemas y redes
Subcategorías
Lo primero que debemos identificar que servicios queremos cambiar: web, el correo y ftp.
El cambio necesita un nivel conocimiento tecnico de sistema medio, aquí creamos las siguiente guia para poder cambiar tu web de servidor.
- Analizamos los servicios que tiene:
- Ctas email
- Directorio public_html para esa web, ya que puede existir redirecciones.
- Base de datos si hay
- Subdominios
- Cta ftp y otros servicios que tenga.
- Nos fijamos en los requisitos tecnicos
- Version de php
- Espacio y uso disco de todos los servicios.
- Trafico ( ya que hay servidores limita ese trafico)
- Realizamos copia de sus datos
- Copia de la web
- Copia fichero ftp
- Copia de email
- Realizamos prueba en local de la web, para versi podemos cambiar versiones php y actualizarla al máximo.
- Preparamos el servidor nuevo con lo requisitos y creando la cuenta email.
- Realizamos instalamos y copiamos los datos del servidor anterior en el nuevo, los email utilizamos imapcopy para poder copiarlos ( algo complejo, por ello recomiendo hacer copia en gestores correo alternativo, si tiene correos importantes)
- Cambiar DNS y registros del dominio para apuntar al nuevo servidor.
Recuerda que un cambio de DNS tarda en propagarse, por lo que tendrá efecto horas despues de hacerlo.
Puedes ver resultado en intodns.com
Para crear una cuenta WHM simplemente debemos seguir los pasos que nos indica al crear una cuenta nueva.
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.
Pensamos que todo desarrollador, diseñador o programador WEB es obligatorio que tenga un servidor en desarrollo. Nosotros normalmente este servidor lo montamos en local y apache, 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 puede esta instalado en cualquier SO, aunque nosotros recomendamos bajo la distribucion de Debian, la instalación es super sencilla, la realizamos siempre separada , es decir instalamos Apache, PHP, Mariba DB y phpmyadmin por separado, hay ya herramientas paquetizadas de esto, aunque no la utilizamos.
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 solemos utilizar por su respuesta rapida.
Si deseas un servidor local no dudes en ponerte en contacto con servicio tecnico.
La cuestion de que version de PHP, nosotros instalamos multiphp, 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.
El cambio servidor no es un proceso sencillo, aunque con unos pequeños conocimientos de sistemas y unos pequeños tips se puede hacer una tarea tediosa pero sencilla.
El motivo de este articulo es el dar unos consejos (tips) para mover el servidor de email, que suele ser el mas complejo.
Copiar emails de un servidor a otro.
Inicialmente ya tenemos nuestro dominio y nuestro servidor configurado , pero queremos realizar una copia de esas cuentas email a otro servidor, existen varias formas de hacerlo.
Si buscas información puedes encontrar mucha información sobrel el tema, ire poniendo la final del articulo los link fuentes que fueron inspiracion de este post, todo gracias a nuestro tecnico de sistema.
Copia de correos de un servidor a otro con IMAPCOPY
Este programa debes saber que no utiliza los cifrados, por eso en el este link puedes ver que lo utiliza con STUNNEL4. Este programa realmente fue util, pero hay mejores alternativa que ponco continuacion.
Lo primero instalar el programa, creo que lo hay para varios SO, nosotros lo instalamos para una distribucion linux con:
apt-get install imapcopy
Este programa una vez se inicia la ejecución lo primero hace busca en nuestro home el fichero imapcopy.cfg que es el fichero configuracion.
Para continuar con la configuración tienes que tener la siguiente información antes de empezar hacer la copia.
- Las IPs de los registros MX de los dos servidores.
- Tenemos que tener creada la cuenta en el nuevo servidor.
Una vez tengamos configurado el fichero, ya podemos realizar la copia de email, pero teniendo en cuenta que :
- Que el proceso se debe hacer completo, ya que no se puede repetir.
- Que una vez terminado , debmos cambiar el registro MX del servidor antiguo, ya que sino seguira recibiendo email, y con este sistema tendríamos que volver hacer proceso.
Una vez realizado tengas el ficheros imapcopy.cfg podemos ejecutar:
imapcopy -t
Textea que la configuración es correcta.
Si esta todo ok, podemos ya ejecutar:
imapcopy
Para ver todas las opicones puede ejecutar
imapcopy -h
Nos muestra las opciones que tenemos.
ImapCopy [-h] [-i] [-O SrcFolder] [-S SrcFolder] [-1] [-0] [-s] [-u]
-O SrcFolder: Copia única SrcFolder, -O se puede especificar más de una vez
SrcFolder -M: Salta partido SrcFolder, -M se puede especificar más de una vez
SrcFolder -S: Skip SrcFolder, -S se puede especificar más de una vez
-i: Mostrar información sobre servidores y salir sin copiar
-1: Copie sólo el primer mensaje de cada carpeta
-0: Carpetas de copia única, no haga copiar los mensajes
-e: Crear carpetas emtpy también
-t: Prueba de acceso para todos los usuarios en el archivo de configuración
-s: Suscribirse todas las carpetas en el servidor de destino
-u: Suscribirse todas las carpetas de origen, necesarias por algunos servidores a
seleccione una carpeta (sólo si seleccione failes)
-X: Copia todos los mensajes de CORREO, no te crear carpetas en Destino
-l: Escribe resultados de archivo de registro imapcopy.log
***********************************
Hay que tener encuenta que está aplicacion es valida para las plataformas como gmail y hotmail.
Tambien debes tener en cuenta que el proceso de copiar los email puede tardar, dependiendo de la cantidad email, del peso ellos y de la conexion con los servidores.
Copiar y sincronizar emails entre servidores.
Utilizamos el programa imapsync es una potente herramienta que permite sincronizar dos cuentas de correo vía IMAP, copiando y sincronizando entre dos servidores. Los requisitos es saber la ip y los usuarios y contraseña de los email.
Está herramienta a diferencia de la anterior, es que si se corta por cualquier motivo la conexion con los servidores, no vuelve a empezar, sino que simplemente mueve aquellos que cambiaron y que los nuevos emails.
Hay un docket preparado , que tiene una interfaz online web que podemos utilizar de forma intuitiva. Aunque como siempre tienes la opcion de terminal.
El docket lo puedes descargar en Descargar docker de imapsync
Este lo tengo en mi caso instalado en mi servidor localhost:8080
Fuente:
Imapcopy, herramienta para migrar cuentas email
Cuando vienes de Windows y eres un novato en LINUX, te encuentras en un entorno lleno bloqueos, pero NO desesperes.
<nota>Aunque ahora creo windows, ya empieza gestionar mejor los usuarios y sus permisos.</nota>
Recordar que linux nació como un sistema multiusuario y por eso toma muy en serio la seguridad, debes planificar bien la gestión de permisos, tanto de usuarios y como grupos usuarios.Los servicios y accines que permites hacer los usuarios o grupos de usuarios es fundamental en un sistema multiusuario.
No es complejo los controles de acceso en Linux es simplemente distinto y más avanzadas que en windows. Si no te metes en cosas complejas como ACL y LDAP Authentication, es sencillo de entender.
Gestion de permisos de Linux
Un administrador de sistemas debe prestar mucha atención a la gestión de permisos , planificando bien sus permisos para mantener un sistema seguro.
En Linux y para un administrador Linux, la terminal no es una opción, aunque lo parezca:
ls -l
Este comando puede ser buen inicio y hacernos una idea de la gestion de permisos de linux, nos saldría algo similar
CTRLALTT: Nos abré una terminal.
Si empezamos a utilizar la terminal, siempre es bueno tener una pequeña guia de los atajos de teclado que tenemos en nuestra shell.
Nosotros trabajamos con dos servidores:
- Servidores Produccion: Aquellos que son publicos, para nuestros proyectos y clientes webs.
- Servidores Desarrollo: Cada programador tiene un servidor local donde trabaja en esos proyecto para mejorar.
Lo que pretendemos en este post :
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 solo se puedan subir ficheros con esos permisos.
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 (formato numerico) 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 y 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
Cambiar los permisos de un fichero
chmod 644 nombrefichero
Lo mismo para un directorio.
chmod 755 nombredirectorio
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 .
find /ruta -type f -exec chmod 644 '{}' ';'
find /ruta -type d -exec chmod 755 '{}' ';'
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
Problemas que aun no resolvimos.
PROBLEMA CON EL DIRECTORIO OCULTO GIT
Cuando nos descargamos ficheros de produccion en nuestro proyecto que ya tenemos versionado con git, pero los ficheros que nos bajamos tiene mal los permisos.Al realizar el cambio de permisos de todos los ficheros y directorios de un proyecto, con las instrucciones anteriores intentan cambiar los permisos del directorio oculto de git ( .git), algo que no debería y entonces nos indica que hubo error en el intento de cambio permisos del directorio git.
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
COMANDO XEV
Muestra los eventos de las teclas y el raton
SINOPSIS DE XEV
xev [-display displayname] [-geometry geom] [-bw pixels] [-bs {NotUse- ful,WhenMapped,Always}] [-id windowid] [-root] [-s] [-name string] [-rv]
DESCRIPCION DE XEV
Xev crea una ventana y luego le pide al servidor X para enviarlo eventos cuando alguna vez algo le pasa a la ventana (como se está moviendo , cambiar de tamaño ,tecleado , se hace clic en , etc. ) . También puede adjuntar a una ya existente ventana. Es útil para ver lo que hace que los eventos que se produzcan, hasta mostrar la información que contienen ; es esencialmente una debug-ging y herramienta de desarrollo , y no deben ser necesarias en el uso normal .
Página 4 de 6