Я изменил конфигурацию Apache, чтобы указать на папку в моем домашнем каталоге:
<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>
Я даже отдал свой /home/dbugger/html разрешение 777. Но я все еще продолжаю получать одно и то же сообщение об ошибке в http://localhost: "403 Запрещено"
Вам не нужно изменять разрешения, если вы хотите использовать свой домашний каталог для размещения среды разработки, по крайней мере, для некоторых приложений вам нужны разрешения на запись. Вам нужен модуль apache mod_userdir, и вы можете получить доступ к /home /user_name/public_html/ * следующим образом http://domain.local /~имя_пользователя/имя_дира/* для использования виртуальных хостов, чтобы использовать модуль mod_userdir, вам необходимо создать sym-ссылку, подобную этой:
apache запускается как пользовательские www-данные. Если у этого пользователя нет разрешения на выполнение в вашем доме, apache не сможет прочитать ни один файл.
Ты имеешь в виду, что я должен сделать 777 всей своей домашней папкой? Это кажется преувеличением. Даже превращение 777 в html не является безопасным решением. Я просто делаю это, чтобы попытаться определить корень проблемы.
Нет ли способа добавить подпапку моего домашнего каталога в www-data, не имея его, чтобы предоставить полный доступ к домашней папке? Следуя этой логике, кажется, что мне также пришлось бы предоставить доступ ко ВСЕМ ДОМАШНИМ папкам, так как я должен был бы предоставить ему доступ к / home. Это кажется слишком большим