Problema con archivo .htaccess en Debian 11

lunes, octubre 2nd, 2023

Problema:

Al usar el archivo .htaccess aparece ell siguiente error:

500 Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Diagnóstico

El error se puede deber a muchas razones, sin embargo, si estas usando un archivo .htaccess pasa por que el módulo rewrite debe ser explícitamente activado en el servidor Apache2 siempre que lo estes ejecutando dentro de un servidor Debian, ya que por default viene desactivado.

Solución

Para activar el módulo rewrite dentro de Debian simplemente debes ejecutar el siguiente comando:

sudo a2enmod rewrite


con esto debes reiniciar el servidor Apache2 con el comando que te dejo a continuación:

 sudo systemctl reload apache2


Si deseas desactivar el módulo rewrite debes ejecutar el siguiente comando 


sudo a2dismod rewrite

Otras Causas

Si el error no desaparece al hacer con la configuración anterior entonces es probable que el archivo .htaccess no este correctamente configurado, revisa que este correctamente configurado, te dejo un ejemplo:

Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Configurar Orientación y tamaño del papel programáticamente en Visual FOXPRO

domingo, marzo 12th, 2023

¿Alguna vez has experimentado que los informes se cortan al usar el reporteador de Visual FoxPro? Si es así, hay una serie de procedimientos que puedes realizar en tu computadora para solucionar este problema. A continuación, te los detallaré.

1)Cambiar el Impresor Predeterminado

Puede que tu impresor emita tus reportes salgan cortados, te recomendamos que cambies el impresor predeterminado ; para hacerlo, en los sistemas operativos Windows siempre existe un impresor PDF que puedes usar como predeterminado, te recomendamos que lo uses de esta manera para evitar que tus reportes aparezcan cortados.

¿Como activar el impresor Microsoft PDF como predeterminado ?

Para activar este impresor primero debes desactivar la gestión automática de impresores por windows. Cuando esta opción esta activada, windows se encarga de establecer a que impresor se enviarán tus reportes, impidiendo que puedas seleccionar el impresor Microsoft PDF que es el que necesitamos.

Desactivar manejo

DEBES DESACTIVAR ESE CHEQUESITO. (en español pueda que diga algo así como: «Dejar que Windows administre mi impresor por default»)

Establecer el impresor Microsoft PDF como predeterminado

Ahora que ya puedes seleccionar por tu cuenta el impresor predeterminado debes seleccionar realizar lo que te indico a continuación:

Selecciona el impresor y a continuación el botón administrar

A continuación debes establecer el impresor como predeterminado

Intenta volver a imprimir los reportes, siguen cortados ? prueba cualquiera de los procedimientos a continuacion

2)Cambiar Configuración PPP

Sucede que a veces los reportes te salen cortados cuando los observas en pantalla.

Esto pasa por que windows agranda las fuentes de los programas cuando la resolución de la pantalla que usas es demasiado grande.

Por ejemplo puede pasar cuando tiene un monitor muy grande de 32» o mas.

Pero no es necesario que el monitor en uso sea grande, ya que una mayor pantalla no necesariamente significa una mayor resolución ejemplo de ellos son las pantallas de celulares que con tamaños de 4» o 5» tiene igual resolución que un monitor de 17».

Como windows agranda las fuentes de los programas para que las pantallas de los programas no se vean muy pequeñas, debes hacer lo siguiente para evitar este comportamiento en Contaportable, y así evitar ver los reportes cortados.

Paso 1) click derecho sobre el icono de Contaportable y luego clic en propiedades

Paso 2) busca la pestaña que dice compatibilidad en tu ficha de windows e identifica el botón cambiar opciones de DPI.

Paso 3 ) Debes marcar las opciones que configuran el comportamiento de programas en resoluciones altas de pantalla, tal y como lo ves a continuación

Una vez hecho esto ya podrás ver tus reportes con normalidad.

Generalmente este problema sucede en Windows 10 y Windows 8/8.1

3)Cambiar la resolución de pantalla

Otra opción que puedes probar es cambiar la resolución de pantalla

En general solo necesitas altas resoluciones si ocupas tu computadora para diseño gráfico o para juegos de alta gama; por lo demás puedes perfectamente trabajar con una baja resolución sin notar la diferencia.

Si necesitas una resolución alta en tu computadora, entonces te recomiendo seguir el primer tutorial para ajustar la configuracion PPP de cada programa en windows.

Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Configurar acceso sin contraseña en servidores SSH

miércoles, octubre 26th, 2022

Para controlar nuestros servidores en la nube linus en la nube podemos hacerlo de dos formas, usando contraseña y usuario y por medio de una clave publica, con esta última no nos pedirá clave, ademas de ser práctico es mucho más seguro usar el método de la llave pública, por lo que te explicaré como como configurarlo.

El Archivo SSHD_CONFIG

En este archivo se puede configurar si el acceso se hace por medio de contraseña o con llave pública, con esta ultima creamos una llave en nuestro equipo local y luego debemos subirla a nuestro servidor lo que nos permite logearnos sin ingresar contraseña

Paso uno en nuestro equipo local generar una nueva clave, sustituimos la que existe en caso que lo pida y omitimos poner contraseña, si ponemos contraseña cada vez que usemos la llave pública nos pedirá esa contraseña

ssh-keygen

/home/username/.ssh/id_rsa already exists.
Overwrite (y/n)?

generará algo como lo siguiente

Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
a9:49:EX:AM:PL:E3:3e:a9:de:4e:77:11:58:b6:90:26 username@203.0.113.0
The key's randomart image is:
+--[ RSA 2048]----+
|     ..o         |
|   E o= .        |
|    o. o         |
|        ..       |
|      ..S        |
|     o o.        |
|   =o.+.         |
|. =++..          |
|o=++.            |
+-----------------+

El archivo que contiene la llave publica está en la maquina local, debemos copiar esa llave y pegarla en el servidor de la nube al que nos deseamos conectar

cat ~/.ssh/id_rsa.pub

copiamos la llave y la vamos ir entramos al servidor

en el servidor buscamos este archivo

nano ~/.ssh/authorized_keys

si el archivo no existe podemos crearlo, este archivo será el que se consultará cada que ingrese al servidor, por medio del usuario actual

pegamos dentro del archivo la llave que copiamos al portapapeles y vamos a dar permisos a ese archivo

chmod 700 ~/.ssh 
chmor 600 ~/.ssh/authorized_keys

listo con esto ya podemos ingresar al servidor con el comando ssh con el usuario e IP correspondiente

ssh user@ippublic

Deshabilitar el acceso por contraseña

ahora que ya podemos ingresar sin contraseña hay que deshabilitar el acceso por contraseña esto mejora la seguridad

hay que ir al archivo

vi /etc/ssh/sshd_config

en ese archivo debemos buscar la palabra

PasswordAuthentication yes

y lo ponemos en no

PasswordAuthentication no

ahora reiniciamos el servidor para que los cambien operen

reboot 

Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Reformas de ley y otros avances sobre factura electrónica, así vamos

lunes, octubre 17th, 2022

Reforma a la Ley de la Firma Electrónica

En agosto de 2022 fue reformada la LFE (LEY de FIRMA ELECTRÓNICA), la reforma faculta a las entidades públicas para que puedan convertirse en certificadores de firma electrónica.

Es importante aclarar que le LFE todavía no llega a la Ley del Registro Notarial, los abogados y notarios se encuentran a la espera de una resolución de la Corte Suprema de Justicia que pudiera igualar el estatus de la firma electrónica al de la firma autografiada en la celebración de contratos públicos.

Leer Más »
Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Así es la nueva Ley Reguladora del Ejercicio de la Contaduría Pública

lunes, octubre 17th, 2022

El lunes 26 de septiembre de 2022 fue presentada la propuesta de reforma a la Ley Reguladora del Ejercicio de la Contaduría Pública. Contadores y Auditores han esperado por años esta reforma y se espera con ella que muchas de las demandas y expectativas del gremio se cumplan en esta actualización de la Ley que rige la profesión de la Contaduría Pública en El Salvador.

Dentro de los puntos a destacar encontramos cambios significativos en cuanto al número de horas de educación continuada, el marco regulatorio para contadores que en esta reforma contempla la actividad contable, y el régimen sancionatorio por las infracciones a la ley.

A continuación te comparto la reforma con algunos comentarios sobre los cambios sugeridos en relación a la ley vigente (al momento de escribir este artículo.)

Leer Más »
Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Contabilidad Distribuida, así es como puedes consolidar la información de tus clientes y evitar la doble digitación

lunes, octubre 17th, 2022

Para contar con una contabilidad distribuida regularmente se cuenta con un software nube, en el cual pueden acceder los diferentes usuarios a ingresar la información de su área correspondiente; sin embargo los software nube tienen algunas desventajas que muy pocos conocemos.

DESVENTAJAS DE SOFTWARE NUBE.

  1. Privacidad: Los datos que almacenan en software nube no son de tu propiedad, son de la propiedad de la empresa que es dueña del servidor donde se aloja el software nube, la nube es un espacio en los servidores de una empresa que se dedica a alquilar estos espacios.
  2. Seguridad: Toda información en la nube es vulnerable a cualquier ataque de hacker, que pueden robar la información que en ellos se encuentran, por lo que es bien importante tomar medidas de seguridad y contraseñas ultra seguras para evitar que puedan robar nuestra información.
  3. Propiedad de quien son los datos: Al dejar de pagar la mensualidad del software puedes perder toda tu información ya que los propietarios de la información son los dueños del servidor, por lo cual te pueden restringir el acceso a ella en el momento que dejes de pagar.
  4. Costos: Los Software Nube pueden tener un costo infinito, ya que pagas mensualidades de forma recurrente, pagas un alquiler el cual no tiene fin por lo que al final puede costar más que cualquier otro software. Difícilmente un cliente accederá a un pago mensual para que tu como contador, puedas llevar su contabilidad
  5. Conectividad: Dependes totalmente de conectividad a internet, lo cual aumenta tus costos y si la conexión falla por cualquier motivo, te quedas sin acceso al software retrasando los procesos y la productividad.

Arquitectura de datos distribuidos

La arquitectura de datos distribuidos es tener información en varias computadoras, la cual se va reutilizando para fines contables, es decir que el Software Contaportable se pueda tener instalado en varias computadoras, o las computadoras necesarias.

¿Por qué Contaportable no es Nube?

Desde sus inicios Contaportable está enfocado a brindar una herramienta a los contadores, y según la económica y la realidad del país, difícilmente un contador asumirá el costo de tener información en la nube de sus clientes, por lo que se vuelve insostenible estar pagando una mensualidad; con el propósito de facilitar a los contadores esta herramienta es desarrollada con tecnología de Portabilidad que nos permitirá compartir la información solamente con las personas que necesitamos compartirla, sin tener los riesgos que conlleva tener la información en una nube.

VENTAJAS DE LA PORTABILIDAD DE CONTAPORTABLE

  1. No se paga por usuarios
  2. No está ligado a una computadora en específico
  3. Puedes compartir información Cliente/Contador
  4. Funciona sin necesidad de internet.

¿Cómo funciona?

El objetivo principal de una contabilidad centralizada es evitar la doble digitación y el doble trabajo, la información que pueden digitar tus clientes en un software es la misma información que puedes utilizar para la contabilidad. Tus clientes pueden utilizar el software para controlar o administrar su negocio con informes administrativos como los siguientes:

  1. Cuentas por cobrar
  2. Cuentas por Pagar
  3. Inventario
  4. Ventas y Facturación
  5. Planilla 
  6. Estados de cuenta bancarios etc.

Principalmente el software debería de ser instalado en la empresa de tu cliente, y utilizar las funciones de los diferentes módulos administrativos, por ejemplo, si tu cliente utiliza el software Contaportable para facturar, podrías utilizar dicha información para generar los libros de IVA, evitando la doble digitalización. Así también podría ingresar las compras hacer la entrega de Queda a Proveedores para manejar sus cuentas por pagar etc.

Así evitamos retirar documentos de tus clientes, ya que ellos mismos digitaron la información en el software, y podemos compartir la información sin necesidad de un servidor centralizado sin exponer tu información en la web.

Cuando instalas contaportable en la computadora del cliente, se crea una carpeta en Documentos llamada Contaportable y dentro de ella se almacenan todas las carpetas de las instalaciones o empresas que tengas instaladas en esa computadora.

PASOS PARA LLEVAR TU CONTABILIDAD CENTRALIZADA

  1. Instalar software en computadora del cliente para que pueda usar los módulos administrativos.
  2. Configurar los módulos administrativos a usar por el cliente
    1. Facturación 
    2. Gastos
    3. Orden de Compras
    4. Inventario
    5. Cuentas por Pagar y Cobrar
    6. Bancos
    7. Planilla
  3. Capacitar a Cliente en uso del software
  4. Alimentar la información en los módulos administrativos
  5. Generar Backup para enviar información al contador

Descarga Software para Contabilidad Centralizada

  • Ir al menú de Administración>Seguridad>Backup
  • Seleccionar la carpeta donde se generar el Backup
  • Aceptar y Crear el Backup
  • El respaldo se guardará en un archivo comprimido

El Backup o respaldo generado por el sistema es bastante liviano aun cuando se tenga bastante información, este puede ser compartido incluso por whatsapp o correo electrónico.

Una vez que ya cuentes con el Backup, ahora tienes que restaurar la copia en tu sistema contaportable para posteriormente contabilizar los movimientos.

6. Restaurar el Backup

  • Selecciona la opción de Restaurar Backup, dentro del menú de Administración>Seguridad
  • Seleccionar el Backup a restaurar
  • Elegir el tipo de restauración

TIPOS DE RESTAURACIÓN

  • Todo: Restaura toda la informacion de tu software, contabilidad y toda la información de los módulos administrativos.
  • PymePro: Restaura la informacion de los modulos administrativo y no la información contable, ESTA OPCIÓN ES LA QUE DEBES UTILIZAR, cuando tu cliente te comparte la informacion de los módulos administrativos para que generes la contabilidad.
  • Contabilidad: Esta opción solamente restaurará la informacion contable ESTA OPCIÓN SE UTILIZA, cuando lleves la informacion contable a tu cliente.

Una vez ya restaurada la informacion de los módulos administrativos puedes proceder a Contabilizar toda la información, con los siguientes pasos:

PASOS PARA CONTABILIZAR

  1. Ir al módulo de contabilidad y con el botón de contabilizar.

2. Seleccionar el periodo a contabilizar y cada documento para contabilizar.

3. Seleccionar los documentos específicos a contabilizar o seleccionar todos para ser contabilizados.

4. Posteriormente puedes revisar las partidas generadas en el botón de Partidas y consultar tus reportes contables.

Conclusión

Si deseas un software nube y tu presupuesto lo permite no lo dudes, es la mejor opción, recuerda siempre que los datos que almacenes en el software nube serán de la empresa que presta el servicio, por lo que en el momento que dejes de pagar el servicio, también dejarás de tener acceso a tus datos.

Si usas un software instalable localmente los datos si son tuyos pero si ese software no es portable, estarás limitado a usarlo unicamente en la computadora para la cual compraste esa licencia lo cual es una gran limitante.

Por otra parte existe la posibilidad de una tercera opción: CONTAPORTABLE ya que es portable lo puedes mover de computadora y usar en varias computadoras y por varios usuarios sin tener que pagar por cada uno de ellos, los datos son tuyos por que están en tu computadora y una vez que lo adquieres la licencia es tuya de por vida.

Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Vue 2, entender lo básico

martes, octubre 11th, 2022

Al momento de escribir esto ya existe Vue 3, por lo que he decidido instalar también la versión 2 a fin de que pueda comprender los conceptos básicos y partir de ahi para entrarle a a Vue 3

Para instalar lo hago por medio del manejador de paquetes NPM

Como siempre primero debo poner en uso la version de node que deseo usar, esto lo hago con NVM

nvm use v16.17.1
npm init vue@2.2.0
Need to install the following packages:
  create-vue@2.2.0
Ok to proceed? (y) y

Vue.js - The Progressive JavaScript Framework

✔ Project name: … vue2
✔ Add TypeScript? … No / Yes
✔ Add JSX Support? … No / Yes
✔ Add Vue Router for Single Page Application development? … No / Yes
✔ Add Pinia for state management? … No / Yes
✔ Add Vitest for Unit Testing? … No / Yes
✔ Add Cypress for both Unit and End-to-End testing? … No / Yes
✔ Add ESLint for code quality? … No / Yes

cd vue2/
npm install
npm run dev
code .
Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


JavaScript ES2015, Cosas raras

martes, octubre 11th, 2022

En este post tengo planeado ir guardando aquellos aspectos nuevos de JavaScript que me parecen extraños

Transpiler

El concepto de transpiler existe por la gran actualización que se eta teniendo del lenguaje Javascript, ya que cada año surge una nueva especificación se vuelve necesario compilar o mas bien transpilar a una versión que sea reconocida por los navegadores viejos y asi despreocuparnos de los problemas de compatibildad

un buen transpiler es https://babeljs.io/

Setencia let

La sentencia let para declarar variables lo hace en el contexto que se usa, por ejemplo si tu declaras un variable con la palabra var entonces esas variables en realidad se declaran al inicio del archivo js, talvez no quieras que esto suceda

function getAlgoNombre(algo) {
  if (algo.isalgo) {
     var nombre = 'nombre ' + algo.name;
     return nombre;
  }
  return algo.nombre;
}

el codigo anterior es equivalente a lo siguiente

function getAlgoNombre(pony) {
  var nombre;
  if (algo.isalgo) {
     var nombre = 'nombre ' + algo.name;
     return nombre;
  }
  // nombre tambien es accesible aqui 
  return algo.nombre;
}

con let se declara cabal donde se usa

Constants

las constantes se introdujeron en la versión ES2015, la ventaja de una constante es que se mantiene inalterable en todo el código

const algoobjects = 6;

La sentencia anterior no puede se reasignada

También se pueden asignar un objeto una constante, se puede declarar y luego ser asiganada

        const objeto={};
        objeto.nombre="nuevo nombre";
        console.log(objeto.nombre);

y tambien con los arrays

        const arrayan=[];
        arrayan.push("uno","dos");
        console.log(arrayan[1]);

Es genial por que permite definir dinamicamente los valores de un objeto y sus propiedades

Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Configurando un Equipo para programar con Linux

martes, octubre 11th, 2022

Agregar al listado de SUDOERS

Al instalar Linux lo primero que necesitaremos es poder dar permisos de instalación al usuario que estamos utilizando, lo que quiere decir agregarlo al listado de sudoers del sistema

/sbin/usermod -aG sudo yec

El archivo SUDOERS se encuentre normalmente en el directorio /etc y se auxilia del archivo /etc/sudoers.d/

Evitar que Debian busque repositorios en el media CDROM

Es probable que te salga este error cuando tengas que instalar.

please insert the disc labeled
 'Debian GNU/Linux 7.0.0 _Wheezy_ - Official amd64 CD Binary-1 20130504-14:44'
in the drive '/media/cdrom/' and press enter

Si ese es el caso debes comentar la búsqueda en el cd rom de repositorios, esto se hace desde el archivo.

 sudo nano /etc/apt/sources.list

Dentro del archivo comentar lo siguiente.

#deb cdrom:[Debian GNU/Linux 11.5.0 _Bullseye_ - Official amd64 DVD Binary-1 20>

Con esto el cdrom de Debian dejará de ser el primero en la lista de búsqueda de repositorios

Configurar Samba

sudo apt install samba smbclient cifs-utils

Una vez instaladas las dependencias de samba hay que configurar en el archivo

sudo nano /etc/samba/smb.conf 

Cambiar el workgroup

   workgroup = NUEVOGRUPO

Ahora agregar la carpeta compartida de la siguiente forma

[public]
comment = PUBLIC
path = /home/usr/Public
writeble = yes
guest ok= yes
guest only = yes
force create mode =775
force directory mode=775

Herramientas de programación

Visual Studio Code

se baja y se instala de la pagina

Apache

sudo apt update

Instalación de apache

sudo apt install apache2

checkar que funcione

sudo systemctl status apache2

Crear un virtual Host Apache para pruebas

lo primero será crear una copia del archivo de configuración de apache, con el siguiente comando

cd /etc/apache2/sites-available/

sudo cp 000-default.conf desarrollo.com.conf

sudo nano desarrollo.com.conf 
                                                                                           
<VirtualHost *:80>
        # The SeverName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName desarrollo.com
        ServerAlias www.desarrollo.com
        ServerAdmin webmaster@localhost
        DocumentRoot /home/usr/Documents/desarrollo

        <Directory  "/home/usr/Documents/desarrollo">
                AllowOverride All
                Require all granted
        </Directory>
        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

luego debemos poner en uso el virtual host

sudo a2ensite desarrollo.com.conf

ahora debemos reiniciar el apache

sudo systemctl restart apache2

esto lo pasará a la siguiente direccion /etc/apache2/sites-enabled

Crear el directorio

Ahora debemos crear el directorio de pruebas en la carpeta documentos del usuario

mkdir /home/usr/Documents/desarrollo

hay que dar permisos correctos

sudo chown -R usr:www-data /home/usr/Documents/desarrollo/

ahora los permisos correctos

sudo chmod 770 /home/usr/Documents/desarrollo/

ahora debemos crear un index.html para que el directorio muestre algo

Configurar el archivo host

Para que todo funcione correctamente debemos configurar el archivo host

sudo nano /etc/hosts

luego debemos añadir lo siguiente para que redireccione correctamente

192.168.0.4 desarrollo.com

CURL

para descargar desde consola

sudo apt install curl

PHP

Instalar PHP

sudo apt update && sudo apt upgrade
sudo apt -y install php php-common

Probando si ya tenemos php

php -v

ahora que ya tenemos php sale asi

Para comprobar la configuración del php creamos un archivo con lo siguiente

<?php

// Muestra toda la información, por defecto INFO_ALL
phpinfo();

// Muestra solamente la información de los módulos.
// phpinfo(8) hace exactamente lo mismo.
phpinfo(INFO_MODULES);

?>

Todavía falta instalar los modulos y addons

sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd  php-mbstring php-curl php-xml php-pear php-bcmath

y para el servidor apache instalar

sudo apt -y install libapache2-mod-php

php7.4-intl

Extension Internacional de PHP,

sudo apt install php7.4-intl

DROPBOX

sudo apt install python
sudo wget -O /usr/local/bin/dropbox "https://www.dropbox.com/download?dl=packages/dropbox.py"
sudo chmod +x /usr/local/bin/dropbox
dropbox

Tiene una variedad de comandos en linea, lo que se ha instalado con lo anterior es la CLI de dropbox para usar desde consola, al ejecutar dropbox nos desplegará la lista de comandos

ote: use dropbox help <command> to view usage for a specific command.

 autostart    automatically start Dropbox at login
 exclude      ignores/excludes a directory from syncing
 filestatus   get current sync status of one or more files
 help         provide help
 lansync      enables or disables LAN sync
 ls           list directory contents with current sync status
 proxy        set proxy settings for Dropbox
 puburl       get public url of a file in your Dropbox's public folder
 running      return whether Dropbox is running
 sharelink    get a shared link for a file in your Dropbox
 start        start dropboxd
 status       get current status of the dropboxd
 stop         stop dropboxd
 throttle     set bandwidth limits for Dropbox
 update       download latest version of Dropbox
 version      print version information for Dropbox

Es necesario instalar el daemon de dropbox y actualizarlo, para ello ejecutamos el siguiente comando

dropbox update 

ahora pedira instalar el servicio de dropbox

para listar los directorios de la cuenta de dropbox hacer lo siguiente

dropbox ls

una vez se instala el servicio empezará a sincronizar en la carpeta de dropbox /home/usr/Dropbox

para ver como va la sincronización podemos usar el siguiente comando

dropbox status

Rclone

Bajar de aquí https://rclone.org/

sudo dpkg -i rclone-v1.59.2-linux-amd64.deb
rclone config

para configurar el rclone y usarlo con google debemos crear una credenciales de api de google, para ello debemos ir a la pa


https://console.cloud.google.com/apis/

debemos crear un nuevo proyecto o bien seleccionar uno existente, yo lo hice en uno ya existente

y ahora debemos ir a la parte izquierda donde dice credenciales, lo que hay que hacer es generar una nueva token para ingresarlo en el Rclone y asi que se pueda conectar a mi cuenta de google

una vez en credenciales podemos seleccionar lo siguiente

seleccionar crear credenciales

seleccionamos la opcion de ID de cliente de OAuth

Seleccionar App de escritorio

poner un nombre y crear

ahi generar la clave secreta y el id de cliente para Rclone

Volviendo a Rclone ahi seleccionar la opción de google

ahora ingresar el id cliente que generamos en cloud engine

a continuación Rclone nos pedirá si deseamos la autoconfiguración y decimos que si

ahí debemos autorizar nuestra propia y seleccionar la cuenta con la que queremos logearnos es decir el correo de gmail donde está los archivos que deseamos de Drive

recuerda que esta autenticación expira en una hora

ahora ya podemos enviar comando que nos devuelvan por ejemplo el listado de archivos de la cuenta que he seleccionado

rclone lsd nombredelremoto:

mas informacion sobre comandos de Rclone y ayuda aqui https://www.tecmint.com/rclone-sync-files-from-cloud-storage/

ahora quier crear un directorio en google drive para guardar la informacion de mi compu

primero crearmos una carpeta en el google drive

rclone mkdir nombredelremoto:bckremoto

ahora podemos subir todo lo que tenemos ahi

rclone sync /home/usr/Google/ nombredelremoto:bckremoto

si quisiera descargar lo haria al reves

rclone nombredelremoto:bckremoto sync /home/usr/Google/

ADVERTENCIA: La sincronización de Rclone no es perfecta no resuelve conflictos ni tiene cuidado de lo que baja o sube, simplemente actualiza todo, por lo que debes ser cuidadoso, para efectos prácticos es lo equivalente a copiar y sustituir en el remoto o en el local dependiendo de la operación que este haciendo

mas información https://rclone.org/docs/

Instalar Node JS y NPM

sudo apt install nodejs npm -y

Instalar NVM

Recomiendo instalar nvm ya que permite tener a nuestra disposición las versiones de node que necesitemos simplemente con un comando, puede ser útil si necesitamos una versión más reciente o una mas antigua por cuestiones de compatibilidad de paquetes

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash

Podríamos reiniciar el sistema operativo para que nvm quede funcional pero existe un comando que nos recarga la configuración del perfil de nuestro usuario

source ~/.profile

Comandos de NVM

Instalar la versión más reciente de node

nvm install node

Instalar una versión en específico

nvm install 14.7.0

listar las versiones disponibles remotamente

nvm ls-remote

poner en uso la versión default

nvm use node

Instalar Mysql

Descargar de aqui https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install las claves con los repositorios de instalación e instalarlos

https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install
sudo dpkg -i mysql-apt-config_0.8.23-1_all.deb 
sudo apt-get update
sudo apt-get install mysql-server
systemctl status mysql

Instalar DBEAVER

https://dbeaver.io/download/
sudo dpkg -i dbeaver-ce_22.2.2_amd64.deb

Ahora es probable que de un problema al momento de conectar a mysql, es necesario buscar estas dos propiedades en driver properties

Instalar PHPMyAdmin

Instalar todo los modulos de php necesarios

sudo apt -y install wget php php-cgi php-mysqli php-pear php-mbstring libapache2-mod-php php-common php-phpseclib php-mysql

Usuario para PHPMYADMIN

Crear un usuario de MYSQL para PHPMYADMIN, en las últimas versiones ya no es posible utilizar el usuario root, por lo que hay que crear un usuario exclusivo para el PHPMYADMIN:

sudo mysql -u root -p

Ingresamos con nuestra clave y creamos un nuevo usuario

CREATE USER 'user4phpmyadmin'@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user4phpmyadmin'@localhost ;
FLUSH PRIVILEGES ;

Exit;

Bajamos el instalador de PHPMYADMIN

Deacargar el paquete de PHPMYADMIN desde la siguiente ubicación, al momento de escribir este post esta es la ubicación:


wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

sudo tar xvf phpMyAdmin-latest-all-languages.tar.gz

sudo mv phpMyAdmin-*-all-languages/ /var/www/html/phpmyadmin

Crear Clave Secreta para encriptación de datos de PHPMYADMIN

Ahora debemos crear la clave secreta y el archivo de configuración, esta clave de configuración sirve para que PHPMYADMIN la utilize para cifrar data sensible del servidor.

Este archivo no es para utilizarse en el ingreso a PHPMYADMIN sino para que si alguien tiene acceso al archivo de las contraseñas de PHPMYADMIN no podrá descifrar las claves ya que estarán cifradas.

Para crear esta clave debemos hacer lo siguiente:

Ir al directorio donde está la carpeta de PHPMYADMIN, yo lo tengo en la carpeta siguiente:

cd /var/www/html

Creamos una copia del archivo que viene de ejemplo para trabajarlo 
sudo cp phpmyadmin/config.sample.inc.php phpmyadmin/config.inc.php


Creamos un directorio tmp para que PHPMYADMIN lo utilice en sus procesos 

sudo mkdir /var/www/html/phpmyadmin/tmp


Se genera la clave usando para ello openssl, que nos genere una clave fuerte y aleatoria: 

openssl rand -base64 32


Vamos a modificar el archivo de configuración para agregar la clave en el directorio
 
sudo nano /var/www/html/phpmyadmin/config.inc.php
$cfg[‘blowfish_secret’] = ‘your-key‘; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Add cute fish bowl key in phpMyADmin Debian 11

Ir al final del archivo y ponerle lo siguiente

$cfg['TempDir'] = '/var/www/html/phpmyadmin/tmp';

Dar permisos al directorio para que se pueda ingresas

Dar permisos correctos, simplemente hacer propietario al usuario www-data

sudo chown -R www-data:www-data /var/www/html/phpmyadmin

Configurar servidor Virtual para entrar

sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Alias /phpmyadmin /var/www/html/phpmyadmin

<Directory /var/www/html/phpmyadmin/>
   AddDefaultCharset UTF-8
   <IfModule mod_authz_core.c>
          <RequireAny>
      Require all granted
     </RequireAny>
   </IfModule>
</Directory>

<Directory /var/www/html/phpmyadmin/setup/>
   <IfModule mod_authz_core.c>
     <RequireAny>
       Require all granted
     </RequireAny>
   </IfModule>
</Directory>
sudo a2enconf phpmyadmin.conf
sudo systemctl restart apache2
http://127.0.0.1/phpmyadmin/

Instalar COMPOSER

Para instalar composer necesitamos ya tener disponible php cli en nuestro sistema, bajar el instalador de composer de aquí y luego correo el siguiente comando, al bajar tendremos cualquiere de los dos archivos siguientes

  • installer
  • composer-setup.php

para instalar globalmente los dejaremos en el directorio bin

sudo php installer --install-dir=/usr/local/bin --filename=composer

Al terminar ese comando ya puede correr el siguiente

composer 

Mostrará lo siguiente

Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Comandos básicos de GIT y Github

lunes, octubre 10th, 2022

¿Que es Git?

Git es el software de control del versiones que se utiliza para compartir código con tus colaboradores. Ideal para controlar las versiones, git te permite realizar un seguimiento completo de los cambios en el código y evitar errores.

Mas de una vez me ha pasado que realizo un cambio en el código de un programa que estoy realizando y por error cambio algo que no debí haber cambiado, con git puedo restaurar un proyecto a su estado inicial.

También me permite combinar el código de 2 programadores o mas en uno solo y así integrar los cambios de un proyecto de software.

¿Que es Github ?

Github es una plataforma en linea donde alojar tu código. Antes de la llegada de Github (2008) tu mismo tenías que instalar tu servidor local para poder compartir código, también se podía hacer en un servidor en la nube, pero entonces había que crearlo y era privado, lo cual hacia mas difícil su mantenimiento.

Con Github tenemos una plataforma en linea fácil de usar para alojar nuestros proyectos de código de manera gratuita y con todas las ventajas del manejo de versiones que nos ofrece git.

Al día de hoy Github ha sido comprado por microsoft y se ha convertido en la plataforma en linea mas importante para alojar compartir y mantener el codigo de multiples proyectos.

Instalar Git

sudo apt update
sudo apt install git
git --version

Iniciar un repositorio

git init

Agregar los archivos que se han cambiado al working tree

git add .

Una vez añadidos al staging area se debe hacer un commit

git commit -m "este es mi primer commit"

Ese comando permite enviar los archivos a una especie de base de datos donde puedes colocar los archivos cuyo estado queremos siempre memorizar.

Configurar GIT con nombre y usuario

Asi es como se configura el usuario y correo

git config --global user.name "Tu nombre aquí"
git config --global user.email "tu_email_aquí@example.com"

Como ver el estado de los archivos

Recordamos los pasos para añadir a GIT

git init 
git add .
git status 

El comando status mostrará los cambios pendientes de confirmar

On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   readme.html

ahora que vemos que tenemos pendientes archivos de mandar al commit o más bien de confirmar ya podemos hacer los siguiente:

git commit -m "mensaje para el commit"

Github

Como crear un token de acceso

Ahora debemos configurar

Con el token debemos pegarlo siempre que lo pida en lugar de la contraseña y funciona bien, por eso debemos almacenarlo ya que no lo podremos ver nuevamente, si lo perdemos habrá que generar otro

Clonar un Repo

se clona con la dirección https o bien con el github-cli pero nosotros lo haremos siempre con la url

ejemplo de clonar el siguiente repositorio

https://github.com/Jerga99/exchangario.git

Git Clone https://github.com/Jerga99/exchangario.git

Subir un repo

Para poder subir la información a un repo debemos previamente crear el repo en la web

estos son los comandos que da GItHub
echo «# newrepo» >> README.md
git init
git add README.md
git commit -m «first commit»
git branch -M main
git remote add origin https://github.com/YECAPP/reponew.git
git push -u origin main

Si deseo subir al repo creado debo agregar el repositorio remoto y luego pushear

git remote add origin https://github.com/YECAPP/newrepo.git

y luego el push

git push -u origin master

Con esto ya se puede ver en linea el push que acabamos de hacer

El GitHub Cli

GitHub CLI es una interfaz de línea de comandos (CLI) para interactuar con GitHub a través de la terminal de comandos en lugar de utilizar la interfaz gráfica de usuario (GUI) en el sitio web de GitHub.

Con GitHub CLI, los desarrolladores pueden realizar tareas comunes de GitHub, como crear y clonar repositorios, crear y revisar solicitudes de extracción, revisar problemas y realizar comentarios, todo desde la línea de comandos.

GitHub CLI está disponible para Windows, Mac y Linux, y está diseñado para ayudar a los desarrolladores a trabajar de manera más eficiente en la línea de comandos y facilitar la integración de GitHub en sus flujos de trabajo diarios. Con GitHub CLI, los desarrolladores pueden realizar tareas de GitHub de manera más rápida y eficiente, lo que les permite centrarse en escribir código de alta calidad y colaborar con otros desarrolladores.

Instalar GitGub CLI

Instalamos según la documentación oficial

type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)

El comando anterior verifica si no esta instalado curl y sino lo esta, lo instala para que podamos ejecutar el comando que sigue, que es :

curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg

Este comando descarga y agrega la clave de autenticación de paquete para GitHub CLI al almacén de claves del sistema, lo que permite al sistema verificar y descargar paquetes de GitHub CLI de manera segura y autenticada.

sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg 

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null 

sudo apt update 

sudo apt install gh -y

El comando anterior completa la instalación

Hacer que Github no pida a cada rato las credenciales

Ahora que ya tenemos el Github Cli ya podemos guardar las credenciales para que no las pida a cada rato con el comando

gh auth login
Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest



Redes sociales