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
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
timedatectl set-timezone America/Guayaquil
  1. Configure su hora local
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

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

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

Desde windows ingrese con la llave privada

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)"
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

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

Instala

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
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.

Categorías
Servidores en la Nube

Respaldos Bases de datos en Producción en la Nube

En caso de tener un cliente con alojamiento en la nube en el cual se necesite realizar un cambio debido a que solicito soporte y se requiera sacar un respaldo previo a realizar el soporte se debe realizar lo siguiente:

1. Conexión en el SQL Server

Debemos ir al SQL Server y conectarnos con la IP de las bases de datos en producción, es decir la IP 104.251.217.71 y con el usuario Elixir

2. Generar Back up de la base de datos

Para generar un back up de la base de datos debemos seleccionar el nombre de la base que corresponda y damos clic derecho, de las opciones seleccionamos tareas (tasks) y back up

En la siguiente pantalla nos fijamos que nos muestra que el respaldo se guardará en la ruta por defecto var/opt/mssql/nombre de la base_fecha actual.bak y daremos clic en el botón de Remove.

Se borrara la ruta que viene por defecto y daremos clic en el botón Add (Añadir)

Se abrirá una ventana donde buscaremos la ruta nueva donde guardaremos nuestro respaldo, para ello damos clic en los tres puntos


  1. Buscamos la Ruta /home/elixir-ftp/analisis
  2. En la parte del nombre colocamos el nombre de la base, seguido de la fecha que debe tener formato aaaaMMdd (año,mes,día) y finalmente colcoamos .bak
  3. Clic en el botón Ok

Nota. Es importante que el respaldo siempre se guarde en esa ruta, con el nombre de la base y la fecha actual.

En la siguiente ventana damos clic en OK

Observamos que se coloca la ruta con el nombre de como se guardara el respaldo de nuestra base y finalmente damos clic en OK.

Una vez termine el respaldo, nos sale un mensaje indicando que el respaldo ya se completo y daremos clic en OK.

Se cerrará la pantalla y ya tenemos listo el respaldo de nuestra base en la nube, a continuación ya podremos realizar cualquier cambio solicitado en el soporte.

Recordar. Los respaldos de las bases de datos en la nube se generan automáticamente en la madrugada en los servidores de la nube, es responsabilidad de cada técnico hacer respaldo adicional como se explica en el manual, en caso de realizar un soporte que requiera un respaldo previo.

Categorías
Servidores en la Nube

Manual de Configuración de las bases de datos en los Servidores en la Nube

Para empezar usar las bases de datos y su configuración en la nube debemos seguir los siguientes pasos, este manual muestra como realizar la configuración de las bases en la nube en modo PRUEBAS:

1. Descargar el programa llamado Cyber Duck

Para ello debemos en nuestro navegador copiar el siguiente enlace que nos lleva a la pagina de descarga del programa https://cyberduck.io/ y para descargarlo damos clic en el botón de Dowland.

Nos llevará a la siguiente pantalla donde daremos clic en el tipo de descargo que necesitemos dependiendo nuestro sistema operativo instalado en este caso como es Windows daremos clic en el botón de descarga para Windows.

Automáticamente la descarga empezará

2. Instalación de Cyber Duck

Para ello damos doble clic en el programa descargado, para que empiece la instalación del mismo

En la siguiente ventana daremos clic en el boton de Instalar (Install)

En el siguiente mensaje damos clic en Sí

Esperamos se termine de instalar la aplicación en nuestro equipo

Una vez finalizada la instalación daremos clic en cerrar (Close)

3. Configuración de la aplicación Cyber Duck

Para ello damos clic en el icono de Cyberduck, que se encuentra en el inicio de Windows.

Se nos abrirá la siguiente pantalla donde daremos clic en la opción de Nueva Conexión

En la siguiente pantalla colocaremos lo siguiente:

  1. Seleccionamos de la lista SFTP (SSH Transferencia de archivos segura)
  2. Servidor colocamos la siguiente IP 104.237.11.33
  3. Puerto colocamos el 6923
  4. Nombre de usuario elixir-ftp
  5. Contraseña Latinium-iseln-22.43
  6. Activar Guardar contraseña
  7. Clic en conectar

En el siguiente mensaje damos clic en Permitir y visto en la casilla de siempre

En la siguiente pantalla observamos que nos aparece la ruta de /home/elixir-ftp

4. Copia de la base de datos al servidor en la nube

Vamos a la carpeta en nuestro equipo donde se encuentre la base, una vez encontremos la misma arrastramos el archivo a la ventana de la aplicación de CyberDuck

Una vez arrastremos el archivo, nos saldrá el siguiente mensaje donde daremos clic en Permitir

Empezará la transferencia de archivos

Una vez finalice la copia de la base al servidor en la nube, saldrá un mensaje indicando que se copio de manera exitosa la base, y ya la podemos ver en el servidor en la nube.

5. Configuración de la base de datos en el SQL Server

Vamos al Sql Server de nuestra máquina e ingresamos sesión de la siguiente manera:

  1. En el nombre del servidor colocamos la IP del servidor en la nube que es 104.237.11.33
  2. En el usuario y contraseña colocamos el de Elixir
  3. Finalmente damos clic en el botón de Conectar (Connect)

Una vez conectados a nuestro servidor en la nube subiremos el .bak de nuestra base de datos, para ello vamos a la carpeta Bases de datos (Databases), clic derecho en restaurar base de datos (Restore Database)

Seleccionamos Device y damos clic en los tres puntos de las opciones

En la siguiente ventana buscaremos la ruta donde esta la base de datos dando clic en Añadir (Add)

Buscamos la ruta donde colocamos la base es /home/elixir-ftp, seleccionamos la base y damos clic en Ok

En la siguiente ventana vemos que la base a subir esta cargada y damos clic en Ok

En la siguiente ventana vamos a la opción de Files y activamos el visto de Relocate all files to folder, de manera que la ruta de la base a subir sea la del servidor en la nube /var/opt/mssql/data/NombreBase y finalmente damos clic en Ok

Empezara a subirse la base de datos al Sql Server y finalmente damos clic en Aceptar en el mensaje que indica que la base se restauro de manera exitosa.

Observamos que la base ha sido subida al SQL Server del servidor en la nube

6. Configuración de la base de datos en el Latinium

Abrimos el sistema Latinium, en el menú Archivo, Propiedades, Empresas y añadimos la linea de conexión a la base de datos

  1. En empresa colocamos el Nombre que le vamos a dar a la base de datos.
  2. En Servidor colocamos la siguiente IP 104.237.11.33
  3. En Reportes la ruta normal de reportes o donde tenga los reportes por ejemplo C:\Latinium\Reportes
  4. En Base de Datos colocamos el nombre de la base que se subió al servidor en la nube.
  5. Finalmente en grabar

Importante. Si desea realizar pruebas puede usarse esta IP 104.237.11.33 y clave Latinium-iseln-22.43.

Para ya subir una base real de un cliente debe hacerlo en la IP 104.251.217.71 y debe desadjuntar la base del SQL Server del cliente en caso de que se vaya a subir a producción.

Recordar. Se debe configurar los usuarios con empresas en el menú Herramientas, Seguridad, Configuración de cuentas, Usuarios con Empresas, seleccionamos el usuario y le asignamos la nueva empresa creada.

Si desea sacar respaldos de las bases de datos en producción en la nube puede dar clic en el siguiente enlace: RESPALDOS-BASES-DE DATOS-EN-LA-NUBE