www ver usuario una totales todos que permisos los escritura data dar carpeta cambiar archivos linux public-html

linux - ver - que es el usuario www data



¿Cómo puedo crear una carpeta HTML pública en Ubuntu? (3)

Pregunta simple, pero por alguna razón no pude encontrar la respuesta exacta en Google:

Tengo una nueva instalación de Ubuntu en Slicehost, y me gustaría crear un directorio público en mi directorio de inicio para un sitio web simple que contiene un montón de archivos HTML estáticos. ¿Cómo hago esto? ¿Es solo cuestión de escribir mkdir public_html y establecer los permisos, o hay una manera más limpia? (Recuerdo que en el pasado tuve problemas por los cuales cada vez que copiaba un archivo en mi directorio public_html, tenía que configurar manualmente sus permisos, lo cual era bastante frustrante).


Necesita usar mod_userdir para Apache, de lo contrario, necesita configurar enlaces simbólicos desde /var/www/ o donde sea.

Su problema de permisos se debe a que Apache no tiene acceso de lectura a sus archivos. Debe permitir el acceso de lectura a www-data (o lo que sea que el usuario sea, distro-specific).


Suponiendo que ya ha instalado apache, haga lo siguiente:

sudo a2enmod userdir sudo service apache2 reload

El primer comando habilita el mod de apache userdir, que hace exactamente lo que desea. El segundo recarga las configuraciones de Apache para que comience a usar la nueva configuración.

Para instalar apache2:

sudo apt-get install apache2

Por supuesto, también necesitarás asegurarte de que los permisos en tu carpeta public_html permitan que el usuario de www-data vea los archivos allí; por lo general, 755 funciona bien. Para hacer esto:

mkdir ~/public_html chmod -R 755 ~/public_html

Esto recorrerá de forma recursiva (-R) su public_html y establecerá los permisos en 755 (propietario rwx, y ambos grupos y otros rx, rx).


Las otras respuestas están en el camino correcto con mod_userdir , pero usar eso le dará a su sitio web la URL base http://www.yourdomain.com/~username/ /home/username/public_html/index.html - por ejemplo, un archivo /home/username/public_html/index.html sería accesible como http://www.yourdomain.com/~username/index.html . Si desea que sus archivos estén accesibles en la raíz del dominio, como http://www.yourdomain.com/index.html por ejemplo, tendrá que poner la directiva

DocumentRoot /home/username/public_html

en el archivo de configuración de Apache.

Por cierto, este tipo de pregunta es más adecuada para los foros de Slicehost.