Como configurar OpenDNS en Ubuntu con actualización de IP automática

Instalar ddclient y editar su configuración /etc/ddclient.conf
# usar ddclient
# /etc/ddclient.conf
protocol=dyndns2
use=web, if=myip.dnsomatic.com
ssl=yes
server=updates.opendns.com
login= <your login mail>
password= <secret_password>
FiberHome # Nombre de la red en OpenDns 
Reiniciar el servicio y listo! $> sudo systemctl restart ddclient Para más opciones https://help.ubuntu.com/community/DynamicDNS

MercadoPago: como generar un link de pago dinámico

1) Obtener de su cuenta de mercado pago, client_id y client_secret
2) Obtener Access Token
endpoint: https://api.mercadopago.com/oauth/token

¡Atención! El post es enviado urlencoded

 

Para saber cuales son sus credenciales de mercadoPago puede loggearse e ingresar e este link https://www.mercadopago.com.ar/developers/es/

En el menú de la derecha hay una opción para que pueda ver sus credenciales,  en este caso usamos las credenciales de checkout básico

3) Crear preferencia de pago y obtener link a cambio

endpoint: https://api.mercadopago.com/checkout/preferences?access_token=${my_access_token}

En la respuesta encontrara un atributo llamado init_point que contiene el link de pago

Desplegar phoenix en producción (Ubuntu 16.04 o > )

Instalar nginx

sudo apt install nginx

Instalar erlang + elixir

wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb

sudo apt update

sudo apt install esl-erlang

sudo apt install elixir

Instalar postgresql

sudo apt install postgresql postgresql-contrib

Configurar postgres password

sudo -u postgres psql postgres

postgres=#  \password postgres

El sistema le pedirá el nuevo password

Instalar phoenix

mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez

instalar inotify-tools (linux)

sudo apt install inotify-tools

Instalar node (si es necesario)

Bajar la versión necesaria desde  https://nodejs.org/es/

Y actualizar el ~/.bashrc para agregar el bin

nano ~/.bashrc

...en la última linea agregar

export PATH="$PATH:/ruta_a_donde_descromprimieron_node/bin"
para que se apliquen los cambios sin necesidad de reiniciar... 

source ~/.bashrc

Preparar para producción

Seguir esta guía

Crear un servicio que maneje la app

cd /etc/systemd/system
también se puede usar cd /lib/systemd/system

nano nombre_de_la_app.service

[Unit]
Description=Nombre de la App
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/myApps/app (ruta a la app)
Environment="MIX_ENV=prod" "PORT=4001" "MYPASS=****" (variables de entorno)
ExecStart=/usr/local/bin/mix phx.server
Restart=on-failure (si se cae o se reinicia el server levantar la app)

[Install]
WantedBy=multi-user.target

Nginx

se puede utilizar nginx para dirigir un subdominio a la app mediante el uso de proxy

cd /etc/nginx/sites-available

nano default 
copiar esto.. redirige el dominio prinical al puerto 4001 donde se encuntra nuestra app
server {
        listen 80 default_server;
        listen [::]:80 default_server;


        server_name _;
        location / {

                proxy_pass http://localhost:4001;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_updgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;

        }

}

Por último debmos linear sites-available a sites-enabled
usando este comando

ln -s /etc/nginx/sites-available/clover.ceibo.co /etc/nginx/sites-enabled/clover.ceibo.co