domingo, 19 de enero de 2025

Servidor de Correo - iRedMail



Muy bien, en este post voy a explicar como instalar la herramienta iRedMail que es una solución de correo electrónico profesional y gratuito para tu empresa. Dicho software te permite implementar un servidor de correo de código abierto, completo y con todas las funciones para enviar, recibir y gestionar mensajes de correo.

Para empezar nos loguemos como root, esto para no estar dando permisos de administrador en todo el proceso. Actualizamos los repositorios de Ubuntu Server, descargamos el fichero de instalación de la página oficial de iRedMail  y descomprimimos.  
 
 
Antes de continuar con la instalación vamos a modificar el fichero /etc/hosts para que no haya conflictos entre el DNS y el Server. Agregamos el nombre del dominio mail.thequbit.net para que resuelva sin problema.
 
 
Entramos y ejecutamos el fichero de instalación.
 
 
 Este nos irá preguntando la configuración que deseemos.
 
 
En la imagen anterior nos pide que confirmemos... ¿Es correcta la configuración a instalar?.
 

Después de la instalación nos da las URLs para loguearnos por el navegador. 
 
 
Si nos fijamos en el pantallazo anterior vemos que accedemos por SSL y con usuario postmaster@thequbit.net.
 
Aquí tenemos el panel de administración.
 
 
Para probar su funcionamiento vamos a crear dos usuarios y entre ellos se enviarán un correo.
 
 
Ahora tenemos creados los usuarios fred y eddy. Para enviar correos desde cualquiera de estas dos cuentas, nos dirigimos al navegador y en la URL ponemos la 192.168.210.145/mail.
 
 
Esto nos lleva al panel de loguin. Entramos con el usuario fred y luego redactamos un mensaje de prueba.
 
 
Ahora entramos con el usuario eddy y efectivamente vemos un mensaje de fred
 

Respondemos el mensaje para saber si llega a fred.
 

Pasamos a la cuenta de fred.
 
 
Ahí tenemos la respuesta. 👏👏 
 
Con esto terminaría la puesta en marcha de un servidor de correo electrónico. Hasta la próxima 😉👍

lunes, 13 de enero de 2025

Web estática con Jekyll


Cuando se nos viene a la cabeza ¿Cómo crear una página web? lo normal es que pensemos en WordPress, joomla, drupal, magento, etc. Y luego nos preguntamos si necesitamos saber programación o tener conocimientos técnicos muy avanzados. En este post voy a resolver esas dudas y voy a implementar un servicio web en nuestro Ubuntu Server. 
 
Lo primero que debemos tener claro es ¿Qué voy a enseñar al mundo?. Con esto me refiero, al tipo de interacción va a tener el usuario con mi página, si necesita un registro o sólo va a visualizar el contenido de esta. Aquí hay dos opciones: páginas estáticas o páginas dinámicas. Estas dos difieren en que la primera solo entrega contenido para su visualización y en la segunda el usuario interactúa con la página. Para tener este concepto más claro, el usuario interacciona con una base de datos ¿Cómo?, en forma de registro, subida de archivos, modificación de registros, etc.  
 
La pregunta que más nos hacemos ¿Necesito saber programar? La repuesta corta es ¡No!, si lo que queremos es algo desatendido cómo arrastrar y soltar. Pero si lo que buscamos es algo más personalizado el cual requiera crear y modificar ficheros, la repuesta es ¡Sí!. Pero hay herramientas híbridas que te permiten habilitar módulos y luego modificarlos a tú agrado. 
 
Ahora, volviendo a nuestro proyecto SOHO hoy voy a crear una página web con Jekyll. Esta herramienta toma texto escrito en lenguaje de marcado y lo usa para crear diseños web estáticos. Puedes modificar la apariencia del sitio, las URL, los datos que se muestran en la página y más.
 
Para empezar nos vamos al sitio oficial de Jekyll e instalamos los requisitos.
 
 
Muy bien ya ha finalizado la instalación de Jekyll, así que vamos a crear nuestro proyecto, para eso escribimos en la posición dónde estemos jekyll new webProject
 
 
Entramos al fichero que se acaba de crear...
 
 
Estos serían los archivos que nos ha creado Jekyll y lo necesario para poder utilizar nuestra página web. Ahora, arrancamos el servicio así ... bundle exec jekyll serve --host 192.168.210.145.
 

Ponemos --host 192.168.210.145 porque estamos conectados a una máquina virtual, y desde el navegador de mi computadora entramos a la web. 
 
 
Aquí tenemos la página, básicamente esto es Jekyll funcionando. Clickando en Welcome to Jekyll nos lleva a un post de ejemplo.
 
 Para editar la página se debe utilizar Markdown que es un lenguaje de marcado ligero que trata de conseguir la máxima legibilidad y facilidad de publicación tanto en su forma de entrada como de salida. Su popularidad se debe a que es sencillo y fácil de aprender por parte de aquellas personas que no tienen un perfil técnico. 
 
Para la configuración veremos una serie de ficheros y directorios, pero en especial una carpeta que es donde se trabajarán los post y dentro de esta se encuentra un fichero de ejemplo con extensión .md "mardown".
 
 
Aquí es donde vamos a colocar los post, directamente podemos empezar a editar, si yo pongo "esto es una prueba".
 
 
Guardo los cambios y reinicio el servidor para ver los cambios.
 
 Uno de los archivos más importantes que necesitamos editar es _config.yml, este archivo contiene configuraciones básicas de la página.
 

Una vez realizados los cambios reiniciamos el servicio.
 

Los cambios se han aplicado sobre el contenido personal. Con esto ya tendríamos una idea de como cambiar el contenido de nuestra página. Ahora veamos como instalar otras plantillas. En los recursos que nos ofrece la web oficial de Jekyll descargamos el que más nos guste.
 
Vamos a probar con el theme yat. Descargamos o clonamos el repositorio y accedemos a el, una vez dentro instalamos los requerimientos para que funcione la página.
 
 
Ejecutamos bundle exec jekyll serve --host 192.168.210.145 y entramos desde el navegador.
 
Pues básicamente es descargar el proyecto, acceder la carpeta, instalar los plugins que vienen establecidos en el fichero y ejecutarlo. Tendríamos exactamente el mismo servidor que hemos visto en el primer ejemplo y a partir de aquí podemos empezar a crear tus post.
 
Probemos con otro proyecto, por ejemplo jekynewage
 
 
A partir de aquí ya es cosa nuestra empezar a crear, editar y adaptar la página a nuestro estilo. Ahora, teniendo claro como es el funcionamiento básico de esta herramienta, podemos instalar un Nginx para que se conecte a una base de datos y que los usuarios puedan registrarse y consumir contenido. Y si tenemos conocimientos avanzados sobre desarrollo web no hay límites para transformar este tipo de tecnologías. 

¡Bueno! Con esto termino, hasta la próxima 👋😉.

lunes, 23 de diciembre de 2024

Bases de Datos Relacionales - MySQL


Continuando con el desarrollo del Servidor Ubuntu, hoy voy a explicar la instalación de la base de datos MySQL y el gestor gráfico phpMyAdmin. Lo primero que vamos hacer es actualizar el sistema, una vez que haya terminado vamos a proceder a instalar Apache2 "sudo apt install apache2". Para ingresar al servicio web lo hacemos a través del navegador.
 
 
Luego instalamos la base de datos MySQL. Buscamos el repositorio mysql-server-8.0 en el sistema y lo instalamos. Para acceder a la base de datos lo hacemos por consola, como se ve en la imagen.
 
 
Por seguridad cambiamos la contraseña del usuario root.
 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345';
 
 
Recordemos que esta contraseña en entornos corporativos debe contener mayúsculas, minúsculas, caracteres especiales y números. Iniciamos el servicio sudo systemctl start mysql-service
 
 
En la imagen anterior se comprueba que está activo.
 
Ahora vamos a darle interfaz gráfica a nuestra base de datos con la herramienta phpMyAdmin. Pero antes instalamos php y otras dependencias y librerías que se necesitan.
 
sudo apt-get install -y php php-tcpdf php-cgi php-pear php-mbstring libapache2-mod-php php-common php-phpseclib php-mysql
 
Realizamos la instalación del gestor de base de datos phpMyAdmin. El primer banner que nos salta nos pregunta ¿Quieres la configuración estándar con sus bases de datos de prueba? Le ponemos que si. 
 
 
El segundo banner nos pide una contraseña y su confirmación. También que seleccionemos el servidor web con el que va a arrancar la herramienta.
 
 
Con esto termina la instalación de la herramienta. Luego reiniciamos el servicio apache2 "sudo systemctl restart apache2" y para comprobar que esto está funcionando nos dirigimos al navegador y ponemos localhost/phpmyadmin.
 
Al iniciar sesión nos llevará al panel principal de la herramienta.
 

En este punto si quisiéramos crear una base de datos lo podríamos hacer desde la pestaña Bases de datos
 

Vamos a probar a importar el archivo qcorp.sql que contiene toda la estructura de una base de datos.
 

 Si actualizamos vemos que ha creado la base de datos qcorp.

 
Vamos a consultar todos los clientes que tenemos en la base de datos qcorp.
 
 
Algo importante a tener en cuenta, es que trabajar con el usuario root es bastante peligroso por los privilegios que tiene, en ese caso es mejor crear un usuario estándar. Para eso entramos a la base de datos como root y creamos el usuario con permisos sobre la BBDD qcorp.
 

Nos logueamos en phpMyAdmin con el usuario q3it.
 

Estamos dentro y sólo tenemos la BBDD qcorp.
 

Los permisos que tiene este usuario sólo es de consulta. No puede crear BBDD, eliminar, modificar e insertar. Bueno y con esto termino MySQL ya que el tema de bases de datos da para muchos post. Saludos 👋😉