Apache, привязанный к домашнему каталогу - ошибки разрешения

Totem теперь использует Gnome Tracker, чтобы выбрать, какие видео будут отображаться на вкладке «Недавние». Согласно https://wiki.gnome.org/Projects/Tracker/Documentation/First5Minutes, db Tracker можно очистить, выполнив tracker-control -r

. Вы также можете запустить вкладку tracker-preferences, System и нажмите кнопку «Да, удалить все мои индексированные данные».

14
задан 21 November 2010 в 19:43

55 ответов

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

sudo  a2enmod userdir

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~/Webroot/ или что-то еще в своем домашнем каталоге.

Примечание: папка по умолчанию - ~/public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf.

3). Перезапустите apache

sudo /etc/init.d/apache2 restart

Теперь вы можете получить доступ к сайту, переведя свой браузер в http: // ip-address / ~ имя пользователя. Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать /etc/apache2/mods-enabled/php5.conf и прокомментировать следующие строки :

 <IfModule mod_userdir.c>
        <Directory /home/*/public_html>
            php_admin_value engine Off
        </Directory>
    </IfModule>
</IfModule>

Затем перезапустите apache.

Вот оно. Вы закончили.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 26 May 2018 в 00:18

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

sudo a2enmod userdir

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~/Webroot/ или что-то еще в своем домашнем каталоге.

Примечание: папка по умолчанию - ~/public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf.

3). Перезапустите apache

sudo /etc/init.d/apache2 restart

Теперь вы можете получить доступ к сайту, переведя свой браузер в http: // ip-address / ~ имя пользователя. Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать /etc/apache2/mods-enabled/php5.conf и прокомментировать следующие строки :

<IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule> </IfModule>

Затем перезапустите apache.

Вот оно. Вы закончили.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 25 July 2018 в 22:51

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

sudo a2enmod userdir

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~/Webroot/ или что-то еще в своем домашнем каталоге.

Примечание: папка по умолчанию - ~/public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf.

3). Перезапустите apache

sudo /etc/init.d/apache2 restart

Теперь вы можете получить доступ к сайту, переведя свой браузер в http: // ip-address / ~ имя пользователя. Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать /etc/apache2/mods-enabled/php5.conf и прокомментировать следующие строки :

<IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule> </IfModule>

Затем перезапустите apache.

Вот оно. Вы закончили.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 27 July 2018 в 00:55

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

sudo a2enmod userdir

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~/Webroot/ или что-то еще в своем домашнем каталоге.

Примечание: папка по умолчанию - ~/public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf.

3). Перезапустите apache

sudo /etc/init.d/apache2 restart

Теперь вы можете получить доступ к сайту, переведя свой браузер в http: // ip-address / ~ имя пользователя. Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать /etc/apache2/mods-enabled/php5.conf и прокомментировать следующие строки :

<IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule> </IfModule>

Затем перезапустите apache.

Вот оно. Вы закончили.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 31 July 2018 в 10:41

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

sudo a2enmod userdir

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~/Webroot/ или что-то еще в своем домашнем каталоге.

Примечание: папка по умолчанию - ~/public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf.

3). Перезапустите apache

sudo /etc/init.d/apache2 restart

Теперь вы можете получить доступ к сайту, переведя свой браузер в http: // ip-address / ~ имя пользователя. Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать /etc/apache2/mods-enabled/php5.conf и прокомментировать следующие строки :

<IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule> </IfModule>

Затем перезапустите apache.

Вот оно. Вы закончили.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 31 July 2018 в 11:46

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

sudo a2enmod userdir

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~/Webroot/ или что-то еще в своем домашнем каталоге.

Примечание: папка по умолчанию - ~/public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf.

3). Перезапустите apache

sudo /etc/init.d/apache2 restart

Теперь вы можете получить доступ к сайту, переведя свой браузер в http: // ip-address / ~ имя пользователя. Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать /etc/apache2/mods-enabled/php5.conf и прокомментировать следующие строки :

<IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule> </IfModule>

Затем перезапустите apache.

Вот оно. Вы закончили.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 2 August 2018 в 04:15

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

  sudo a2enmod userdir  

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~ / Webroot / или что-нибудь в вашем домашнем каталоге.

Примечание: папка по умолчанию - ~ / public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf .

3). Перезапустите apache

  sudo /etc/init.d/apache2 restart  

Теперь вы можете получить доступ к сайту, переведя ваш браузер на http: // IP-адрес / ~ имя пользователя . Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать / etc / apache2 / mods-enabled / php5.conf и прокомментируйте следующие строки:

  & lt; IfModule mod_userdir.c & gt;  & lt; Directory / home / * / public_html & gt;  php_admin_value engine Выкл. & lt; / Directory & gt;  & Lt; / IfModule & GT;  & Lt; / IfModule & GT;   

Затем перезапустите apache.

Thats it.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 4 August 2018 в 20:20

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

  sudo a2enmod userdir  

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~ / Webroot / или что-нибудь в вашем домашнем каталоге.

Примечание: папка по умолчанию - ~ / public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf .

3). Перезапустите apache

  sudo /etc/init.d/apache2 restart  

Теперь вы можете получить доступ к сайту, переведя ваш браузер на http: // IP-адрес / ~ имя пользователя . Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать / etc / apache2 / mods-enabled / php5.conf и прокомментируйте следующие строки:

  & lt; IfModule mod_userdir.c & gt;  & lt; Directory / home / * / public_html & gt;  php_admin_value engine Выкл. & lt; / Directory & gt;  & Lt; / IfModule & GT;  & Lt; / IfModule & GT;   

Затем перезапустите apache.

Thats it.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 6 August 2018 в 04:19

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

  sudo a2enmod userdir  

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~ / Webroot / или что-нибудь в вашем домашнем каталоге.

Примечание: папка по умолчанию - ~ / public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf .

3). Перезапустите apache

  sudo /etc/init.d/apache2 restart  

Теперь вы можете получить доступ к сайту, переведя ваш браузер на http: // IP-адрес / ~ имя пользователя . Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать / etc / apache2 / mods-enabled / php5.conf и прокомментируйте следующие строки:

  & lt; IfModule mod_userdir.c & gt;  & lt; Directory / home / * / public_html & gt;  php_admin_value engine Выкл. & lt; / Directory & gt;  & Lt; / IfModule & GT;  & Lt; / IfModule & GT;   

Затем перезапустите apache.

Thats it.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 7 August 2018 в 22:25

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

  sudo a2enmod userdir  

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~ / Webroot / или что-нибудь в вашем домашнем каталоге.

Примечание: папка по умолчанию - ~ / public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf .

3). Перезапустите apache

  sudo /etc/init.d/apache2 restart  

Теперь вы можете получить доступ к сайту, переведя ваш браузер на http: // IP-адрес / ~ имя пользователя . Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать / etc / apache2 / mods-enabled / php5.conf и прокомментируйте следующие строки:

  & lt; IfModule mod_userdir.c & gt;  & lt; Directory / home / * / public_html & gt;  php_admin_value engine Выкл. & lt; / Directory & gt;  & Lt; / IfModule & GT;  & Lt; / IfModule & GT;   

Затем перезапустите apache.

Thats it.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 10 August 2018 в 10:34

Это не очень хорошая практика, я согласен с Weboide. Но есть простой способ достичь этой цели.

1). включите модуль apache userdir.

  sudo a2enmod userdir  

это позволит использовать модуль apache userdir. Теперь вы можете поместить содержимое веб-сайта в ~ / Webroot / или что-нибудь в вашем домашнем каталоге.

Примечание: папка по умолчанию - ~ / public_html

2). Внесите необходимые изменения в /etc/apache2/mods-enabled/userdir.conf .

3). Перезапустите apache

  sudo /etc/init.d/apache2 restart  

Теперь вы можете получить доступ к сайту, переведя ваш браузер на http: // IP-адрес / ~ имя пользователя . Вы также можете установить виртуальный хост для этого сайта.

Если вы хотите запустить php-файлы, вам нужно сделать еще один шаг

отредактировать / etc / apache2 / mods-enabled / php5.conf и прокомментируйте следующие строки:

  & lt; IfModule mod_userdir.c & gt;  & lt; Directory / home / * / public_html & gt;  php_admin_value engine Выкл. & lt; / Directory & gt;  & Lt; / IfModule & GT;  & Lt; / IfModule & GT;   

Затем перезапустите apache.

Thats it.

Ссылка: https: //wiki.ubuntu.com/UserDirectoryPHP

Надеюсь, это поможет. Если вы столкнулись с любыми трудностями, не стесняйтесь публиковать его здесь.

14
ответ дан 13 August 2018 в 17:04

Это не очень хорошая практика для достижения того, чего вы хотите.

Если вы используете PHP, вы можете взглянуть на suexec, suphp или php-fpm и fastcgi.

Вы правы в своей проблеме, это проблема разрешения в том, что ваши файлы Webroot принадлежат другому пользователю, чем www-data.

Здесь это не очень плохое решение для решения вашей проблемы. suexec

Измените папку Webroot и вложенные папки Webroot, чтобы для группы было установлено значение www-data и установите правильные разрешения:

# set the group ownership to be www-data
chgrp -R www-data /path/to/home/Webroot/
# make sure www-data has read & write permissions (change it to `g=r` if you want to only give read-only access)
chmod -vR g=rw /path/to/home/Webroot/
# make sure www-data can access the folders by adding the group execute bit field to directories
find /path/to/home/Webroot/ -type d -print0 | xargs -0p chmod -v g+x
[d11 ] Изменить: обратите внимание, что вам обязательно понадобится снова запустить эти команды, если вы добавите файлы / папки с помощью вашей обычной учетной записи пользователя.

6
ответ дан 26 May 2018 в 00:18

Я делал почти то же самое с Debian Lenny, но я перешел на не-hax-режим, я настроил apache правильно. Но с symlink:

$ ll /home
drwxr-xr-x  8 root   root   4,0K nov 14 14.59 .
drwxrwxrwx  7 root   root   4,0K nov 14 21.24 www -> /var/www

Я думаю, вы должны проверить разрешающую способность ~ и ~ / Webroot, я думаю, что ваш dir (~) защищен от чтения, я имею в виду, что вы должны запустить это:

$ ls -la /home

Чтобы установить правильные permissinons, используйте:

# chmod 755 /home
# chmod 755 /home/<YOURNAME>
# chown <YOURNAME>:www-data -R /home/<YOURNAME>/Webroot
# chmod 775 -R /home/<YOURNAME>/Webroot

Я думаю, это должно помочь, но дайте мне больше информации об этом. Я предлагаю вам, чтобы выйти из Webroot из своего каталога, например. на ~ , как и я, потому что это может быть проблема безопасности.

нравится мне

1
ответ дан 26 May 2018 в 00:18

Вы должны проверить разрешения не только о своем пункте назначения, но и его родителях.

0
ответ дан 26 May 2018 в 00:18
  • 1
    Зачем? Является ли это ограничение Apache или ограничение файловой системы? – Flimm 22 November 2012 в 21:25
  • 2
    Сожалею. Я не проверял информацию, она основана только на личном опыте. – zVictor 22 November 2012 в 22:06

Я столкнулся с этой проблемой. Но мне не понравилась идея сменить группу моего домашнего каталога на www-data. Эту проблему можно просто решить, изменив файл конфигурации для virtualHost. Просто настройте тег Directory, чтобы включить эти

<Directory "your directory here">
   Order allow,deny
   Allow from all
   Require all granted
</Directory>

Require all granted - новая функция, которую я предполагаю; имеющий значение по умолчанию denied.

См. эту страницу для справки: http://httpd.apache.org/docs/current/mod/core.html#directory

0
ответ дан 26 May 2018 в 00:18

Я делал почти то же самое с Debian Lenny, но я перешел на не-hax-режим, я настроил apache правильно. Но с symlink:

$ ll /home drwxr-xr-x 8 root root 4,0K nov 14 14.59 . drwxrwxrwx 7 root root 4,0K nov 14 21.24 www -> /var/www

Я думаю, вы должны проверить разрешающую способность ~ и ~ / Webroot, я думаю, что ваш dir (~) защищен от чтения, я имею в виду, что вы должны запустить это:

$ ls -la /home

Чтобы установить правильные permissinons, используйте:

# chmod 755 /home # chmod 755 /home/<YOURNAME> # chown <YOURNAME>:www-data -R /home/<YOURNAME>/Webroot # chmod 775 -R /home/<YOURNAME>/Webroot

Я думаю, это должно помочь, но дайте мне больше информации об этом. Я предлагаю вам, чтобы выйти из Webroot из своего каталога, например. на ~ , как и я, потому что это может быть проблема безопасности.

нравится мне

1
ответ дан 25 July 2018 в 22:51

Я столкнулся с этой проблемой. Но мне не понравилась идея сменить группу моего домашнего каталога на www-data. Эту проблему можно просто решить, изменив файл конфигурации для virtualHost. Просто настройте тег Directory, чтобы включить эти

<Directory "your directory here"> Order allow,deny Allow from all Require all granted </Directory>

Require all granted - новая функция, которую я предполагаю; имеющий значение по умолчанию denied.

См. эту страницу для справки: http://httpd.apache.org/docs/current/mod/core.html#directory

0
ответ дан 25 July 2018 в 22:51

Это не очень хорошая практика для достижения того, чего вы хотите.

Если вы используете PHP, вы можете взглянуть на suexec, suphp или php-fpm и fastcgi.

Вы правы в своей проблеме, это проблема разрешения в том, что ваши файлы Webroot принадлежат другому пользователю, чем www-data.

Здесь это не очень плохое решение для решения вашей проблемы. suexec

Измените папку Webroot и вложенные папки Webroot, чтобы для группы было установлено значение www-data и установите правильные разрешения:

# set the group ownership to be www-data chgrp -R www-data /path/to/home/Webroot/ # make sure www-data has read & write permissions (change it to `g=r` if you want to only give read-only access) chmod -vR g=rw /path/to/home/Webroot/ # make sure www-data can access the folders by adding the group execute bit field to directories find /path/to/home/Webroot/ -type d -print0 | xargs -0p chmod -v g+x

Изменить: обратите внимание, что вам обязательно понадобится снова запустить эти команды, если вы добавите файлы / папки с помощью вашей обычной учетной записи пользователя.

6
ответ дан 25 July 2018 в 22:51

Вы должны проверить разрешения не только о своем пункте назначения, но и его родителях.

0
ответ дан 25 July 2018 в 22:51
  • 1
    Зачем? Является ли это ограничение Apache или ограничение файловой системы? – Flimm 22 November 2012 в 21:25
  • 2
    Сожалею. Я не проверял информацию, она основана только на личном опыте. – zVictor 22 November 2012 в 22:06

Я делал почти то же самое с Debian Lenny, но я перешел на не-hax-режим, я настроил apache правильно. Но с symlink:

$ ll /home drwxr-xr-x 8 root root 4,0K nov 14 14.59 . drwxrwxrwx 7 root root 4,0K nov 14 21.24 www -> /var/www

Я думаю, вы должны проверить разрешающую способность ~ и ~ / Webroot, я думаю, что ваш dir (~) защищен от чтения, я имею в виду, что вы должны запустить это:

$ ls -la /home

Чтобы установить правильные permissinons, используйте:

# chmod 755 /home # chmod 755 /home/<YOURNAME> # chown <YOURNAME>:www-data -R /home/<YOURNAME>/Webroot # chmod 775 -R /home/<YOURNAME>/Webroot

Я думаю, это должно помочь, но дайте мне больше информации об этом. Я предлагаю вам, чтобы выйти из Webroot из своего каталога, например. на ~ , как и я, потому что это может быть проблема безопасности.

нравится мне

1
ответ дан 27 July 2018 в 00:55

Я столкнулся с этой проблемой. Но мне не понравилась идея сменить группу моего домашнего каталога на www-data. Эту проблему можно просто решить, изменив файл конфигурации для virtualHost. Просто настройте тег Directory, чтобы включить эти

<Directory "your directory here"> Order allow,deny Allow from all Require all granted </Directory>

Require all granted - новая функция, которую я предполагаю; имеющий значение по умолчанию denied.

См. эту страницу для справки: http://httpd.apache.org/docs/current/mod/core.html#directory

0
ответ дан 27 July 2018 в 00:55

Это не очень хорошая практика для достижения того, чего вы хотите.

Если вы используете PHP, вы можете взглянуть на suexec, suphp или php-fpm и fastcgi.

Вы правы в своей проблеме, это проблема разрешения в том, что ваши файлы Webroot принадлежат другому пользователю, чем www-data.

Здесь это не очень плохое решение для решения вашей проблемы. suexec

Измените папку Webroot и вложенные папки Webroot, чтобы для группы было установлено значение www-data и установите правильные разрешения:

# set the group ownership to be www-data chgrp -R www-data /path/to/home/Webroot/ # make sure www-data has read & write permissions (change it to `g=r` if you want to only give read-only access) chmod -vR g=rw /path/to/home/Webroot/ # make sure www-data can access the folders by adding the group execute bit field to directories find /path/to/home/Webroot/ -type d -print0 | xargs -0p chmod -v g+x

Изменить: обратите внимание, что вам обязательно понадобится снова запустить эти команды, если вы добавите файлы / папки с помощью вашей обычной учетной записи пользователя.

6
ответ дан 27 July 2018 в 00:55

Вы должны проверить разрешения не только о своем пункте назначения, но и его родителях.

0
ответ дан 27 July 2018 в 00:55
  • 1
    Зачем? Является ли это ограничение Apache или ограничение файловой системы? – Flimm 22 November 2012 в 21:25
  • 2
    Сожалею. Я не проверял информацию, она основана только на личном опыте. – zVictor 22 November 2012 в 22:06

Я делал почти то же самое с Debian Lenny, но я перешел на не-hax-режим, я настроил apache правильно. Но с symlink:

$ ll /home drwxr-xr-x 8 root root 4,0K nov 14 14.59 . drwxrwxrwx 7 root root 4,0K nov 14 21.24 www -> /var/www

Я думаю, вы должны проверить разрешающую способность ~ и ~ / Webroot, я думаю, что ваш dir (~) защищен от чтения, я имею в виду, что вы должны запустить это:

$ ls -la /home

Чтобы установить правильные permissinons, используйте:

# chmod 755 /home # chmod 755 /home/<YOURNAME> # chown <YOURNAME>:www-data -R /home/<YOURNAME>/Webroot # chmod 775 -R /home/<YOURNAME>/Webroot

Я думаю, это должно помочь, но дайте мне больше информации об этом. Я предлагаю вам, чтобы выйти из Webroot из своего каталога, например. на ~ , как и я, потому что это может быть проблема безопасности.

нравится мне

1
ответ дан 31 July 2018 в 10:41

Я столкнулся с этой проблемой. Но мне не понравилась идея сменить группу моего домашнего каталога на www-data. Эту проблему можно просто решить, изменив файл конфигурации для virtualHost. Просто настройте тег Directory, чтобы включить эти

<Directory "your directory here"> Order allow,deny Allow from all Require all granted </Directory>

Require all granted - новая функция, которую я предполагаю; имеющий значение по умолчанию denied.

См. эту страницу для справки: http://httpd.apache.org/docs/current/mod/core.html#directory

0
ответ дан 31 July 2018 в 10:41

Это не очень хорошая практика для достижения того, чего вы хотите.

Если вы используете PHP, вы можете взглянуть на suexec, suphp или php-fpm и fastcgi.

Вы правы в своей проблеме, это проблема разрешения в том, что ваши файлы Webroot принадлежат другому пользователю, чем www-data.

Здесь это не очень плохое решение для решения вашей проблемы. suexec

Измените папку Webroot и вложенные папки Webroot, чтобы для группы было установлено значение www-data и установите правильные разрешения:

# set the group ownership to be www-data chgrp -R www-data /path/to/home/Webroot/ # make sure www-data has read & write permissions (change it to `g=r` if you want to only give read-only access) chmod -vR g=rw /path/to/home/Webroot/ # make sure www-data can access the folders by adding the group execute bit field to directories find /path/to/home/Webroot/ -type d -print0 | xargs -0p chmod -v g+x

Изменить: обратите внимание, что вам обязательно понадобится снова запустить эти команды, если вы добавите файлы / папки с помощью вашей обычной учетной записи пользователя.

6
ответ дан 31 July 2018 в 10:41

Вы должны проверить разрешения не только о своем пункте назначения, но и его родителях.

0
ответ дан 31 July 2018 в 10:41
  • 1
    Зачем? Является ли это ограничение Apache или ограничение файловой системы? – Flimm 22 November 2012 в 21:25
  • 2
    Сожалею. Я не проверял информацию, она основана только на личном опыте. – zVictor 22 November 2012 в 22:06

Я делал почти то же самое с Debian Lenny, но я перешел на не-hax-режим, я настроил apache правильно. Но с symlink:

$ ll /home drwxr-xr-x 8 root root 4,0K nov 14 14.59 . drwxrwxrwx 7 root root 4,0K nov 14 21.24 www -> /var/www

Я думаю, вы должны проверить разрешающую способность ~ и ~ / Webroot, я думаю, что ваш dir (~) защищен от чтения, я имею в виду, что вы должны запустить это:

$ ls -la /home

Чтобы установить правильные permissinons, используйте:

# chmod 755 /home # chmod 755 /home/<YOURNAME> # chown <YOURNAME>:www-data -R /home/<YOURNAME>/Webroot # chmod 775 -R /home/<YOURNAME>/Webroot

Я думаю, это должно помочь, но дайте мне больше информации об этом. Я предлагаю вам, чтобы выйти из Webroot из своего каталога, например. на ~ , как и я, потому что это может быть проблема безопасности.

нравится мне

1
ответ дан 31 July 2018 в 11:46

Я столкнулся с этой проблемой. Но мне не понравилась идея сменить группу моего домашнего каталога на www-data. Эту проблему можно просто решить, изменив файл конфигурации для virtualHost. Просто настройте тег Directory, чтобы включить эти

<Directory "your directory here"> Order allow,deny Allow from all Require all granted </Directory>

Require all granted - новая функция, которую я предполагаю; имеющий значение по умолчанию denied.

См. эту страницу для справки: http://httpd.apache.org/docs/current/mod/core.html#directory

0
ответ дан 31 July 2018 в 11:46

Это не очень хорошая практика для достижения того, чего вы хотите.

Если вы используете PHP, вы можете взглянуть на suexec, suphp или php-fpm и fastcgi.

Вы правы в своей проблеме, это проблема разрешения в том, что ваши файлы Webroot принадлежат другому пользователю, чем www-data.

Здесь это не очень плохое решение для решения вашей проблемы. suexec

Измените папку Webroot и вложенные папки Webroot, чтобы для группы было установлено значение www-data и установите правильные разрешения:

# set the group ownership to be www-data chgrp -R www-data /path/to/home/Webroot/ # make sure www-data has read & write permissions (change it to `g=r` if you want to only give read-only access) chmod -vR g=rw /path/to/home/Webroot/ # make sure www-data can access the folders by adding the group execute bit field to directories find /path/to/home/Webroot/ -type d -print0 | xargs -0p chmod -v g+x

Изменить: обратите внимание, что вам обязательно понадобится снова запустить эти команды, если вы добавите файлы / папки с помощью вашей обычной учетной записи пользователя.

6
ответ дан 31 July 2018 в 11:46

Другие вопросы по тегам:

Похожие вопросы: