# Cambio el doc root de un dominio en DirectAdmin

## Doc root, public, public_html
El software moderno desde hace años, evita la publicación del software en el mismo area publica o expuesta a internet. Por seguridad, por ordenación, el codigo usa el contenido en distintas carpetas dejando a una carpeta el destino de exposición al publico.

Este puede ser `public` como en el caso de Laravel, u otros distintos segun el framework. 

Esto suele ser un problema para los hosters porque sus paneles de control usand el de toda la vida, `public_html`

En el camino, mucho se aventuran a enlace simbolicos, redirecciones. Y todo eso es muy bonito pero al final altera, no solo la realidad de la instalación sino un posible cambio de servidor, de paradigma de sistema, etc. 

### Cambiar el DOC ROOT en Directadmin

Si bien es sencillo, a veces parace que los manuales son algo espesos, y si encima tenemos un for de mas de 20 años de antiguedad, sin prunning, pues acabas por volverte loco con lso cambios en el tiempo.

En la actualidad es bien sencillo.

#### (Admin) Custom HTTPD Configurations

`evo/admin/custom-httpd`

Seleccionar el dominio (o subdominio entendiendose como entidad configurada como dominio independiente)

Después, deberemos modificar la configuracionde `httpd.conf` `nginx.conf.proxy`

![Custom Httpd Configurations](https://multimedia.castris.com/imagenes/wiki/directadmin/da-customize_web_root.jpg)

En cada uno de ellas veremos un boton con la palabra **Customize**

![Customize HHTPD](https://multimedia.castris.com/imagenes/wiki/directadmin/da_customize_button_httpd.jpg)

Que la hacer click nos mostrará la caja de exto donde introducir nuestros cambios.

![Customize configuration](https://multimedia.castris.com/imagenes/wiki/directadmin/da-customize_httpd_conf_vars.jpg)

Aqui usando varmiables podemos adecuar a lo que queramos nuestros path. Ejemplo de abajo me sirve a mi porque se trata de una migracion que no queria complicar.

```
|?DOCROOT=`HOME`/domains/`DOMAIN`/public_html/public|
```

El resultado de eso sera que tras reconstruir la configuracion del `doc root` será `/home/user/domains/subdomain.domain.tld/public_html/public` 

De esta forma el proyecto estará en el public_html, pero solo estará expuesta la carpeta `public`

#### da build rewrite_confs

Siemrpe, cuando terminemos deberamos reconstruir los ficheros de configruación, lo cual se hace con el comando `da build rewrite_confs` o bien en el botón de

![Custom HTTPD Configuration :: da build rewrite_confs](https://multimedia.castris.com/imagenes/wiki/directadmin/da_build_rewrite_confs.jpg)


##### Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. 
También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad.
El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de [Castris](https://castris.com)

Si necesitas soporte profesional puedes contratar con Castris [soporte profesional](https://intranet.castris.com/store/soporte-profesional).