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
Es un Sistema de impresión común de Unix (Common Unix Printing System, abreviado CUPS) es modular que permite que un ordenador actúe como servidor de impresión. Un ordenador que ejecuta CUPS actúa como un servidor que puede aceptar tareas de impresión desde otros ordenadores clientes que tengan acceso a ese servicio, los procesa y los envía a la impresora apropiada.
El siguiente link es la pagina oficial de CUPS, donde puede descargar las ultimas versiones y ademas de mucha ayuda y información.
Nuestro responsable de sistemas, es quien lo instalo y lo gestiona, pero iré poniendo en este post cosas que voy aprendiendo.
El puerto habitual es : 663, por lo que desde el navegador podemos accede con las siguiente rutal:
localhost:631
Bueno si tenéis un dominio propio, pues utilizarlo. :-)
Os debería aparecer algo así.
Aquí podras añadir todas las impresoras que esten en la red.
Mailutils es conjunto herramientas que podemos gestionar los correos electronicos en nuestro sistema. Esta herramienta esta oriendado usuarios, desarrolladores de gestores de correo y administradores de servidores.
La documentación oficial la podemos encontrar en https://mailutils.org/ , que precisamente es de donde quito la mayoría de lo que escribo aquí ya que no hay mucha información al respecto.
Mailutils ofrece un conjunto de bibliotecas para realizar casi cualquier tarea relacionada con el correo en cualquier formato de buzón existente, y todo ello utilizando una interfaz coherente e independiente del formato, principalmente el paquete libmailutils.
Con libmailutils tenemos acceso a varios buzones y protocolos, como: buzón UNIX, Maildir, MH, POP3, IMAP4, Sendmail, SMTP.
Este es el paquete utiliza los desarrolladores de gestores de correo, ya que ofrece un conjunto de bibliotecas para realizar casi cualquier tarea relacionada con el correo en cualquier formato de buzón existente, y todo ello utilizando una interfaz coherente e independiente del formato.
El servidor Apache http tiene herramientas por linea comandos que nos permite ver, modificar y configurar varios aspectos del servidor.
Comandos básicos para Iniciar/Reiniciar/Parar apache
Start Iniciar servidor
service apache2 start
Restart Reinciar servidor
service apache2 restart
Start Parar servidor
service apache2 stop
Fichero principal de configuración de Apache2
El fichero principal de configuración de servidor APACHE http es el fichero apache2.conf. Se localiza en:
/etc/apache2/
En la misma carpeta se encuentra el fichero ports.conf donde se indican los puertos que voy a utlizar en los virtualHost.
Dentro de este directorio podremos encontrar todos los ficheros configuracion de APACHE, incluso de todos virtualhost (sites) que tenemos para el mismo servidor.
Comando consulta a2query
Este comando es super util, para obtener un monto informacion de nuestro servidor APACHE Http.
Saber que modulos tenemos instalado en Apache2
Con el comando:
a2query -m
Nos muestra todos lo modulos que tenemos intalados.
Si queremos ver solos los Modulos de Procesamiento Multiple de Apache habilitado actualmente debe utilizar la opcion -M
Saber que sites tenemos activos.
a2query -s
Nos muestra listado de todos sites que tenemos activos.
Saber la version de apache que tenemos
a2query -v
Nos indica la version de apache.
Una tormenta de anotaciones de APACHE
Anotaciones si clasificar aun...
Actualizando permisos y/o propietarios del site
Después de actualizar algún fichero en tu site es posible que hayas perdido los permisos o que el usuario del fichero haya cambiado. Tanto para apache como para nginx se suele utilizar mucho estos 2 comandos:
Dar como propietario www-data a la carpeta apache2 y a todos sus ficheros/carpetas hijas.
sudo chown -R www-data:www-data /var/www/html/apache
Cambiar los permisos a la carpeta apache y a todos sus ficheros/carpetas hijas
sudo chmod -R 775 /var/www/html/apache
r=read, w=write, x=execute
Owner: 7=rwx, Group: 5=r-x, Other: 5=r-x
Modulos Apache2
Otros comandos muy útiles son aquellos que te permiten cargar módulos o listar los disponibles. Por ejemplo para instalar php en apache2 vas a necesitar cargar un módulo concreto. En mi caso para la versión 7.2 yo tengo php7_module.
Para los modulos de configuración de apache
Habilitar módulo conf
a2enconf php7.2-fpm
Deshabilitar módulo conf
a2disconf php7.2-fpm
Para los modulos generales de apache
Habilitar módulo proxy fcgi
a2enmod proxy_fcgi
Deshabilitar módulo proxy fcgi
a2dismod proxy_fcgi
Después de estas instrucciones hay que reiniciar apache.
Listar módulos disponibles:
foouser@fooserver:~# apache2ctl -t -D DUMP_MODULES
Respuesta:
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
...
...
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php7_module (shared)
proxy_module (shared)
proxy_fcgi_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
status_module (shared)
Puedes ir a las carpetas
/etc/apache2/conf-enabled
/etc/apache2/conf-available
Para comprobar los módulos tipo conf habilitados/disponibles.
El resto de módulos se encuentran en:
/usr/lib/apache2/modules/
Por ejemplo para ver los módulos conf habilitados:
foouser@fooserver:/etc/apache2/conf-enabled# ls
charset.conf
other-vhosts-access-log.conf
security.conf
localized-error-pages.conf
php7.2-fpm.conf
serve-cgi-bin.conf
Estos directorios son útiles para investigar problemas relacionados con la carga de módulos. Por ejemplo el módulo existe pero no lo tienes habilitado.
La instalación de apache consume tiempo y es normal encontrar algunos problemas con los módulos (sobre todo cuando cambias de versión de PHP o subes de versión del S.O). Hay mucha documentación en internet para resolver estos problemas.
¿Que es virtual host o site en apache?
Cada site o virtual host asigna un dominio o interfaz o IP al servidor, dando la posibilidad asi de tener varios dominios en el mismo servidor.
La idea poder acceder a directorios de nuestro servidor local apache con dominios o subdominios.
Lo primero a tener en cuenta que aparte configurar el apache , debemos modificar el fichero hosts de nuestro sistema operativo.
Hablando que tenemos un sistema operativo linux:
- El fichero host: Este fichero lo podemos editar añadiendo el nuevo dominio y apuntando a la IP del servidor local, lo encontrar en : /etc/hosts
- Los ficheros de configuración de todos los dominios para APACHE, donde debemos crear un fichero con el nuevo host, los puedes encontrar en: /etc/apache2/sites-available
Localización archivos .conf que contienen los virtual host de los sites
Con el siguiente comando puedes listar los virtualhost disponibles que puede usar con tu servidor APACHE:
ls /etc/apache2/sites-available/
Con el siguiente comando puedes listar los virtualhost que ya están corriendo en el servidor:
ls /etc/apache2/sites-enabled/
Habilitar/deshabilitar sites
En apache habilitar un site es mucho más sencillo. Dejo los comandos básicos.
Por ejemplo, para habilitar un site cuyo archivo de configuración se llama blog.conf:
sudo a2ensite blog.conf
service apache2 reload
Esto creará un enlace simbólico en la carpeta sites-enabled y el ultimo comando reiniciará el servidor para dejar el site blog habilitado.
¿Y si quiero deshabilitar algún site?
Bastará con deshabilitarlo y reiniciar apache2 con los comandos:
sudo a2dissite blog.conf
service apache2 reload
Ejemplo de fichero configuracion site apache
Tenemos el codifo de nuestra web "miweb" en carpeta : www/laravel/miweb
Queremos acceder a ella con el subdominio miweb.dominio.es
¿ Que es http y https ?
HTTP es el acrónimo de Hypertext Transfer Protocol (Protocolo de Transferencia de Hipertexto), utilizado por los elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Esta comunicación no está cifrada, lo que significa que si alguien interfiere y se interpone en los paquetes que enviamos, puede leer el texto plano de manera legible.
En contraste, el protocolo HTTPS utiliza una conexión segura mediante un cifrado SSL, lo que hace que los datos viajen de manera segura de un lugar a otro. Esto significa que, si alguien intercepta esos paquetes, no podrá leerlos, ya que están cifrados. Para lograr esto, es necesario instalar un certificado válido en nuestro servidor.
¿Qué pasa si no utilizo HTTPS ni instalo ningún certificado?
Si no utilizas HTTPS y no instalas ningún certificado, estás expuesto a varios riesgos de seguridad. Además, tanto los buscadores como los navegadores penalizan las conexiones no seguras, lo que puede resultar en una disminución del tráfico a tu sitio web y problemas de compatibilidad con algunos navegadores.
¿Qué certificado debo usar?
Debes utilizar un certificado de una autoridad certificadora reconocida. Muchos proveedores de hosting ofrecen servicios para instalar un certificado cobrando una cuota anual (para mi, muy elevada) y uno de los más populares y accesibles es Let's Encrypt, que ofrece certificados de manera gratuita.
¿Cómo puedo instalar Let's Encrypt en mi servidor?
Puedes utilizar herramientas como Certbot, que es gratuita y de código abierto, para instalar automáticamente certificados Let's Encrypt en tu sitio web y habilitar HTTPS. En la página oficial de Certbot, puedes encontrar instrucciones detalladas de instalación y configuración para diferentes sistemas operativos.
¡Quieres que te lo hagamos nosotros y te enseñemos para no pagar cuotas! Contacta con nosotros
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.
No existe programas sin errores, por ello la revisión de logs y registros es fundamental
Por que control log y clasificación programa gestión logs
El revisar logs o registros es fundamental en programación, ya que es la única forma en la que te puede evitar caídas y problemas de tus desarrollos. Estos archivos de registro(logs) lo ideal que no tuviera muchos registros, y no fueran muy grandes, pero todos sabemos que esto no es así, por ello debemos buscar herramientas que nos faciliten lectura de esto logs.
Cada vez invierto mas tiempo buscar y analizar este tipo ficheros, muchas de las aplicaciones vale para muchos tipo de registros, logs y ficheros, pero bueno aquí vamos a centrarnos en los registros de apache, ya que son los que revisamos diariamente.
Cuando tienes una web el numero registros y posible advertencia o errores puede ser muy elevados, si tiene muchas visitas ese servidor. Normalmente revisamos tanto logs de acceso, como los errores de php.
Hasta la versión 7.x de php, los errores venía en una o un par de lineas, en la version 8.x por defecto php hace un trace del error, por lo que un simple warning puede contener mas 10 lineas de registro en el sistema log.
Estos son los motivos por lo que hago es post, para ir buscando información de los posibles programas que me pueda facilitar la tarea revisar los logs.
En la búsqueda me puede encontrar programas con las características de ser :
- De consola o con interfaz GUI (escritorio, movil, web, ...)
- De head o cola (tail), es decir que empiecen por la 1 lineas o que empiecen por final.
- Programas de sistema opertaivo que vienen por defecto
Estas dos características son fundamentales para el tipo usuario que seas, por lo que intentare probar varias de cada tipo, para poder ver comprobar cual sería la mejor para mi, aunque estoy casi seguro que será consola. :-)
Aplicaciones con interfaz GUI para leer y analizar ficheros registros:
- Gnome Logs
- Splunk
- Sumo Logic
- LogStash
- GrayLog
- Loggly
- PaperTrails
- ...
Programas de consola para leer y analizar ficheros registros (logs):
- head
- tail
- cat
- less
- lnav
Distinguir servidores DNS y DNS de un dominio
Los servidores "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.
Los servidores de DNS (Sistema de Nombres de Dominios, ingles) se encarga de traducir ese nombre en la ip de donde encontrar el servidor donde tenemos ese servicio.
Una misma IP puede compartir varios dominios, por lo que sera el servidor de esa ip la encargada resolver esas peticiones de esos dominios.
Si quiere saber cuantos dominios responder con una IP determinada, puedes hacerl en Viewdns.info.
¿ Qué son las DNS de un dominio?
Esto realmente son los registros de dns de un dominio, es donde indicamos donde esta cada servicio que ofrecemos con ese dominio.
¿ Como configurar la hora de los emails ?
Si detectamos que la hora que muestran los email, no es la correcta, seguramente es porque esta pillando la hora del servidor, que no será misma de nuestra localidad, para cambiarlo tenemos que ir configuracion global,
Luego simplemente tenemos que seleccionar idioma y hora , luego selecionar meridiano horario.