Administración de sistemas y redes
Subcategorías
-
Servidores 19
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.
Hoy en uno de los equipo que gestionamos que tiene Debian 10 con interfaz gráfica con Cinnamon, nos desaparecio el menu.
La causa seguramente fue que un usuario si querer lo elimino, si pulsamos en botón derecho ratón encima menú, nos da opción de eliminar el menú, como podemos ver en la imagen siguiente.

Si por cualquier motivo lo hicimos , podemos restaurarlo de forma sencilla, solo tenemos que ir configuración de sistema que podemos acceder :
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
El listar archivos desde la terminal de linux con el comando ls es muy sencillo y muy potente, una vez que lo utilizas muchas dejas de lado el ver ficheros desde la parte gráfica.
Se puede listar ficheros y directorios. Es un comando forma parte del paquete GNU Coreutils, que todas distribuciones linux lo integran.
Opciones más comunes
Las opciones se pueden agrupar, es lo mismo poner ls -l-a que poner ls -la
- -l muestra un listado en el formato largo, con información de permisos, número de enlaces asociados al archivo, usuario, grupo, tamaño y fecha de última modificación además del nombre.
- -h con -l imprime el tamaño de los archivos de forma entendible para los humanos (ej. 1K 234M 2G).
- -d muestra solamente el nombre del subdirectorio, sin entrar en él ni dar un listado del contenido.
- -t muestra ordenado por la fecha de última modificación.
- -c muestra ordenado por la fecha de última modificación del estado del archivo.
- -r cuando el listado se hace por orden temporal, los archivos más recientes van al principio. Si se indica la -r se invierte el orden, mostrando los más recientes al final.
- -L en los enlaces simbólicos, muestra los datos del archivo referenciado en vez de los del link.
- -1 muestra el listado en una sola columna. Sin la opción -1 el listado se muestra en varias columnas, tantas como permita el ancho de la terminal (generalmente controlado con la variable de entorno $COLUMNS).
- -i muestra el número del i-nodo antes del nombre de archivo.
- -m muestra los archivos en una línea y separados por comas.
- -R hace un listado recursivo. Lista primero los archivos del directorio en curso, luego los de los subdirectorios de éste, luego los de los subdirectorios contenidos en ellos (nietos) y así sucesivamente.
- -s muestra delante del nombre del fichero el tamaño en kilobytes del mismo.
- --color muestra cada tipo de archivo de un color distinto: un color para los directorios, otro para los archivos regulares, otro para los enlaces simbólicos, otro para los sockets, otro para las tuberías FIFO, etc. Este parámetro no se acepta en todas las versiones de ls y, por supuesto, requiere que la terminal sea capaz de mostrar distintos colores o intensidades.
- -a muestra los archivos ocultos.
Puede ver mas opciones en man ls. A continuación ponemos algunos ejemplos con las opciones mas comunes.
Los repositorios en las distribuciones basadas en Linux es una sus mejores características. Estos repositorios suele esta actualizados y ser fiables para su descarga, estos paquete (programas) con sus dependencias pueden ser descargados y actualizadas de con un sencillo comando. (sistemas de gestión de paquetes)
Cada distro suele tener sus propios repositorios con los programas que consideran necesarios. Es bastante sencillo crear tu propio repositorio y incluso util si te dedicas al servicio de mantenimiento de equipos en Linux.
Ver los repositorios de nuestra distribucion linux
Busco información de como mostrar estos repositorios y encuentro lo siguiente.
Con la instruccion :
sudo apt policy
Nos muestra los archivos con paquete de repositorios:
El comando dmesg es la herramienta que utiliza linux para poder mostrar los mensajes que guarda el sistema (syslog) en el buffer, los mensajes del kernel .
dmesg
Muestra todos los mensajes de buffer por pantalla.
dmesg -T
Muestra la fecha del mensaje.
dmesg -H
Muestra los mensajes de pagina en pagina.
La terminal que en nos permite abrir en la misma ventana o ventana idependiente multitud de terminales independiente, esto "tmux" ,
Con la instruccion :
$ tmux
Te abre una terminal con una barra verde inferior.
$ man tmux
Puede encontrar tanto las opciones que para ejecutar, como los atajos de teclado. (keyBindings), recuerda que para poder utilizar los atajos de teclado tienes pulsa un prefijo, que por defecto es Ctrl+b
Algunos de los atajos de teclado tmux
Ctrl+b " : Divide la ventana en dos paneles, Arriba y abajo.
Ctrl+b % : Divide la ventana en dos paneles en izquierda y derecha.
Ctrl+b o : Se mueve entre terminales abiertas.
Ctrl+b ! : Rompe el panel creado en la ventana.
Ctrl+b c : Crea una nueva ventana, en la barra de abajo verde, puede ver la ventanas que tienes abiertas.
Ctrl+b n : Te cambias a siguiente ventana.
Ctrl+b p : Te cambias a anterior ventana.
Ctrl+b Numero : Te cambias a la ventana con ese numero.
Ctrl+b & : Forzar el cierre de la ventana y sus paneles.

Lee más…