No hay cosa más fácil que sea, que no la haga difícil la mala gana.
Terencio Afro
Que tal queridos lectores y únicos amigos. Se ha postergando bastante mi ineficiencia por no publicar mas seguido en esta su trinchera guanajuatense. Hoy vamos hablar un poco sobre el servidor web APACHE. Y aveces la rutas definidas como el caso de /var/www/html. Tiene detalles con permisos o que el usuario es el www-data y no root. Etc Etc. Aquellos que vienen de Gnu/Linux sabrán a lo que me refiero. Y la lata que es hacer el sudo chmod 777 -R *
Un servidor web o servidor HTTP es un software que procesa una aplicación del lado del servidor, realizando conexiones bidireccionales o unidireccionales y síncronas o asíncronas con el cliente y generando o cediendo una respuesta en cualquier lenguaje o aplicación del lado del cliente.
Como se dijo al principio por lo regular el servidor Apache tiene una ruta predefinida donde se ponen los archivos que serán procesados . Por los regular las rutas predefinidas son las siguientes:
monolinux$ /var/www/html monolinux$ /srv/www/html
Por lo regular estas carpetas el propietario es el root y sus permisos de lecturas – escritura – ejecución. Son limitados , aunque con el uso de comandos Chown y Chmod. Podemos poner esto a nuestro favor. Es una mala practica de seguridad. Y para esto existe public_html
![carpeta public_html](https://blog.junglacode.org/wp-content/uploads/2020/08/junglacode-public-html.png)
esta carpeta se sitúa en nuestro HOME así que los problemas de permisos prácticamente desaparecerán ya que seras tu usuario el propietario de esa carpeta. Ahí podrán alojar lo archivos y desde el navegador acceder con la siguiente ruta localhost/~usuario/carpeta
Ok, Ya lo quiero
Bueno dejemos la teoría para los enamorados y empecemos a instalarlo que por eso me han googleado.
Por lo regular esa funcionalidad no esta activada en apache. Así que vamos a darle caña para instalarla. Y para esto debemos activar el modulo UserDir
Para esto vamos a editar el siguiente archivo. Recuerde si no tienen ustedes instalado httpd intenten con apache2.
monolinux $ sudo nano /etc/httpd/conf.d/userdir.conf monolinux $ #UserDir disabled -> comentar UserDir enabled monolinux <- agregar esta linea # Descomentar UserDir public_html # Cambiar al siguiente contenido <Directory "/home/*/public_html"> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS </Directory>
Para los que manejen el módulo de seguridad SELINUX deberán de activar el homedir
monolinux $ sudo setsebool -P httpd_enable_homedirs true monolinux $ sudo chcon -R -t httpd_sys_content_t /home/tecmint/public_html
Esto puede aplicar solo a distros como RedHat , Centos , Fedora y OpenSUSE
Reinciamos apache y vamos a la creación de la carpeta.
monolinux $ mkdir public_html monolinux $ chmod 755 /home/usuario/public_html # crea un archivo para que verifiques si puedes entrar monolinux $ nano ./public_html/index.html <html> <body> hola desde public html </div> </body> </html>
Ahora si podemos entrar a la ruta siguiente : localhost/ ~monolinux . Donde monolinux el usuario del sistema y el que te habilitaste.
Referencias
https://httpd.apache.org/docs/2.4/es/howto/public_html.html
https://www.server-world.info/en/note?os=Ubuntu_18.04&p=httpd&f=6
Soy Juan Luis García Corrales, mi nombre de guerra es monolinux. Vivo en Villagrán ,Guanajuato. Cofundador de jungla
ISC orgullosamente LINCE. Apasionado del arte , Crítico de las Películas , Musica y Libros , Escribo en tiempo libres y ♥ Regina
Mi estilo de vida es la programación así que trato de sincronizarlo con mi vida diaria, predicó la filosofía Gnu/Linux para brindar opciones menos capitalistas.
– Viviendo en la armonía del caos