He cambiado la configuración de Apache para apuntar hacia una carpeta en mi directorio de inicio:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/dbugger/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/dbugger/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Incluso he dado mi /home/dbugger/htmlpermiso 777. Pero sigo recibiendo el mismo mensaje de error en http://localhost: "403 Prohibido"
¿Qué es lo que me estoy perdiendo?

/home/dbuggerpermiso?Respuestas:
Esto funciono para mi
Lo importante era cambiar
a
fuente
Allow from allapache 2.4 en adelante - serverfault.com/questions/549517/…AllowOverrideaAllen su raíz directorio es imprudente en el mejor! Consulte httpd.apache.org/docs/2.4/mod/core.html#allowoverride para más detalles.Habilitar
userdirmódulo:Habilite la ejecución de PHP en el directorio de usuarios:
(O si usa php7.0, por ejemplo)
Comente esta parte (coloque
#al comienzo de cada línea):Presione Ctrl+ Xpara guardar
Habilitar listado de directorio:
Agrega esto:
Presione Ctrl+ Xpara guardar
Reinicie apache (
sudorequerido aquí también):Ahora ponga sus archivos php en el
/home/yourname/public_htmldirectorio y vayahttp://localhost/~yournamedesde su navegador web.fuente
Apache se ejecuta como usuario
www-data. Si no tiene permiso de ejecución en su hogar, apache no podrá leer ningún archivo.Cambie el grupo de su hogar a
www-data:Y déle permiso solo para recorrer su directorio de inicio:
También puede restringir los permisos de
/home/dbugger/html:fuente
/home/dbuggerusar/home/dbugger/html?/home/dbugger/htmllugar de 777, pero debe tener en cuenta que si el usuario www-data no puedecdacceder a su hogar, no podrá acceder a ningún archivo o subcarpeta. Entonces, si el permiso de su casa esrwx------ dbugger:dbuggerapache, no podrá acceder a ningún archivo dentro de su casa. Si desea restringir un poco el acceso, puede intentar dar solo permiso de ejecución (chmod g+x /home/dbugger), no estoy seguro, pero creo que funciona.chgrp www-data /home/dbuggeren combinación con el método @DavidGreene, funcionó para mísudo usermod -a -G dbugger www-data, después de eso debe reiniciar apache.No necesita cambiar los permisos si desea utilizar su directorio de inicio para alojar el entorno de desarrollo, al menos que necesita permisos de escritura para algunas aplicaciones. Necesita el módulo apache mod_userdir y puede acceder a / home / user_name / public_html / * de esta manera http: //domain.local/~user_name/dir_name/ * para usar un host virtual, para usar el módulo mod_userdir necesita crear un símbolo enlace como este:
fuente
a2enmod userdir