Designed by vectorjuice / Freepik
185
Views

Si utilizas o has utilizado alguna herramienta para gestionar un VPS como WHM/CPanel o similares, habrás notado que al agregar un dominio se genera una carpeta en el directorio /home de nuestro Virtual Private Server usualmente con el nombre del dominio en cuestión, con un usuario y contraseña de SSH para ese directorio, pues la idea de este post es manualmente recrear dicha operación en caso de que no cuentes con un software que gestione eso por ti.

En este post no se trata de cómo configurar un VPS, doy por hecho que ya esta funcionando con los servicios básicos cómo http, ftp, etc. En el futuro escribiré una publicación exclusiva para ello.


1.- Usuario y carpetas necesarias

Para empezar necesitamos crear un usuario en Linux (en mi caso CentOS 8), para ello usaremos el siguiente comando en nuestra terminal:

useradd miusuario

Con esto ya creamos un usuario (en mi caso se llama miusuario) tú selecciona el nombre que quieras, solo recuerda que al ser un usuario de Linux no pongas espacios ni caracteres especiales. Al crear el usuario, nos crea automáticamente la carpeta deseada en /home, no olvides agregar una contraseña para dicho usuario con:

passwd miusuario

En este ejemplo necesito además crear un subdominio, así que vamos a crear las carpetas que necesitaremos con los siguientes comandos:

cd /home
mkdir miusuario/public
mkdir -p miusuario/app/public

En miusuario/public será donde estará nuestro sitio principal y miusuario/app/public será para nuestro subdominio “app”.


2.- Apuntar el dominio: Proveedor ➡ VPS

Lo siguiente será apuntar el dominio desde el proveedor hasta nuestro VPS, los pasos aquí varían dependiendo si se adquirió vía godaddy, name.com, akky, etc. Lo importante es agregar un registro tipo A con la IP de nuestro VPS y eso sería todo para este paso y puedes saltarte al paso 3, sin embargo, en mi caso está instalado un DNS (Domain Name Server) por lo tanto en lugar de un registro A le configuro el nameserver al proveedor del dominio y posteriormente procedo a editar un par de archivos:

/etc/named.conf

 zone "midominio.mx" {
    type master;
    file "midominio.mx";
    allow-update { none; };
};

En el parámetro “file” tenemos que especificar el nombre del archivo en dónde se encontrará la configuración DNS para el dominio que estamos agregando, crearemos el archivo en la ruta correcta con:

touch /var/named/midominio.mx

Y la configuración será:

$TTL 86400
@   IN  SOA     TU_DNS. (
   2013042201  ;Serial
   3600        ;Refresh
   1800        ;Retry
   604800      ;Expire
   86400       ;TTL
)
; Tu o Tus nameservers.
                IN      NS              TU_DNS.
; Registros tipo A.
ns1             IN      A               TU_IP
@               IN      A               TU_IP
www             IN      A               TU_IP

Solo no olvides cambiar los parámetros TU_DNS y TU_IP según sea tu caso, pero repito, este paso es posible que no lo necesites, esto fue particular para mi, solo lo pongo por si en algún momento requieres de una solución similar.

Al terminar de editar estos archivos es necesario reiniciar el daemon del DNS con:

systemctl restart named

3.- Agregar el dominio al servidor HTTP

En este ejemplo usamos Nginx (en una futura publicación entraré más en detalle de como configurar este servicio) por ahora en el archivo default de configuración /etc/nginx/nginx.conf se deberá agregar lo siguiente antes de cerrar http { }.

server {
  listen 80;
  server_name midominio.mx;
  root /home/miusuario/public;
  include /etc/nginx/default.d/*.conf;
}

server {
  listen 80;
  server_name app.midominio.mx;
  root /home/miusuario/app/public;
  include /etc/nginx/default.d/*.conf;
}

Esta es la configuración básica (no recomendada) en un futuro post (again 😅) encontrarán la versión https (recomendada).

Reiniciamos el servidor http con:

systemctl restart nginx

4.- Detalles finales

Por último debemos de corregir los permisos para que no muestre error 403 el servidor al consultar nuestra URL, eso lo podemos hacer con:

cd /home/miusuario
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

Y con nuestro usuario y contraseña que creamos en el paso 1 podemos acceder a cualquier cliente ftp y listo, en la carpeta public puedes subir los archivos que se mostrarán en midominio.mx y en app/public los que se se mostraran en app.midominio.mx.

Eso es todo por ahora 😁

Article Tags:
· · · · ·
Article Categories:
Linux · Servidores

Comments are closed.