<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alfredo Fernandez</title>
    <description>The latest articles on DEV Community by Alfredo Fernandez (@afreddier).</description>
    <link>https://dev.to/afreddier</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F287389%2F2cb21b65-f5f6-47b3-affb-1afa2b29f826.jpeg</url>
      <title>DEV Community: Alfredo Fernandez</title>
      <link>https://dev.to/afreddier</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/afreddier"/>
    <language>en</language>
    <item>
      <title># Create user with all privileges in PSQL and add to db</title>
      <dc:creator>Alfredo Fernandez</dc:creator>
      <pubDate>Thu, 14 Apr 2022 23:36:27 +0000</pubDate>
      <link>https://dev.to/afreddier/-create-user-with-all-privileges-in-psql-and-add-to-db-59fk</link>
      <guid>https://dev.to/afreddier/-create-user-with-all-privileges-in-psql-and-add-to-db-59fk</guid>
      <description>&lt;p&gt;Check psql if is installed &lt;code&gt;psql --version&lt;/code&gt; if you don't have installed then install from &lt;a href="https://www.postgresql.org/"&gt;official page&lt;/a&gt;  when installed make sure can see something like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;psql &lt;span class="o"&gt;(&lt;/span&gt;PostgreSQL&lt;span class="o"&gt;)&lt;/span&gt; 14.2 &lt;span class="o"&gt;(&lt;/span&gt;Ubuntu 14.2-1.pgdg20.04+1+b1&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;check status of psql &lt;code&gt;sudo service postgresql status&lt;/code&gt; look like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded &lt;span class="o"&gt;(&lt;/span&gt;/lib/systemd/system/postgresql.service&lt;span class="p"&gt;;&lt;/span&gt; enabled&lt;span class="p"&gt;;&lt;/span&gt; vendor preset: enabled&lt;span class="o"&gt;)&lt;/span&gt;
     Active: active &lt;span class="o"&gt;(&lt;/span&gt;exited&lt;span class="o"&gt;)&lt;/span&gt; since Thu 2022-04-14 17:20:08 &lt;span class="nt"&gt;-04&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 3s ago
    Process: 38001 &lt;span class="nv"&gt;ExecStart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/bin/true &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;code&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;exited, &lt;span class="nv"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0/SUCCESS&lt;span class="o"&gt;)&lt;/span&gt;
   Main PID: 38001 &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;code&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;exited, &lt;span class="nv"&gt;status&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0/SUCCESS&lt;span class="o"&gt;)&lt;/span&gt;

abr 14 17:20:08 alfredo systemd[1]: Starting PostgreSQL RDBMS...
abr 14 17:20:08 alfredo systemd[1]: Finished PostgreSQL RDBMS.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If service psql is &lt;strong&gt;inactive&lt;/strong&gt; only need  &lt;code&gt;sudo service postgresql start&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Run this &lt;em&gt;command&lt;/em&gt; for create user&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo&lt;/span&gt; &lt;span class="nt"&gt;-u&lt;/span&gt; postgres createuser testuser
&lt;span class="c"&gt;# For crete db&lt;/span&gt;
&lt;span class="nb"&gt;sudo&lt;/span&gt; &lt;span class="nt"&gt;-u&lt;/span&gt; postgres createdb testdb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we make setting for nice work with that user and the database&lt;br&gt;
First enter to psql&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo&lt;/span&gt; &lt;span class="nt"&gt;-u&lt;/span&gt; postgres psql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For see all user list  you can run  &lt;code&gt;\du&lt;/code&gt;&lt;br&gt;
when see all user list we cannot see any roles even doesn't exist password for this user ,  we need add some privileges &lt;strong&gt;inside db (postgres)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ALTER USER testuser with encrypted password &lt;span class="s1"&gt;'secret'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c"&gt;# If this command run success, message look like this&lt;/span&gt;
&lt;span class="c"&gt;# ALTER ROLE&lt;/span&gt;
grant all privileges on database testdb to testuser&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="c"&gt;# GRANT&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;when list again with &lt;code&gt;\l&lt;/code&gt; the database has attach to new user &lt;/p&gt;

</description>
      <category>postgres</category>
      <category>database</category>
      <category>psql</category>
    </item>
    <item>
      <title>En producción laravel a vps y configurando dominio, sub dominios SSL Parte2. Conexión de usuario por ssh desactivar usuario root</title>
      <dc:creator>Alfredo Fernandez</dc:creator>
      <pubDate>Sun, 08 Dec 2019 18:16:20 +0000</pubDate>
      <link>https://dev.to/afreddier/en-produccion-laravel-a-vps-y-configurando-dominio-sub-dominios-ssl-parte2-conexion-de-usuario-por-ssh-desactivar-usuario-root-3kh4</link>
      <guid>https://dev.to/afreddier/en-produccion-laravel-a-vps-y-configurando-dominio-sub-dominios-ssl-parte2-conexion-de-usuario-por-ssh-desactivar-usuario-root-3kh4</guid>
      <description>&lt;p&gt;&lt;a href="https://dev.to/afreddier/en-produccion-laravel-a-vps-y-configurando-dominio-sub-dominios-certificados-ssl-parte1-creando-droplets-en-digital-ocean-563m"&gt;Anterior parte 1&lt;/a&gt;&lt;br&gt;
Si vamos al panel de digital ocean creado anteriormente podremos ver la dirección ip del droples, ahora en nuestra terminal ocupamos el usuario root que nos provee digital ocean con la dirección ip y la llave generada anteriormente de la siguiente manera.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh root@157.245.169.85 &lt;span class="nt"&gt;-i&lt;/span&gt; /home/alfredo/.ssh/laravelapp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nos acceder al servidor remoto esto nos permite confirmar damos &lt;code&gt;yes&lt;/code&gt; Ten en cuenta que ocupamos la llave que no tiene &lt;code&gt;.put&lt;/code&gt; porque este es la llave privada que no debemos compartir. Ahora por razones de seguridad no se recomienda trabajar directamente con el usuario &lt;code&gt;root&lt;/code&gt; por lo que crearemos un usuario, lo llamare miusuarioenubuntu&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;adduser miusuarioenubuntu
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este usuario se creó en el directorio &lt;code&gt;/home&lt;/code&gt; para verlo &lt;code&gt;ll /home/&lt;/code&gt; (&lt;code&gt;deluser&lt;/code&gt; y nombreusuario para eliminar dicho usuario) este usuario no tiene permisos vamos a darle permiso de &lt;strong&gt;sudo&lt;/strong&gt; de modo que podamos ejecutar comandos de &lt;strong&gt;root&lt;/strong&gt; anteponiendo &lt;strong&gt;sudo&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;adduser miusuarioenubuntu &lt;span class="nb"&gt;sudo&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para acceder con el nuevo usuario que creamos necesitamos generar llave &lt;strong&gt;ssh&lt;/strong&gt; en nuestra maquina local generamos con &lt;code&gt;ssh-keygen&lt;/code&gt; que lo voy a guardar en &lt;strong&gt;(/home/alfredo/.ssh/id_rsa)&lt;/strong&gt;: &lt;code&gt;/home/alfredo/.ssh/blogaf&lt;/code&gt; una vez generado mostramos la llave &lt;code&gt;cat ~/.ssh/blogaf.pub&lt;/code&gt; para despues copiar y pegar en nuestro servidor remoto a la que entramos como root y navegamos al directorio del usuario al que vamos a permitir acceder con &lt;strong&gt;ssh&lt;/strong&gt; en este caso &lt;code&gt;cd /home/miusuarioenubuntu&lt;/code&gt; ahí creamos una carpeta oculta &lt;code&gt;mkdir .ssh&lt;/code&gt; dentro creamos un archivo &lt;code&gt;touch authorized_keys&lt;/code&gt; en la que pegamos la &lt;strong&gt;llave publica&lt;/strong&gt; guardamos y salimos del servidor remoto y intentamos iniciar sesion con dicho usuario&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh miusuarioenubuntu@157.245.169.85 -i /home/alfredo/.ssh/blogaf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ahora podemos  acceder con el usuario &lt;strong&gt;miusuarioenubuntu&lt;/strong&gt; y &lt;strong&gt;root&lt;/strong&gt; sin embargo es recomendable desactivar el usuario &lt;strong&gt;root&lt;/strong&gt; por temas de seguridad, para esto entramos al servidor, si entraste con el usuario normal es necesario anteponer &lt;strong&gt;sudo&lt;/strong&gt; &lt;code&gt;sudo nano /etc/ssh/sshd_config&lt;/code&gt; en el archivo cambiamos la linea que dice &lt;code&gt;PermitRootLogin yes&lt;/code&gt; ponemos a &lt;code&gt;PermitRootLogin no&lt;/code&gt; despues de esto guardamos y recargamos el servicio para que surtan efectos de configuración de la siguiente manera &lt;code&gt;sudo systemctl reload ssh.service&lt;/code&gt; y salimos del servidor, si intentamos conectarnos como &lt;strong&gt;root&lt;/strong&gt; ya no nos debería permitir.&lt;/p&gt;

&lt;p&gt;Adicional a esto tenemos dos inconvenientes &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;El servidor se cierra cada 5 minutos cuando no hacemos ningún movimiento esto pasa casi en todos los proveedores del servicio &lt;/li&gt;
&lt;li&gt;Es un poco molesto cada que queremos acceder al servidor y poner el usuario la ip y cargar la llave 
Para esto navegamos en nuestra maquina local al directorio &lt;code&gt;cd ~/.ssh&lt;/code&gt; donde creamos nuestra &lt;strong&gt;llave ssh&lt;/strong&gt; dentro creamos un archivo con el nombre &lt;strong&gt;config&lt;/strong&gt; &lt;code&gt;nano config&lt;/code&gt; en el que escribimos el siguiente código
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ServerAliveInterval 120

ServerAliveCountMax 3

Host carlos

     HostName 157.245.169.85

     User miusuarioenubuntu

     IdentityFile /home/alfredo/.ssh/blogaf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Guardamos y Salimos con esto las dos primeras lineas solucionan el primer problema y el resto el segundo. Ahora podríamos acceder de la siguiente manera &lt;code&gt;ssh carlos&lt;/code&gt; donde &lt;strong&gt;Host&lt;/strong&gt; hace referencia al nombre que sera ocupado para acceder al servidor, &lt;strong&gt;HostName&lt;/strong&gt; a la dirección ip del servidor &lt;strong&gt;User&lt;/strong&gt;  al usuario que creamos dentro del servidor y &lt;strong&gt;IdentifyFile&lt;/strong&gt; a la ubicación de la llave.&lt;/p&gt;

&lt;h1&gt;
  
  
  Configurando dominio y subdominio
&lt;/h1&gt;

&lt;p&gt;Vamos al panel de digital ocean navegamos a la parte Networking ahi añadimos el dominio de la siguiente manera&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UnQzMaUW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/n6p9a1onmc7pdbzgdg1c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UnQzMaUW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/n6p9a1onmc7pdbzgdg1c.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Esto nos genera tres DNS con el dominio añadido&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0QJs8X37--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zzk89cerhswrogff6h3r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0QJs8X37--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zzk89cerhswrogff6h3r.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora añadimos @ en HOSTNAME para indicar el dominio añadido y seleccionamos un servidor y TTL como se muestra&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--E7jaY9Ez--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/orgzh46yxzu3d3km62bl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--E7jaY9Ez--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/orgzh46yxzu3d3km62bl.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Con esto el dominio esta listo de aqui en adelante el servidor se encargara de procecar las peticiones, como ultimo paso vamos añadir 3 subdominios de la siguiente manera&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QQLY5YTP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/h95a8r3mlr8anr9i89r4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QQLY5YTP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/h95a8r3mlr8anr9i89r4.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q_Y1vhjx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tws071nmsmhn9hyrc9ee.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q_Y1vhjx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tws071nmsmhn9hyrc9ee.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ten encuenta que el dominio principal en mi caso (alfredofernandez.me) lo tienes que tener registrado, pero el subdominio puedes poner cualquier nombre no es necesario el registro, una vez el registro es necesario apuntar a los dns de digital ocean, eso podemos ver en la parte inferior las que dice NS&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qFJ_p8Gm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/o55mz8bramd47u575dkh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qFJ_p8Gm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/o55mz8bramd47u575dkh.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Esos tres NS añadimos en nuestro proveedor de dominio en mi caso lo registré en namecheap, si registraste en otro proveedor de igual manera deberias tener la sesion para añadir dns, para hacerlo nos dirigimos a la parte domain en la sesión DNS seleccionamos Custom DNS y añadir los NAMESERVER como se muestra &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zwyTDVHh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/46tonsrq1pgcxxzwgjyk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zwyTDVHh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/46tonsrq1pgcxxzwgjyk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>deploy</category>
      <category>ssh</category>
      <category>domain</category>
      <category>subdomain</category>
    </item>
    <item>
      <title>En producción laravel a vps y configurando dominio, sub dominios, Certificados SSL Parte1. Creando Droplets en digital ocean</title>
      <dc:creator>Alfredo Fernandez</dc:creator>
      <pubDate>Sun, 08 Dec 2019 15:39:39 +0000</pubDate>
      <link>https://dev.to/afreddier/en-produccion-laravel-a-vps-y-configurando-dominio-sub-dominios-certificados-ssl-parte1-creando-droplets-en-digital-ocean-563m</link>
      <guid>https://dev.to/afreddier/en-produccion-laravel-a-vps-y-configurando-dominio-sub-dominios-certificados-ssl-parte1-creando-droplets-en-digital-ocean-563m</guid>
      <description>&lt;p&gt;Lo primero que se requiere es crear una cuenta en digital ocean añadiendo una tarjeta de crédito o débito esto nos permite crear la cuenta con exito, una vez listo este paso, Ahora ya podemos crear un servidor VPS&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--C2v9gvD9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmaim51nctH29PFLPudhYsB4GDWDZdWukKqUS7LUQZXmWq/createdroples.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--C2v9gvD9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmaim51nctH29PFLPudhYsB4GDWDZdWukKqUS7LUQZXmWq/createdroples.png" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora digital ocean ofrece una variedad de sistemas operativos podrias seleccionar con la que mas estas familiarizado en lo personal seleccionare ubuntu, ten en cuenta que si selecciona otro sistema operativo podrias tener alguna diferencia al seguir el tutorial, como la forma al instalar los paguetes que ocuparemos. Tambien nos pregunta el espacion en disco, memoria y procesador seleccionaremos el mas minimo porque para este objetivo es mas que suficiente.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_MlEbPqx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmRBk7vy7gphdNW3wqhdwKRr1HpWTspcWJx3wxw1qCdkuW/select-resource.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_MlEbPqx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmRBk7vy7gphdNW3wqhdwKRr1HpWTspcWJx3wxw1qCdkuW/select-resource.png" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mas Abajo seleccionamos un lugar en el que nuestro servidor estará trabajando, esto dependerá del tráfico de la paginas web osea en que parte tenemos mas visita y de acuerdo a eso seleccionamos la que esta mas cerca mas abajo tenemos una opción para cambiar el nombre aquí puedes poner cualquier nombre ya que hace referencia al nombre del servidor, tenemos mas opciones de configuración pero en este tutorial vamos a cubrir lo más necesario&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Vej64bdh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmVgJ5VrYGvULVTtVukZUWjkaCdfCbEZRCTVhyaoceFPx9/select-addressserver-andnameserver.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Vej64bdh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmVgJ5VrYGvULVTtVukZUWjkaCdfCbEZRCTVhyaoceFPx9/select-addressserver-andnameserver.png" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora toca crear una llave SSH aunque digital ocean permite trabajar un servidor con contraseña pero se ha visto que la llave SSH es mas seguro que preteger con solo contraseña. Generamos la llave publica y privada en nuestra computadora local con el siguiente comando &lt;code&gt;ssh-keygen&lt;/code&gt; al ejecutar el comando nos muestra una ubicación en la que sera creado podriamos cambiar esa ubicación pasando un parametro, personalmente solo pondre la misma ubucación pero con otro nombre y enter, ahora nos pregunta si deseamos poner una contraseña a las llaves ssh esto si ponemos siempre nos preguntara cada que nos conectemos al servidor si deseamos dejarlo en blanco solo damos enter en mi casa lo voy a dejar en blanco ya que con ssh lo tenemos seguro, aunque nunca esta demas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Mom4Jqz3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmVRreWXV4anUWwMrcHDcCSgc7EMmk4ayh8A9d216Thkke/generate-ssh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Mom4Jqz3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmVRreWXV4anUWwMrcHDcCSgc7EMmk4ayh8A9d216Thkke/generate-ssh.png" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Con el comando &lt;code&gt;ll ~/.ssh&lt;/code&gt; que es el directorio que seleccione para guardar mis llaves, al presionar enter nos muestra dos archivos una &lt;code&gt;laravelapp&lt;/code&gt; y otra &lt;code&gt;laravelapp.pub&lt;/code&gt; la que tiene &lt;code&gt;.pub&lt;/code&gt; es publico el que tenemos que darle al servidor remoto, imagina un candado de una puerta que si necesita la llave propio del candado para abrirse tiene el mismo concepto, ocupamos el comando &lt;code&gt;cat .ssh/laravelapp.pub&lt;/code&gt; para ver el contenido de la llave publica y copiar para despues pegar en digital ocean&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fhbFNcH9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmaPKbCAWPu5swMnEUqbNsKGfM3cXjZszfUhF3V8cGjmXJ/copy-ssh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fhbFNcH9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmaPKbCAWPu5swMnEUqbNsKGfM3cXjZszfUhF3V8cGjmXJ/copy-ssh.png" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pegamos las llaves y ponemos un nombre para la llave puede ser cualquier nombre&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CPQUrbEB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmdhBKgyj55uuzDN6L3WADbSCpPzqL4D8NfTdtnGEuy3RS/page-key.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CPQUrbEB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.steemitimages.com/DQmdhBKgyj55uuzDN6L3WADbSCpPzqL4D8NfTdtnGEuy3RS/page-key.png" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;click en guardar, con esta configuración ya podemos crear nuestro vps, para eso damos click en la parte de abajo en el botón Create Droplet, esperamos hasta que se cree posteriormente nos genera una dirección ip la que vamos a ocupar para conectarnos al VPS en el siguiente tutorial&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/afreddier/en-produccion-laravel-a-vps-y-configurando-dominio-sub-dominios-ssl-parte2-conexion-de-usuario-por-ssh-desactivar-usuario-root-3kh4"&gt;Siguiente parte 2&lt;/a&gt;&lt;/p&gt;

</description>
      <category>digitalocean</category>
      <category>deploy</category>
      <category>domain</category>
      <category>subdomain</category>
    </item>
  </channel>
</rss>
