Categorías
Curso Blazor Introducción

Curso Blazor

  1. Proyecto Básico en Blazor
  2. Componentes básicos
  3. Componentes separados
  4. Enlaces de datos
  5. Mensajes de confirmación de eliminación
  6. Edición de modales
  7. Búsqueda de registros
  8. Números de página
  9. Envío de objeto por post
  10. Llenar un combo
  11. Hospedaje Estructura
  12. Listar Datos
  13. ModeloDataBaseFirst
  14. Paginación básica
  15. Plantillas
  16. Seguridad básica
  17. Validación de servidor
  18. Filtros por paginación
Categorías
Introducción

Introducción a Blazor

En esta página podrás encontrar todo acerca de lo que necesites saber sobre Blazor.

¿Qué es Blazor?

Es una plataforma o característica de ASP.NET una de sus principales ventajas es que es web y de código abierto, desarrollada por Microsoft, que permite a los desarrolladores crear aplicaciones web usando C# y HTML.

Las aplicaciones realizadas con blazor se caracterizan porque se basan en componentes los cuales son elementos de la interfaz de usuario implementados con C#, HTML y Css.

Blazor funciona en todos los navegadores web incluyendo los móviles.

¿Listo para empezar?

A continuación podrás encontrar una lista con todos los temas acerca de Blazor, que te serán de mucha utilidad para aprender a realizar proyectos web usando esta plataforma.

Categorías
Manual

Manual acerca de la Configuración de Correos en Thunderbird

Para realizar la configuración debemos hacer los siguiente: 

  1. Debemos ir a la página de descarga oficial de Thunderbird en el siguiente enlace https://www.thunderbird.net/es-ES/ y damos clic en el botón de Descarga Gratuita

2. Una vez descargado el archivo debemos ejecutarlo y debemos permitir la instalación del mismo, a continuación se nos abrirá la siguiente ventana donde daremos clic en siguiente

3. Seleccionamos la instalación por defecto Estándar y clic en Siguiente

4. Nos aparece la ruta de instalación de la aplicación y damos clic en Instalar

5. Esperamos el programa termine de instalar

6. Una vez se haya instalado seleccionamos la opción de reiniciar ahora y finalmente damos clic en Finalizar 

7. Una vez se reinicie la máquina y el programa ya se encuentre instalado lo buscamos en las aplicaciones de Inicio y damos doble clic en el icono de Mozilla Thunderbird 

8. Se nos abrirá una pantalla como la siguiente donde seleccionaremos de las opciones Nuevo 

9. De las opciones que se despliega seleccionamos cuenta de correo existente 

En la siguiente pantalla realizamos la configuración de la siguiente manera: 

  1. Colocamos nuestro Nombre (Se puede colocar en lugar del nombre la dirección del correo)
  2. Colocamos el correo
  3. Colocamos la clave de nuestro correo empresarial 
  4. Clic en el botón de Configurar Manualmente

En la siguiente pantalla realizamos la siguiente configuración 

  1. Seleccionamos IMAP
  2. En Nombre del Servidor colocamos mail.elixir.ec y en el caso de ser el otro correo colocamos mail.elixirsa.net
  3. Puerto IMAP 143 y SMTP 587 
  4. Seleccionamos STARTTLS
  5. Clic en el botón Volver a probar

Si la configuración esta correcta se habilitará el botón de Hecho damos clic en el mismo 

Empezará a conectarse a nuestro correo y comprobar la información ingresada, una vez termine podremos observar que se cargan los correos de nuestra cuenta y sus carpetas como: Bandeja de entrada, Borradores, Enviados, Correo no deseado y Papelera.

Importante: Si no salen algunas de las carpetas que tengamos en nuestro correo debemos realizar lo siguiente:

Seleccionamos la cuenta en la que no aparecen todos los directorios, clic derecho y seleccionamos la opción Suscribirse

Damos clic en el botón de suscribirse y seleccionamos todas las carpetas, finalmente clic en Aceptar

Automáticamente se cargan todas las carpetas de nuestra cuenta de correo electrónico

Respado de correos en la carpeta local

Para respaldar todos nuestros correos en una carpeta local, lo que tenemos que hacer es lo siguiente, vamos a la opción de carpetas Locales 

Damos clic derecho sobre la opción de Carpetas locales y seleccionamos nueva carpeta

Ingresamos el nombre a la carpeta (este nombre puede ser cualquiera según los correos que vayamos a mover de la cuenta de correo a la cuenta local) seleccionamos Carpetas locales y clic en Crear Carpeta 

Si observamos en Carpetas Locales ya se crea la carpeta prueba 

Nota. Se puede crear tantas carpetas locales como tenga en el correo de la cuenta de correo para organizar sus correos. 

Una vez creadas las carpetas lo que haremos es mover la información (correos) de las carpetas de la cuenta de correo a la carpeta local de thunderbird, para seleccionar todos los correos de un directorio vamos a opciones, escogemos la opción de editar y desplegamos la flecha y escogemos la opción seleccionar todo.

Una vez seleccionados todos los correos damos clic derecho sobre los correos seleccionados y escogemos la opción Mover a, Carpetas Locales y seleccionamos la carpeta que creamos en los pasos anteriores.

Una vez movamos los correos podemos ver que en carpetas locales y en la subcarpeta prueba se encuentran los correos que acabamos de mover.

Importante. Si vamos a la cuenta de correo electrónico encontraremos que no tenemos los correos que acabamos de mover ya que los mismos se encuentran en la carpeta local de nuestra máquina. Este proceso de mover los correos se debe realizar en caso de que la memoria del servidor de correo se este llenando o usted quiera tener los correos localmente.

Cómo copiar mis respaldos de correos de Thunderbird de una máquina a otra

Para copiar la carpeta de thunderbird de una máquina a otra debemos hacer lo siguiente: 

En la máquina donde tengamos los correos, iremos a la aplicación de Thunderbird y daremos clic en las opciones y seleccionaremos Ayuda

De las opciones que se despliegan damos clic en la opción que dice Información de Resolución de Problemas

Se abrirá una pantalla similar a esta, en la cual daremos clic en el botón de abrir Carpeta, que nos llevará a la ruta donde se encuentran los perfiles y las carpetas locales de thunderbird, donde respaldamos nuestros correos.

Debemos dar clic en el nombre Thunderbird para que nos lleve a la carpeta principal que contiene las carpetas secundarias. 

Estos archivos de la carpeta principal de Thunderbird los debemos copiar y pegar, en una carpeta de una unidad externa (disco o flash).

Una vez tengamos respaldadas las carpetas de Thunderbird que contienen los perfiles y los correos de las carpetas locales, deberemos ir a la máquina en donde vayamos a copiar estos correos nuevamente (esto aplica si la máquina se la formateo o si se usará otra máquina), para ello en la máquina a copiar los correos debe tener instalado el Thunderbird.

Deberemos ir a la ruta donde reemplazaremos las carpetas respaldadas anteriormente, para ello abrimos thunderbird y damos clic en las opciones y menú Ayuda

De las opciones que se despliegan damos clic en la opción que dice Información de Resolución de Problemas

Nos llevará a la ruta donde se encuentran algunas carpetas y archivos de Thunderbird, una vez ahí debemos dar clic en el nombre de Thunderbird

En este apartado pegaremos los archivos copiados en la unidad externa y los reemplazaremos.

Una vez reemplazados los archivos debemos abrir el thunderbird y verificar que las copias de los correos se encuentren en las cuentas locales de la máquina. 

Categorías
Sin categoría

Directivas de Grupo Local por usuario (Escritorio Remoto)

En este manual se explicará como modificar opciones del sistema a un determinado usuario, de forma que se pueda administrar los permisos y restringir el uso de algunas de las funcionalidades del sistema operativo como accesos a Panel de Control, Explorador de archivos, a Inicio, barra de tareas, etc.

Los pasos para configurar las directivas de grupo local por usuario de escritorio remoto son los siguientes:

Pasos:

  1. Se debe tener previamente creados los usuarios de escritorio remoto.

2. Se debe ingresar al escritorio remoto con un usuario de tipo Administrador, buscamos la pantalla de Run Command (Comando ejecutar Windows + R) , digitamos el comando mmc y damos clic en OK

3. Se abrirá una consola de administración.

4. Seleccionaremos del menú la opción Archivo (File), escogemos la opción que dice Agregar o Remover complemento (Add/Remove Snap-in)

5. En el cuadro seleccionaremos la opción editor de objetos de directiva de grupo (Group Policy Object Editor) y agregaremos el mismo

6. Asignamos un nombre a nuestra política de grupo y damos clic en Examinar (Browse)

7. En la siguiente pantalla seleccionamos la pestaña de Usuarios (Users) y escogemos el usuario al que vamos a restringir los permisos a ciertas funciones del sistema operativo y damos clic en Aceptar.

8. Damos clic en Finalizar (Finish)

9. Una vez agregada nuestra política daremos clic en Aceptar.

10. En la política creada, daremos clic en configuración de usuario (User Configuration) y plantillas administrativas (Administrative Templates), en este apartado encontraremos todas las funcionalidades que se pueden restringir.

Ejemplo: Seleccionaremos Panel de Control y escogeremos la configuración de Prohibir el acceso a Panel de Control y las demás configuraciones de la máquina.

11. Para habilitar esa configuración damos clic sobre la misma y en la ventana que se abre activamos la opción de Habilitar (Enabled) y luego clic en Aplicar (Apply) y Aceptar.

12. Ingresamos sesión con el usuario de prueba que creamos, mismo que asignamos la restricción a panel de control y las otras configuraciones de la máquina.

12. Buscamos Panel de Control, al abrir nos aparecerá una ventana donde nos indica que el usuario tiene restricción.

Nota. De este modo se pueden aplicar las políticas de grupo para cada usuario sin afectar a todos los usuarios que se encuentren activos en nuestro servidor.

Categorías
Servidores en la Nube

Configurar Usuario de solo Lectura en Sql Server

En el siguiente manual se explica el proceso para la creación de un usuario de solo lectura en el SQL Server para una determinada base de los servidores de la nube.

Pasos:

1. Ingreso al SQL Server

Ingresamos a la instancia del SQL Server de uno de los servidores de la nube, con un usuario que tenga todos los permisos, para el ejemplo ingresaremos con el usuario de infoelect y su respectiva clave:

2. Indentificar la Base en la que se creará el usuario

Debemos tener en cuenta cual es la base en la que queremos crear el usuario que solo tendrá los permisos de solo lectura, para este ejemplo la base será [CAPACITACIONMAYO2020]

3. Creación del usuario

La estructura del nombre del usuario a crear siempre será la siguiente:

Elixir_NombreBase

La clave del usuario debe ser de 16 dígitos y se debe generar usando un generador de contraseñas online como el siguiente: https://passwordsgenerator.net/es/

Una vez generada la clave copiamos la misma y la guardamos en algún lugar para no olvidarla.

Para la creación del usuario, usaremos el siguiente script que ejecutaremos en el SQL Server de la instancia donde se encuentre nuestra base de datos:

USE [master]
CREATE LOGIN NombreUsuario WITH PASSWORD=N'ClaveUsuario',
DEFAULT_DATABASE=[NombreBase],
DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO

4. Creación del usuario para el login

Para asignar el usuario que creamos en el paso anterior a nuestro login, ejecutamos el siguiente script:

USE [Nombre Base]
CREATE USER NombreUsuario FOR LOGIN NombreUsuario WITH DEFAULT_SCHEMA=[NombreBase]
GO

5. Asignar permisos de lectura a nuestro usuario

Para dar los permisos de lectura a nuestro usuario ejecutaremos el siguiente script:

USE [NombreBase]
EXEC sp_addrolemember N'db_datareader', N'NombreUsuario'
Categorías
Sin categoría

Flutter

Publicar un nuevo controlador y api

Detener Servicio

sudo systemctl stop mobile.service

Copiar con Filezilla

Empezar Servicio

sudo systemctl status mobile.service
Compilar
flutter build apk --target-platform android-arm
Generar floor
flutter packages pub run build_runner watch
Generar las clases
dotnet-ef dbcontext scaffold 'Data Source=.; Initial Catalog=LatiniumReducido; User ID=infoelect; Password=vcsnfaM$1' Microsoft.EntityFrameworkCore.SqlServer --context-dir Data -o ..\Shared\Models -c "AppDbContext" -d -f --use-database-names
Categorías
Sin categoría

Configurar una VPS

Actualice su linux y configure la hora en su VPS

Actualización
  1. Ingrese al VPS con el usuario root y las credenciales proporcionadas por el proveedor
  2. Actualice el sistema operativo
sudo apt update && apt upgrade -y
  1. Configure su hora local (En este ejemplo se configura la zona horaria de Ecuador)
timedatectl set-timezone America/Guayaquil
Crear su usuario de trabajo

Es inseguro trabajar con el usuario root, por lo cual se recomienda crear otro usuario para el trabajo de administración y bloquear el acceso al usuario root.

Cree el usuario de trabajo e ingrese su contraseña

adduser elixir-ftp

Asigne al usuario al grupo sudo

adduser elixir-ftp sudo

Cambie al nuevo usuario

su elixir-ftp

Cree el directorio y configure las seguridades

cd /home/elixir-ftp
mkdir .ssh
chmod u+rwx .ssh
Seguridades de acceso por SSH

Desde windows:

ssh-keygen -f kamatera-key -b 4096

Copie e ingrese con el usuario creado. Reemplace 104.129.131.50 con la direccion ip de su servidor

Nota. Debe ejecutar este comando ingresando a la ruta de su ordenador donde tenga el archivo de kamatera-key.pub

scp kamatera-key.pub elixir-ftp@104.129.131.50:~/.ssh/authorized_keys

Desde windows ingrese con la llave privada

Nota. Este comando al igual que el anterior se debe ejecutar una vez nos encontremos en la ruta donde esta el archivo kamatera-key.

Importante: El archivo de kamatera-key debe tener asignado a un solo usuario (Usuario Local de la máquina) el permiso de lectura.

ssh -i kamatera-key elixir-ftp@104.129.131.50

Verifique los permisos del archivo y directorio creados anteriormente

ll
ll .ssh

Cambie los permisos del archivo authorized_keys

chmod u+rw .ssh/authorized_keys

Verifique los permisos del directorio y archivo

ll | grep .ssh && ls -lAR | grep authorized_keys

Cambiar el puerto e impida el acceso por root y por clave

Abra el archivo de configuración

sudo nano /etc/ssh/sshd_config

Ingrese este contenido, tenga mucho cuidado que todo funcione ya que después de estos cambios no podrá ingresar con el usuario root ni con la clave de su usuario, solo con su llave privada kamatera-key, que la debe guardar adecuadamente y debe tener un respaldo

Port 6923
AddressFamily inet	
PermitRootLogin no
PasswordAuthentication no

Reinicie el servicio. (Después de esto no hay vuelta atrás)

sudo service sshd restart

Ingrese con el nuevo puerto y la llave creada anteriormente

ssh -p 6923 -i kamatera-key elixir-ftp@104.129.131.50

Errores frecuentes no poner el puerto que creo, no apuntar al directorio donde esta su llave privada usar otra llave privada

Sql Server

Instalar Sql Server

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

Nota. En caso de que le salga este error ‘add-apt-repository command not found’ al ejecutar el comando de arriba, primero ejecute el siguiente comando y repita el paso anterior

sudo apt-get install software-properties-common
sudo apt-get update
sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup

Status de sql

sudo systemctl status mssql-server

Cambia el número de puerto

sudo /opt/mssql/bin/mssql-conf set network.tcpport 7024
sudo systemctl restart mssql-server

Recuerde poner limite de memoria en sql sever

Firewall

Edite configuración de firewall, y ponga IPv6 en false

sudo nano /etc/default/ufw

Reinicie Firewall

sudo ufw disable
sudo ufw enable

denegar toda entrada y permite salida

sudo ufw default deny incoming
sudo ufw default allow outgoing

Habilitar puertos

Puerto de ssh

sudo ufw allow 6923/tcp

Puerto del Sql Server

sudo ufw allow 7024/tcp

Puerto de página web

sudo ufw allow 80/tcp

Ver los puertos

sudo ufw status numbered

Eliminar un puerto con los números generados

sudo ufw delete 3
Fail2ban

Fail2ban

Instalación

sudo apt-get install -y fail2ban
  
sudo systemctl status fail2ban
 

Edición de archivo

sudo nano /etc/fail2ban/jail.local

Contenido

[sshd]
enabled = true
port = 6923
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 1d
bantime = -1

[mssqld]
enabled = true
logpath = /var/opt/mssql/log/errorlog
maxretry = 5
findtime = 1d
bantime = -1
port = 7024
action = iptables-allports
backend=polling

Cree el archivo de sql

sudo nano /etc/fail2ban/filter.d/mssqld.conf

Contenido

# Fail2Ban filtro para MSSQL autenticación 

[INCLUDES]
before = common.conf

[Definition]
_daemon = mssqld
failregex = Login failed for user .* \[CLIENT: <HOST>\]
ignoreregex =

Reinicie el servicio y mire el status

service fail2ban restart

Verificación del status del servicio

sudo fail2ban-client status

Estatus de una jail específica

sudo fail2ban-client status mssqld
sudo fail2ban-client status sshd

Número de veces que ha sido bloqueada una ip

sudo zgrep -h "Ban " /var/log/fail2ban.log* | awk '{print $NF}' | sort | uniq -c

Número de bloqueos por día y por servicio

sudo zgrep -h "Ban " /var/log/fail2ban.log* | awk '{print $5,$1}' | sort | uniq -c

IP que han sido bloqueadas durante el día

sudo grep "Ban " /var/log/fail2ban.log | grep `date +%Y-%m-%d` | awk '{print $NF}' | sort | awk '{print $1,"("$1")"}' | uniq -c | sort -n

Filtra archivo con líneas que contienen texto Login failed, y password

sudo awk '/Login failed/ {print}' /var/opt/mssql/log/errorlog
sudo awk '/password/ {print}' /var/log/auth.log

Verificando que el filtro funciona

sudo fail2ban-regex /var/opt/mssql/log/errorlog /etc/fail2ban/filter.d/mssqld.conf

Autorizar a un usuario bloqueado y bloqueo manual

fail2ban-client set mssqld unbanip 181.199.60.89
fail2ban-client set mssqld banip 181.199.60.89
Comprimir Descomprimir

Instalar 7z

sudo apt-get install p7zip-full -y

Comprime archivo

7z a archivo.7z archivo.bak	

Descomprime

7z x archivo.7z
Nginx

Instalar Nginx

sudo apt-get install nginx
sudo service nginx restart
sudo service nginx status

Edite el archivo

sudo nano /etc/nginx/sites-available/default

Contenido

server {
    listen        80;
    server_name   localhost;
    location / {
        proxy_pass         http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}
Asp-net

Instalar asp.net core en ubuntu versión 18.04

wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

Instalar asp.net core en ubuntu versión 20.04

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb 
sudo dpkg -i packages-microsoft-prod.deb

Instala Dotnet Core Runtime 3.1

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-3.1

Instala Dotnet Core Runtime 5.0

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-5.0

Instala SDK version 5.0

sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-5.0

Instala SDK version 3.1

sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-3.1
Servicios

Crear un servicio en Linux

sudo nano /etc/systemd/system/mobile.service

Contenido

Description=Mi primera app en linux

[Service]
WorkingDirectory=/home/elixir-ftp/MobileLinux/
ExecStart=/usr/bin/dotnet /home/elixir-ftp/MobileLinux/Mobile31.dll
Restart=always
RestartSec=10 # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=offershare-web-app
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

Habilitar servicio

sudo systemctl enable mobile.service
sudo systemctl start mobile.service
sudo systemctl status mobile.service

sudo systemctl stop mobile.service

Categorías
Manual

Manual de reinstalación de Servidor y seguridades

1- Reinstalar servidor desde panel 45.77.163.71
para pruebas

Desde el panel seleccionar la opción de los 3 puntos para desplegar las opciones del
servidor que deseamos reinstalar, en este caso el de pruebas, se despliega un menú con las opciones para poder seleccionar la opción “Server Reinstall”, esto configura el servidor a un estado inicial, perdiéndose cualquier información o bases que estén en el mismo,
siempre que se vaya a realizar esto en otro servidor sacar respaldos de las bases.

2- Ingreso con clave generada por el sistema

Una vez que se ha reinstalado el servidor, se puede acceder al Putty, para ingresar y realizar las configuraciones iniciales, para esto se debe revisar los detalles e ingresar con usuario “root” con la clave aleatoriamente generada por el sistema, esto se puede hacer
revisando la misma y verificando el puerto desde el putty debe ser 22 que es el que se activa por defecto, de lo contrario no permitirá ingresar al terminal mostrando el siguiente mensaje

con comando — “passwd” desde el usuario root se puede establecer una nueva clave, el sistema pide reingresar la misma para verificar la consistencia

3- Establecer seguridades

Primero se debe configurar el usuario mediante el cual se accede al root, para que no sea posible ingresar directamente al root el comando sería “adduser {Nombre de usuario}

Luego de crearse se pide ingresar la clave que se va a asignar al mismo, la cual debe seguir los parámetros ya acordados.

Se accede desde este mediante comando nano /etc/ssh/sshd_config al archivo de configuración

Para realizar los cambios se debe quitar el caracter del archivo “#” en la línea del puerto e ingresar el puerto correspondiente, en este caso se suma uno al valor que está 22=>23 y se completa con el triplo del mismo en la primera posición 23*3 = 69 6923

Luego se cambia a AddressFamily any => por inet
y en campo PermitRootLogin por defecto viene yes, cambiar a no

Se graba con Ctrl+O y para salir Ctrl+X y se acepta, para luego ingresar el comando “reboot” y se carguen las configuraciones, esto cierra el terminal del putty por lo cual sería necesario ingresar nuevamente.(probar ingresar con el root para verificar que esté correcto), hay que configurar el nuevo usuario creado y el puerto para ingresar por el putty.

4- Actualización del sistema operativo para poder
realizar posteriormente la instalación del sql

Se debe ingresar el comando “sudo apt update && apt upgrade -y” (update de equipo similar act de windows), para ingresar los comandos se debe acceder al usuario root

Si estamos desde el usuario root la palabra “sudo” puede ser quitada del comando.
Luego se actualiza la fecha del servidor para ellos se puede verificar la que tiene por defecto con el comando “timedatectl” y para actualizar la misma con el comando “timedatectl set-timezone America/Guayaquil”, con el cual se establece el huso horario de guayaquil al servidor, se procede a instalar utilidades necesarias con el comando

  • sudo apt-get install software-properties-common -y apt install apt-transport-https

Ya con estos pasos estaría listo el servidor para la instalación del SQL.

5- Instalación de sql

Se deben correr los siguientes comandos:

  • wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –
  • sudo add-apt-repository “$(wget -qOhttps://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)”
  • sudo apt-get update
  • sudo apt-get install -y mssql-server
  • sudo /opt/mssql/bin/mssql-conf setup

Una vez instalado, se debe configurar el Super Admin(sa), con la clave y los parámetros acordados

Estos comandos siguientes son para detener, iniciar, reiniciar y revisar el estado del servicio. No son necesarios para la configuración

  • sudo systemctl stop mssql-server
  • sudo systemctl start mssql-server
  • sudo systemctl restart mssql-server
  • sudo systemctl status mssql-server—verificar verde que diga status y corriendo

6- Poner firewall

Correr los comandos siguientes:

  • sudo apt-get install ufw
  • sudo ufw enable
  • sudo ufw allow 1433/tcp
  • sudo ufw allow 6923/tcp

Los siguientes comandos son para revisar el status de los puertos que se habilitaron anteriormente y para eliminarles se debe correr el de delete ingresando en numero de puerto a eliminar

  • sudo ufw status numbered
  • sudo ufw delete {numero a eliminar mostrado al correr comando de status}

Nota. En caso de que se tenga configurado en el servidor otros servicios que usen otros puertos se deben habilitar los mismos con el comando sudo ufw allow nombrepuerto/tcp y dar enter y a continuación eliminar los puertos ipv6 de los nuevos que se crearon.

7- Habilitar Fail2ban

Correr los comandos siguientes:

  • sudo apt-get install -y fail2ban
  • sudo systemctl start fail2ban
  • sudo systemctl enable fail2ban
  • sudo nano /etc/fail2ban/jail.local –abrir archivo de configuración y poner contenido

Este es el contenido del archivo que hay que copiar luego de instalar el fail2ban y ejecutar el último comando

contenido
[sshd]
enabled = true
port = 6923
filter = sshd
logpath = /var/log/auth.log

maxretry = 3 —máximo número de intentos

Cuando se Bloquea el usuario se debe ejecutar el siguiente comando para desbloquearlo

  • sudo fail2ban-client set sshd unbanip IP_ADDRESS
Categorías
Manual

Comandos Linux

A contunuacion se listan algunos de los comandos linux que son de utilidad:

  • Ver espacio libre y ocupado del disco de la máquina: df -h

Size muestra el tamaño total, Used indica el tamaño usado y used% el porcentaje de uso

  • Para verificar que directorio es el que más espacio esta ocupando primero ingresaremos con cd / al directorio raíz, una vez en el directorio raiz ejecutamos el siguiente comando, du -sh $(du -s * | sort -g | awk '{print $2}'), que lista todos los archivos que contiene una carpeta en orden de tamaño desde el más pequeño al más pesado
  • Si necesita saber el espacio de los subdirectorios escribimos el comando cd / "nombredirectorio" y damos enter y repetimos el comando que lista en orden según el tamaño de los directorios du -sh $(du -s * | sort -g | awk '{print $2}')
  • Si necesita listar todos los directorios de una ruta en específico podemos hacerlo con el comando ls
  • También podemos listar los directorios con más características (usuario, fecha, hora) con el comando ls -l
  • Si desea ver el tamaño por MB o GB de los directorios ejecutamos el siguiente comando ls -lh, si nos muestra la letra K es KB, si es una M es MB.
  • Crear directorios en una ruta en específico, ingresamos a la ruta mediante cd, y a continuación ejecutamos el comando mkdir nombredirectorio y con ls listamos los archivos de esa ruta a ver si se creo nuestro directorio
  • Para salir del usuario root ejecutamos el comando exit, lo cual hará que salgamos de root e ingresemos con el otro usuario configurado
  • Para saber los permisos de lectura, escritura y ejecución de un directorio, vamos a la ruta del directorio y ejecutamos el comando ls -lh , si observamos se nos listan los directorios con unas letras adelante “drwxr-xr-x”

Interpretación de las letras de permisos

Sin permiso
rPermiso de lectura
wPermiso de escritura
xPermiso de ejecución
d directorio
  • Los permisos de lectura, escritura y ejecución de un archivo o directorio viene dado por tres niveles:
PrefijoNiveles
uUsuario
gGrupo
oOtros Usuarios

De manera que si tomamos como ejemplo el directorio elixir-ftp

observamos que las primeras letras son rwx, esto significa que el propietario o usuario tiene acceso total a escritura, lectura y ejecución, las siguientes letras en este caso r-x significa que el grupo tiene solo permisos de lectura y ejecución más no de escritura, y finalmente observamos que las ultimas letras son r-x esto quiere decir que los otros usuarios tienen permisos de solo lectura y ejecución.

  • Para asignar todos los permisos a un directorio ejecutamos el siguiente comando chmod ugo+rwx nombrearchivo en este ejemplo asignare todos los permisos de lectura, escritura y ejecución para el usuario, grupo y otros usuarios de manera que debería quedar de este modo drwxrwxrwx
  • Si se quiere quitar al grupo permisos de escritura se realiza lo siguiente chmod g-w nombrearchivo

De este modo se puede asignar los permisos de lectura, escritura y ejecución si es solo a usuarios colocando el comando chmod u+letraspermisos nombrearchivo, si es grupo chmod g+letraspermisos nombrearchivo y si es otros usuarios chmod o+letraspermisos nombrearchivo y si quiere dar permiso a usuarios, grupos y otros usuarios coloca chmod ugo+letraspermisos nombrearchivo

  • Para borrar un directorio se usa el siguiente comando: rmdir nombredirectorio
  • Para borrar un archivo se usa el comando: rm nombrearchivo.extension
  • Para borrar un directorio con archivos se ejecuta el siguiente comando rm -r nombredirectorio

En el siguiente ejemplo podemos ver que vamos al directorio home el cual tiene tres carpetas y una de ellas se llama prueba si listamos lo que tiene la carpeta prueba podemos ver que tiene un archivo llamado CIUBMAÑANA.txt, a continuación vamos a la carpeta home y ejecutamos el comando que borrará el directorio y los archivos que contiene el mismo, si listamos lo que hay en home podemos ver que la carpeta prueba se encuentra borrada.

Copiar un archivo de un servidor a otro

Para copiar cualquier archivo de un servidor a otro se debe ejecutar el siguiente comando:

scp -P puerto nombrearchivo.extension usuario@ip:/rutadondesecopiaraelarchivo

En este ejemplo vamos a copiar el archivo prueba1.txt de un servidor al servidor con dirección 45.77.163.71

scp -P 6923 prueba1.txt elixir-ftp@45.77.163.71:/home/elixir-ftp

Nos va a pedir la clave del usuario, una vez coloquemos la clave empezaremos a ver el porcentaje de como nuestro archivo se va copiando a la ruta del otro servidor.

Una vez se termine de copiar, listamos los archivos en el otro servidor y podemos observar que en la ruta de home/elixir-ftp se copio el archivo prueba1.txt

Errores y Soluciones

sudo: unable to resolve host

sudo nano /etc/hosts

El conternido debe quedar asi

127.0.0.1 localhost.localdomain localhost

127.0.1.1 nombreMaquina

Categorías
Servidores en la Nube

Manual de configuración del Mobile en un servidor en la Nube

Para realizar la configuración del servicio del Mobile en uno de nuestros servidores en la nube deberemos hacer lo siguiente:

Archivos necesarios antes de la configuración

  1. Tener la base de datos subida en el servidor de la nube con IP 104.237.11.33 (Para subir la base de datos a la nube revisar el manual https://www.tutorialblazor.com/2020/06/04/configuracion-bases-nube/)
  2. Carpeta del Mobile a configurar debe ser la versión más actual en este caso la de Mobile31
  3. Tener instalado el programa Putty y el Filezilla o CyberDuck en su máquina.

Pasos:

Base de datos subida en el servidor de la nube

Configuración Carpeta Mobile

Se debe ingresar por la terminal del Putty a la IP 104.237.11.33 con el usuario de elixir-ftp y posteriormente como root con el comando su root y sus respectivas claves

Se debe escribir el comando cd /var/www y a continuación el comando ls -l para listar todos los archivos que tenga el directorio www

Creamos un directorio con el nombre que deseemos en este caso para el ejemplo le pondremos el nombre de mobileventas, el comando para crear un directorio es mkdir nombredirectorio

Si listamos de nuevo los archivos de la carpeta con el comandols -l podemos encontrar que el directorio mobileventas se encuentra creado

Ingresamos al Filezilla con la configuración de la IP 104.237.11.33 y con el usuario de elixir-ftp y damos clic en Conectar

Buscamos la carpeta del Mobile31 en nuestra máquina y copiamos todos los archivos que se encuentren dentro, al directorio del servidor en la nube que creamos en el paso anterior (mobileventas)

Nota. En caso de que salga un error de permisos deberá asignarle los permisos de escritura al usuario para poder copiar los archivos.

Configuración del Archivo appsettings.json

Este archivo guarda la cadena de conexión de nuestro servidor y el nombre de la base de datos a la que nos conectaremos, para ello ejecutamos el siguiente comando cd nombredirectorio, en nuestro caso colocamos cd /mobileventas ya que queremos ingresar a ese directorio, y a continuación daremos clic en el comando nano appsettings.json

En el siguiente archivo configuraremos

  1. La instancia del servidor donde esta la base de datos en este caso la IP del servidor en la nube
  2. El nombre de la base de datos

Para guardar los cambios damos clic en Ctrl+O y para salir del modo edicion Ctrl+X

Nota. Para verificar que los cambios se guardaron podemos volver a ingresar al archivo de configuración con el comando nano appsettings.json y observar la configuración guardada y salir con Ctrl+X

Dirección en la que escucha la aplicación

Ejecutamos el siguiente comando dentro de la ruta del mobileventas ls *.dll el cual nos listara todos los archivos con extensión .dll, buscamos el archivo que diga Mobile31.dll

Ejecutamos el comando dotnet Mobile31.dll para saber en que dirección esta configurado, en este ejemplo podemos ver que la dirección configurada es http://localhost:5002

Listado de Servicios instalados

Primero ejecutamos el comando que nos llevara a la carpeta donde se encuentran instalados los servicios cd /etc/systemd/system y una vez en la ruta ingresamos el comando ls -l para listar todos los archivos instalados

Para listar los servicios instalados ejecutamos el comando ls *.service

Archivo de configuración ruta Mobile

Se debe copiar el servicio my-web-api.service con el siguiente comando cp my-web-api.service nombrenuevoservicio.service en nuestro caso quedaría cp my-web-api.service mobileventas.service, de tal manera que si ejecutamos el comando ls que lista los archivos, observaremos que el servicio mobileventas.service fue creado

Para ir al archivo donde se debe realizar la configuración de la ruta de nuestra carpeta Mobile vamos abrir el servicio creado anteriormente con el siguiente comandonano nombreservicio.service en nuestro caso seria nano mobileventas.service

En este archivo de configuración colocaremos el nombre y ruta correctos de nuestra carpeta Mobile, para guardar la configuración damos Ctrl+O y para salir Ctrl+X

Comandos para habilitar el servicio

Se deben ejecutar estos tres comandos:

  • Habilitar el servicio:

sudo systemctl enable nombreservicio.service

  • Iniciar el servicio:

sudo systemctl start nombreservicio.service

  • Indica el estado del servicio (debe ser activo):

sudo systemctl status nombreservicio.service

Nota. El siguiente comando sirve para detener el servicio este comando solo se lo usa en caso de querer detener el mismo sudo systemctl stop mobile.service

Comandos para iniciar la página

Para poder iniciar la página, debemos realizar una configuración previa para ello ejecutamos el siguiente comando

nano /etc/nginx/sites-available/default

Se nos abrirá un archivo de configuración donde copiaremos uno de los bloques server anteriores, para copiar solo seleccionamos el bloque a copiar damos un enter al final y con clic derecho se pega el bloque copiado, editamos el puerto a uno diferente a los configurados en bloques anteriores y editamos la dirección en la que escucha la aplicación, (esta dirección nos salió en uno de los pasos anteriores, para ver en que paso, dar clic en el siguiente link Dirección en la que escucha) para guardar la configuración damos Ctrl+O y para salir Ctrl+X

Reiniciar Servicio nginx

Para reiniciar el servicio y observar el estado del mismo, se debe ejecutar estos dos comandos:

sudo service nginx restart

sudo service nginx status

Abrir la página del Api en una de las pestañas del navegador

Abrimos una nueva pestaña en nuestro navegador, y colocamos la siguiente dirección en la url ip:puerto, la ip es la de nuestro servidor en la nube y el puerto es el que se configuro en el paso anterior, en nuestro caso quedaría del siguiente modo 104.237.11.33:82 y damos enter.

Podemos observar que la pagina de nuestra Api Mobile ya se visualiza sin ningún problema

Si nosotros queremos listar los artículos o clientes que están grabados en nuestra base, añadimos /api/clientes o /api/articulos a nuestra dirección url

Categorías
Servidores en la Nube

Manual Cloud Manager

La aplicación Cloud Manager nos permitirá subir a la nube, las bases de datos en pruebas y producción, ya sea desde el servidor o terminal del cliente, todo depende de donde el cliente tenga el respaldo de su base de datos. 

Para subir una base de datos a producción se debe indicar a las personas encargadas de hacerlo.

Pasos:

  1. Configuración Programa Cloud Manager 
  2. Subida Base de Datos desde el Cloud Manager
  3. Subida Base de Datos al Sql Server 
  4. Configuración de la base en el sistema Latinium.

1.Configuración Programa Cloud Manager

Se debe tener el archivo comprimido para descargar el mismo deberá ingresar a la siguiente dirección: https://www.infoelect.net/descargas/CloudManager.zip

El comprimido se debe copiar en el disco C, carpeta Latinium de la máquina del cliente, en este caso debe ser en la máquina donde se tenga el respaldo de la base de datos. del cliente, ya sea en la terminal o servidor.

Descomprimimos el archivo, en la misma ruta C:\Latinium

2. Subida Base de Datos desde el Cloud Manager

Para subir una base de datos desde el Cloud Manager, lo que se debe tener es el respaldo de la base de datos del cliente ya sea en extensión .bak o .7z

Una vez tengamos el respaldo, vamos a la carpeta de Cloud Manager\ Release y damos doble clic en el archivo que dice CloudManager.exe

Se abrirá el programa en el cual podremos encontrar dos pestañas:

  1. Base de datos
  2. Configuración

Pestaña Base de Datos

  1. Permite cargar el archivo de la base de datos (7z) desde cualquier ruta de la máquina donde está guardado el mismo
  2. Se encarga de subir el respaldo a los servidores en la nube
  3. Muestra todos los archivos que se encuentran en la nube
  4. Track de velocidad de subida de la base de datos, min 1 y max 5 
  5. Barra de progreso de subida 
  6. Muestra los mensajes de tiempo de subida de las bases

Pestaña Configuración

En esta pestaña se coloca la configuración de la IP, Usuario, Clave y Puerto de los servidores de la nube, por defecto viene configurado los datos del servidor de pruebas.

Para subir la base en el servidor de pruebas, en la pestaña de configuración dejamos por defecto la configuración que viene (IP Pruebas: 104.237.11.33)

Vamos a la pestaña de Base de datos y damos clic en los tres puntos, para seleccionar la ruta donde esta nuestro respaldo a subir.

Se abrirá una ventana en donde seleccionaremos el respaldo de la base de datos del cliente

El respaldo a subir del cliente debe comprimirlo en extensión .7z se sube de la siguiente manera.

En la lista donde se muestra la extensión de los archivos, escogemos * .7z y seleccionamos nuestro respaldo y damos clic en el botón de abrir.

Una vez seleccionado el archivo .7z colocamos el track en el nivel 5 y damos clic en el botón Subir

Cuando la base termine de subirse al servidor en la nube, saldrá unos mensajes del tiempo en el que se subió y  un mensaje de archivo Subido, damos clic en Aceptar. 

Nota. Si usted sube un respaldo en .7z, el programa al subir lo descomprime en el servidor en la nube. 

Para verificar que se subió el archivo en los servidores de la nube, damos clic en el botón de Contenido y buscamos el archivo que acabamos de subir. 

3. Subida Base de Datos al Sql Server

Vamos a nuestra máquina e ingresamos al Sql Server 

  1. Server name colocamos la siguiente IP que es la de los servidores de pruebas (104.237.11.33)
  2. Login y Password colocamos la de Elixir
  3. Damos clic en el botón de Conectar (Connect) 

En el apartado de Bases de datos (Databases), damos clic derecho y de las opciones seleccionamos Restore Database

Seleccionamos Device y vamos al botón de los tres puntos

Damos clic en el botón de añadir (Add)

Buscamos la ruta /home/elixir-ftp, seleccionamos el respaldo del cliente subido anteriormente y damos click en OK.

Se cargará el respaldo y en la siguiente ventana daremos clic en OK

En la siguiente ventana vamos a la opción Files, y activamos la casilla de manera que quede con visto en Relocate all files to folder.

En la opción General, en el nombre de la empresa podemos dejar el que viene por defecto o asignarle uno nosotros y finalmente damos clic en OK.

Se empezará a subir la base al SQL Server, en cuanto se termine de subir saldrá un mensaje indicando que la subida se realizó correctamente, daremos clic en el botón Aceptar

Observamos que nuestra base se encuentra subida

4. Configuración de la base en el sistema Latinium

Configuración en caso de que sea en el servidor

Si la revisión de la base de datos en la nube de pruebas, el cliente la va a realizar desde su servidor, la configuración es la siguiente: 

Ingresamos al sistema Latinium, a cualquier empresa y en el menú Archivo – Propiedades – Empresas, creamos una línea adicional donde configuraremos la base de datos de prueba.

  • Empresa: En esta columna colocamos el nombre de la base de pruebas del cliente, es importante que este nombre se diferencie del nombre de la base real de producción del cliente para evitar confusiones. 
  • Servidor: Colocamos solamente la IP de pruebas que es 104.237.11.33
  • Reportes: La ruta de los Reportes
  • Base de Datos: Colocamos el nombre de la base con el que se subió al SQL Server.

Finalmente damos clic en grabar

Una vez grabada la línea con la empresa, es importante asignar al usuario la nueva empresa de pruebas, este usuario se le consulta al cliente ya que el sabe que usuario o usuarios accederán a esta base de pruebas para su revisión. 

En este ejemplo le asignaremos al usuario administrador, para ello vamos al menú Herramientas, Seguridad, Configuración de Cuentas, botón Usuarios con Empresas.

Una vez asignada la empresa al usuario, en la lista de empresas podemos abrir y acceder a la misma.

Configuración en caso de que sea en una máquina personal o terminal

Si la revisión de la base de datos en la nube de pruebas, el cliente la va a realizar desde su terminal o una máquina personal, la configuración es la siguiente: 

Si es desde una máquina personal que no tiene latinium o está desactualizado, se le debe instalar la versión actualizada o actualizar en el otro caso. 

  1. En el servidor .config de nuestra máquina se debe colocar directamente la IP de pruebas 104.237.11.33.

  1. Se debe ingresar al sistema Latinium desde nuestra máquina con el usuario prg a la base de datos Bases, y en el menú Herramientas- Seguridad- Usuarios crear el usuario, con la clave y grupos respectivos que el cliente indique, este usuario le servirá al cliente para probar la base de pruebas en su terminal.
  2. Se asigna al usuario creado, la empresa de la nube desde el menú Herramientas-Seguridad-Configuración de Cuentas-Usuarios con Empresas
  3. En el menú se debe restringir al usuario creado el acceso a guardar, nuevo, seguridades y la pantalla de empresas. 
  4. En la máquina del cliente, en el archivo servidor.config se debe colocar la ip de pruebas 104.237.11.33, guardar los cambios e indicarle que de la lista de usuarios seleccione e ingrese al sistema Latinium con el usuario anteriormente creado.  

Nota. Esta configuración se hace de este modo si únicamente el cliente va usar solo la empresa de pruebas en la nube, en esa terminal.

Importante: Esto aplica para cualquiera de los dos casos, es decir si se configuró en el servidor o en otra máquina la empresa de pruebas, se debe indicar al cliente que no debe facturar electrónicamente en estas bases de prueba (para mayor seguridad suya puede cambiar el ambiente a pruebas en los directorios de esa base de pruebas, caso contrario si se le aviso al cliente y aún así factura electrónicamente es bajo su responsabilidad, porque se le debió advertir que no lo haga, ya que la base que se sube a pruebas es el respaldo de la real que tiene la configuración de facturación electrónica), otra información importante que se le debe indicar al cliente es que los registros que cree en esta base de datos de pruebas son solamente de pruebas, porque si quiere facturar de manera real debe hacerlo en su base de producción, recordarle al cliente que para probar la base de pruebas tiene un lapso de tiempo de dos días máximo porque como es un servidor de pruebas a veces se formatea el servidor con las bases que están ahí, por ello debe probar en un lapso de tiempo no tan largo. 

Categorías
Sin categoría

Configuración Programas Notepad ++ y Libre Office

La configuración detallada a continuación de los dos programas se la debe hacer en todas las máquinas y es necesario tengan instalados estos dos programas en su computador:

Pasos a seguir:

Instalación y Configuración Notepad ++

Para configurar el programa Notepad ++ debemos ir a la siguiente dirección https://notepad-plus-plus.org/downloads/v7.8.7/ y descargar el mismo dependiendo de la arquitectura de su máquina si es de 32 bits o de 64 bits. (En el ejemplo se descarga la versión de 64 bits)

Importante: Esta configuración se la puede realizar a partir de la versión 7.8.7, si tiene una versión anterior instalada deberá actualizarla.

Si ya tiene instalada la versión antes mencionada o una superior puede saltarse el paso de instalación e ir directo al paso de Configuración de Notepad ++, caso contrario a continuación se indica como instalar y configurar el mismo.

Instalación de Notepad ++

Damos clic en Installer

Guardamos el programa en la ruta por defecto donde se descargará la aplicación.

Una vez descargado el programa damos doble clic sobre el archivo descargado

Seleccionamos el idioma español y clic en el botón de OK

En la siguiente pantalla de instalación damos clic en Siguiente

En la siguiente pantalla damos clic en el botón de Acepto

En las siguientes ventanas, damos clic en Siguiente

En caso de que deseemos que se cree un acceso directo en el escritorio activamos el check y damos clic en el botón Instalar

Una vez instalado damos clic en el botón de Terminar

Configuración de Notepad ++

Una vez se haya terminado de instalar el notepad ++, lo abrimos y vamos al menú Plugins, Administrar Plugins.

En la siguiente ventana en el campo de buscar digitamos Compare, luego de ello activamos el visto de la opción Compare y finalmente damos clic en el botón de Instalar

En la siguiente ventana damos clic en Sí.

Permitimos la instalación del plugin para ello damos clic en Sí

Se reiniciará la aplicación y si vamos al menú de Plugins, observamos que tenemos habilitada la opción para “comparar”, Compare y opción Compare

Con esta opción lo que podemos hacer es lo siguiente si creamos dos documentos o abrimos dos documentos de tipo texto, podremos comparar entre ambos y el programa nos detectara las diferencias

Vamos al menú de Plugins /Compare /Compare

Observamos que el programa Notepad ++, nos subraya en color rojo cuales son las diferencias entre nuestros documentos de texto.

Configuración Libre Office

Se debe tener instalado el Libre Office, cualquier versión del mismo, si no lo tiene instalado en su máquina se puede descargar el programa del siguiente link https://www.libreoffice.org/download/download/.

Configuración de LibreOffice Writer

Una vez lo tenga instalado lo que debemos hacer es ir a la sección de Inicio, buscar el programa (para el ejemplo se usará el Libre Office Writer)

Vamos al menú de Herramientas / Opciones

Seleccionamos el menú Cargar / Guardar y opción General

En la opción de Tipo de documento seleccionamos Documento de Texto y en Siempre guardar como seleccionamos de la lista la opción que dice Word 97-2003 (* .doc), finalmente damos clic en el botón de Aplicar y Aceptar.

De tal manera que si hacemos un documento nuevo

Y guardamos el mismo

Al momento de asignarle el nombre, observamos que en tipo, por defecto se guardará con la configuración de formato antes realizada Word 97-2003 (* .doc)

Si vamos a la ruta donde guardamos nuestro documento, observamos que la extensión del archivo es .doc

Configuración LibreOffice Calc

En la barra de búsqueda digitamos LibreOffice Calc

En el menú Herramientas / Opciones

En el menú Cargar / guardar, opción General, en Tipo de documento seleccionamos Hoja de cálculo, y en Siempre guardar como seleccionamos de la lista la opción que dice Word 97-2003 (*.xls), finalmente damos clic en el botón de Aplicar y Aceptar.

Nota. Esta configuración es útil realizarla tanto en el LibreOffice Writer y en el LibreOffice Calc, de manera que cuando se envíe un documento la persona que lo reciba lo pueda abrir con el programa que tenga instalado para el manejo de documentos.