Я знаю, что до сих пор были разрешены права доступа к файлам, но я пытаюсь разобраться с концепцией моего сценария.
Я создал файлы на старой установке ubuntu. Ive скопировал файлы в мою новую установку ubuntu и поместил их в мой webroot. Когда я пытаюсь запустить файлы (theyre PHP-файлы), я получаю ошибку, связанную с разрешениями, пытаясь исправить это, я предположил, что они все еще должны принадлежать предыдущему владельцу, поэтому я запустил chown -R в каталоге, с моим именем пользователя в качестве аргумента, чтобы взять на себя все файлы в каталоге. Следует отметить, что имена пользователей между новыми и старыми установками ubuntu были одинаковыми.
Когда я пытаюсь снова запустить файлы, такая же проблема: ошибка 500 из-за проблем с разрешениями. Может ли кто-нибудь сказать мне, какие еще шаги я должен предпринять?
Веб-сайт для моей установки apache находится внутри моей домашней папки. Если я создаю новые файлы в своем веб-корте, они также работают так, как ожидалось, только старые файлы, которые вызывают проблему.
Каталоги над вашим веб-каналом должны иметь бит выполнения, чтобы разрешить Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в /home/user/htdocs, /, /home, [ f4] и /home/user/htdocs должны иметь бит выполнения.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK (информация о настройке) и настроить конфигурацию, чтобы Apache работал под вашим пользователем.
Каталоги над вашим веб-каналом должны иметь бит выполнения, чтобы разрешить Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в /home/user/htdocs, /, /home, /home/user и /home/user/htdocs должны иметь бит выполнения.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK (информация о настройке) и настроить конфигурацию, чтобы Apache работал под вашим пользователем.
Каталоги над вашим веб-каналом должны иметь бит выполнения, чтобы разрешить Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в /home/user/htdocs, /, /home, /home/user и /home/user/htdocs должны иметь бит выполнения.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK (информация о настройке) и настроить конфигурацию, чтобы Apache работал под вашим пользователем.
Каталоги над вашим веб-каналом должны иметь бит выполнения, чтобы разрешить Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в /home/user/htdocs, /, /home, /home/user и /home/user/htdocs должны иметь бит выполнения.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK (информация о настройке) и настроить конфигурацию, чтобы Apache работал под вашим пользователем.
Каталоги над вашим веб-каналом должны иметь бит выполнения, чтобы разрешить Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в /home/user/htdocs, /, /home, /home/user и /home/user/htdocs должны иметь бит выполнения.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK (информация о настройке) и настроить конфигурацию, чтобы Apache работал под вашим пользователем.
В каталогах выше вашего веб-сайта должен быть установлен бит выполнения, позволяющий Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в / home / user / htdocs
, /
, / home
, / home / user
и / home / user / htdocs
должны иметь бит выполнения set.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK ( информация о настройке ) и настроить конфигурацию так, чтобы выполнялся Apache под вашим пользователем.
В каталогах выше вашего веб-сайта должен быть установлен бит выполнения, позволяющий Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в / home / user / htdocs
, /
, / home
, / home / user
и / home / user / htdocs
должны иметь бит выполнения set.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK ( информация о настройке ) и настроить конфигурацию так, чтобы выполнялся Apache под вашим пользователем.
В каталогах выше вашего веб-сайта должен быть установлен бит выполнения, позволяющий Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в / home / user / htdocs
, /
, / home
, / home / user
и / home / user / htdocs
должны иметь бит выполнения set.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK ( информация о настройке ) и настроить конфигурацию так, чтобы выполнялся Apache под вашим пользователем.
В каталогах выше вашего веб-сайта должен быть установлен бит выполнения, позволяющий Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в / home / user / htdocs
, /
, / home
, / home / user
и / home / user / htdocs
должны иметь бит выполнения set.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK ( информация о настройке ) и настроить конфигурацию так, чтобы выполнялся Apache под вашим пользователем.
В каталогах выше вашего веб-сайта должен быть установлен бит выполнения, позволяющий Apache спускаться в каталоги.
Если у вас есть веб-сайт, расположенный в / home / user / htdocs
, /
, / home
, / home / user
и / home / user / htdocs
должны иметь бит выполнения set.
Вышеупомянутое решение «работает», но оно не идеально. Если вы создали папку, Apache не может ее записать. Обратное также происходит.
Это может быть «исправлено», установив umask 0007 и добавив себя в группу Apache (www-data, если я не ошибаюсь), так что вновь созданные файлы и папки могут быть записаны группой
В качестве альтернативы вы можете установить альтернативный Apache MPM: Apache2 MPM ITK ( информация о настройке ) и настроить конфигурацию так, чтобы выполнялся Apache под вашим пользователем.
Если ваши документы на сервере находятся в каталоге /home/$USER/public_html, вам нужно запустить
sudo chown -R www-data:www-data /home/$USER/public_html
, чтобы передать права собственности на папку DocumentRoot пользователю www-data и группе www-data.
Затем вы можете добавить себя в группу www-data
sudo adduser $USER www-data
Наконец, вам нужно сделать папку DocumentRoot доступной для записи владельцем (пользователем www-data) и вашим (как часть www-data):
sudo chmod -R 775 /home/$USER/public_html
Для удобства вы можете создать скрипт с именем public_html_fix.sh с контентом:
#!/bin/bash
sudo adduser $USER www-data
sudo chown -R www-data:www-data /home/$USER/public_html
sudo chmod -R 775 /home/$USER/public_html
Сохранить его внутри /home/$USER/bin и сделать его исполняемым используя:
sudo chmod +x /home/$USER/bin/public_html_fix.sh
Затем вы вызываете его, когда вам нужно, откуда бы вы ни находились в файловой системе:
public_html_fix.sh
Помимо файлов chmoding и редактирования файлов apache .conf, я хочу сказать, что ничего не работало для меня, потому что мои файлы были на разделе, который я смонтировал автоматически через nautilus. Это ограничивает раздел только для вашего пользователя.
Чтобы проверить, видимы ли ваши файлы с помощью www-root или любого другого пользователя, запускающего apache (запустите ps -aux | grep apache2 для проверки), выполните следующую команду:
sudo su -l www-data -s /bin/bash
и попытайтесь прочитать файл из вашего корня документа.
Если файл не читается, проверьте, что:
1) вы установили все другие разрешения на доступ к файлам [ ! d4]
2) вы использовали FollowSymlinks в ваших .conf файлах, если это необходимо
3) вы установили DocumentRoot
3) смонтируйте свой раздел для всех пользователи. Мне пришлось отредактировать /etc/fstab и указать мой раздел с помощью UUID:
UUID=afdee1d3-5bb8-4652-892f-e83a9b5ff72e /mnt/4tb ext4 rw,nosuid,nodev,errors=remount-ro
Затем размонтируйте свой раздел с помощью nautilus и сделайте sudo mount -a. Если все пойдет хорошо, ваши файлы теперь находятся под /mnt. Обновите свои символические ссылки, и вам будет хорошо.
Лучшим способом, который я нашел для этого, является то, как это делает VirtualMin.
создать пользователя и группу «myhome»
Сделать apache пользователем членом группы " мой дом". Не так, как некоторые из объяснений здесь описывают
Итак, теперь apache прочитал и выполнил доступ к / home / myhome в дополнение к / home / myhome / www
"myhome «пользователь имеет доступ на запись
Помимо файлов chmoding и редактирования файлов apache .conf, я хочу сказать, что ничего не работало для меня, потому что мои файлы были на разделе, который я смонтировал автоматически через nautilus. Это ограничивает раздел только для вашего пользователя.
Чтобы проверить, видимы ли ваши файлы с помощью www-root или любого другого пользователя, запускающего apache (запустите ps -aux | grep apache2 для проверки), выполните следующую команду:
sudo su -l www-data -s /bin/bash
и попытайтесь прочитать файл из вашего корня документа.
Если файл не читается, проверьте, что:
1) вы установили все другие разрешения на доступ к файлам [ ! d4]
2) вы использовали FollowSymlinks в ваших .conf файлах, если это необходимо
3) вы установили DocumentRoot
3) смонтируйте свой раздел для всех пользователи. Мне пришлось отредактировать /etc/fstab и указать мой раздел с помощью UUID:
UUID=afdee1d3-5bb8-4652-892f-e83a9b5ff72e /mnt/4tb ext4 rw,nosuid,nodev,errors=remount-ro
Затем размонтируйте свой раздел с помощью nautilus и сделайте sudo mount -a. Если все пойдет хорошо, ваши файлы теперь находятся под /mnt. Обновите свои символические ссылки, и вам будет хорошо.
Лучшим способом, который я нашел для этого, является то, как это делает VirtualMin.
создать пользователя и группу «myhome»
Сделать apache пользователем членом группы " мой дом". Не так, как некоторые из объяснений здесь описывают
Итак, теперь apache прочитал и выполнил доступ к / home / myhome в дополнение к / home / myhome / www
"myhome «пользователь имеет доступ на запись
Если ваши документы на сервере находятся в каталоге /home/$USER/public_html, вам нужно запустить
sudo chown -R www-data:www-data /home/$USER/public_html
, чтобы передать права собственности на папку DocumentRoot пользователю www-data и группе www-data.
Затем вы можете добавить себя в группу www-data
sudo adduser $USER www-data
Наконец, вам нужно сделать папку DocumentRoot доступной для записи владельцем (пользователем www-data) и вашим (как часть www-data):
sudo chmod -R 775 /home/$USER/public_html
Для удобства вы можете создать скрипт с именем public_html_fix.sh с контентом:
#!/bin/bash
sudo adduser $USER www-data
sudo chown -R www-data:www-data /home/$USER/public_html
sudo chmod -R 775 /home/$USER/public_html
Сохранить его внутри /home/$USER/bin и сделать его исполняемым используя:
sudo chmod +x /home/$USER/bin/public_html_fix.sh
Затем вы вызываете его, когда вам нужно, откуда бы вы ни находились в файловой системе:
public_html_fix.sh
Помимо файлов chmoding и редактирования файлов apache .conf, я хочу сказать, что ничего не работало для меня, потому что мои файлы были на разделе, который я смонтировал автоматически через nautilus. Это ограничивает раздел только для вашего пользователя.
Чтобы проверить, видимы ли ваши файлы с помощью www-root или любого другого пользователя, запускающего apache (запустите ps -aux | grep apache2 для проверки), выполните следующую команду:
sudo su -l www-data -s /bin/bash
и попытайтесь прочитать файл из вашего корня документа.
Если файл не читается, проверьте, что:
1) вы установили все другие разрешения на доступ к файлам [ ! d4]
2) вы использовали FollowSymlinks в ваших .conf файлах, если это необходимо
3) вы установили DocumentRoot
3) смонтируйте свой раздел для всех пользователи. Мне пришлось отредактировать /etc/fstab и указать мой раздел с помощью UUID:
UUID=afdee1d3-5bb8-4652-892f-e83a9b5ff72e /mnt/4tb ext4 rw,nosuid,nodev,errors=remount-ro
Затем размонтируйте свой раздел с помощью nautilus и сделайте sudo mount -a. Если все пойдет хорошо, ваши файлы теперь находятся под /mnt. Обновите свои символические ссылки, и вам будет хорошо.
Лучшим способом, который я нашел для этого, является то, как это делает VirtualMin.
создать пользователя и группу «myhome»
Сделать apache пользователем членом группы " мой дом". Не так, как некоторые из объяснений здесь описывают
Итак, теперь apache прочитал и выполнил доступ к / home / myhome в дополнение к / home / myhome / www
"myhome «пользователь имеет доступ на запись
Если ваши документы на сервере находятся в каталоге /home/$USER/public_html, вам нужно запустить
sudo chown -R www-data:www-data /home/$USER/public_html
, чтобы передать права собственности на папку DocumentRoot пользователю www-data и группе www-data.
Затем вы можете добавить себя в группу www-data
sudo adduser $USER www-data
Наконец, вам нужно сделать папку DocumentRoot доступной для записи владельцем (пользователем www-data) и вашим (как часть www-data):
sudo chmod -R 775 /home/$USER/public_html
Для удобства вы можете создать скрипт с именем public_html_fix.sh с контентом:
#!/bin/bash
sudo adduser $USER www-data
sudo chown -R www-data:www-data /home/$USER/public_html
sudo chmod -R 775 /home/$USER/public_html
Сохранить его внутри /home/$USER/bin и сделать его исполняемым используя:
sudo chmod +x /home/$USER/bin/public_html_fix.sh
Затем вы вызываете его, когда вам нужно, откуда бы вы ни находились в файловой системе:
public_html_fix.sh
Помимо файлов chmoding и редактирования файлов apache .conf, я хочу сказать, что ничего не работало для меня, потому что мои файлы были на разделе, который я смонтировал автоматически через nautilus. Это ограничивает раздел только для вашего пользователя.
Чтобы проверить, видимы ли ваши файлы с помощью www-root или любого другого пользователя, запускающего apache (запустите ps -aux | grep apache2 для проверки), выполните следующую команду:
sudo su -l www-data -s /bin/bash
и попытайтесь прочитать файл из вашего корня документа.
Если файл не читается, проверьте, что:
1) вы установили все другие разрешения на доступ к файлам [ ! d4]
2) вы использовали FollowSymlinks в ваших .conf файлах, если это необходимо
3) вы установили DocumentRoot
3) смонтируйте свой раздел для всех пользователи. Мне пришлось отредактировать /etc/fstab и указать мой раздел с помощью UUID:
UUID=afdee1d3-5bb8-4652-892f-e83a9b5ff72e /mnt/4tb ext4 rw,nosuid,nodev,errors=remount-ro
Затем размонтируйте свой раздел с помощью nautilus и сделайте sudo mount -a. Если все пойдет хорошо, ваши файлы теперь находятся под /mnt. Обновите свои символические ссылки, и вам будет хорошо.
Лучшим способом, который я нашел для этого, является то, как это делает VirtualMin.
создать пользователя и группу «myhome»
Сделать apache пользователем членом группы " мой дом". Не так, как некоторые из объяснений здесь описывают
Итак, теперь apache прочитал и выполнил доступ к / home / myhome в дополнение к / home / myhome / www
"myhome «пользователь имеет доступ на запись
Если ваши документы на сервере находятся в каталоге /home/$USER/public_html, вам нужно запустить
sudo chown -R www-data:www-data /home/$USER/public_html
, чтобы передать права собственности на папку DocumentRoot пользователю www-data и группе www-data.
Затем вы можете добавить себя в группу www-data
sudo adduser $USER www-data
Наконец, вам нужно сделать папку DocumentRoot доступной для записи владельцем (пользователем www-data) и вашим (как часть www-data):
sudo chmod -R 775 /home/$USER/public_html
Для удобства вы можете создать скрипт с именем public_html_fix.sh с контентом:
#!/bin/bash
sudo adduser $USER www-data
sudo chown -R www-data:www-data /home/$USER/public_html
sudo chmod -R 775 /home/$USER/public_html
Сохранить его внутри /home/$USER/bin и сделать его исполняемым используя:
sudo chmod +x /home/$USER/bin/public_html_fix.sh
Затем вы вызываете его, когда вам нужно, откуда бы вы ни находились в файловой системе:
public_html_fix.sh
Помимо файлов chmoding и редактирования файлов apache .conf, я хочу сказать, что ничего не работало для меня, потому что мои файлы были на разделе, который я смонтировал автоматически через nautilus. Это ограничивает раздел только для вашего пользователя.
Чтобы проверить, видимы ли ваши файлы с помощью www-root или любого другого пользователя, запускающего apache (запустите ps -aux | grep apache2 для проверки), выполните следующую команду:
sudo su -l www-data -s /bin/bash
и попытайтесь прочитать файл из вашего корня документа.
Если файл не читается, проверьте, что:
1) вы установили все другие разрешения на доступ к файлам [ ! d4]
2) вы использовали FollowSymlinks в ваших .conf файлах, если это необходимо
3) вы установили DocumentRoot
3) смонтируйте свой раздел для всех пользователи. Мне пришлось отредактировать /etc/fstab и указать мой раздел с помощью UUID:
UUID=afdee1d3-5bb8-4652-892f-e83a9b5ff72e /mnt/4tb ext4 rw,nosuid,nodev,errors=remount-ro
Затем размонтируйте свой раздел с помощью nautilus и сделайте sudo mount -a. Если все пойдет хорошо, ваши файлы теперь находятся под /mnt. Обновите свои символические ссылки, и вам будет хорошо.
Лучшим способом, который я нашел для этого, является то, как это делает VirtualMin.
создать пользователя и группу «myhome»
Сделать apache пользователем членом группы " мой дом". Не так, как некоторые из объяснений здесь описывают
Итак, теперь apache прочитал и выполнил доступ к / home / myhome в дополнение к / home / myhome / www
"myhome «пользователь имеет доступ на запись
Если ваши документы на сервере находятся в каталоге /home/$USER/public_html, вам нужно запустить
sudo chown -R www-data:www-data /home/$USER/public_html
, чтобы передать права собственности на папку DocumentRoot пользователю www-data и группе www-data.
Затем вы можете добавить себя в группу www-data
sudo adduser $USER www-data
Наконец, вам нужно сделать папку DocumentRoot доступной для записи владельцем (пользователем www-data) и вашим (как часть www-data):
sudo chmod -R 775 /home/$USER/public_html
Для удобства вы можете создать скрипт с именем public_html_fix.sh с контентом:
#!/bin/bash
sudo adduser $USER www-data
sudo chown -R www-data:www-data /home/$USER/public_html
sudo chmod -R 775 /home/$USER/public_html
Сохранить его внутри /home/$USER/bin и сделать его исполняемым используя:
sudo chmod +x /home/$USER/bin/public_html_fix.sh
Затем вы вызываете его, когда вам нужно, откуда бы вы ни находились в файловой системе:
public_html_fix.sh
Если ваши серверные документы находятся в каталоге / home / $ USER / public_html
, вам необходимо запустить
sudo chown -R www-data: www-data / home / $ USER / public_html
, чтобы передать владение папкой DocumentRoot пользователю www-data
и группе www-data
.
Затем вы можете добавить себя в группу www-data
sudo adduser $ USER www-data
Наконец, вам необходимо сделать папку DocumentRoot доступной для записи владельцем (пользователем www-data) и вашим (как часть группы www-data
):
sudo chmod -R 775 / home / $ USER / public_html
Для удобства вы можете создать скрипт с именем public_html_fix.sh
с контентом:
#! / bin / bash sudo adduser $ USER www-data sudo chown -R www-data: www-data / home / $ USER / public_html sudo chmod -R 775 / home / $ USER / public_html [ ! d9]
Сохраните его внутри / home / $ USER / bin
и сделайте его выполнимым, используя:
sudo chmod + x / home / $ USER /bin/public_html_fix.sh
Затем вы вызываете его всякий раз, когда вам нужно, откуда бы вы ни находились в файловой системе:
public_html_fix .sh
Лучшим способом, который я нашел для этого, является то, как это делает VirtualMin.
создать пользователя и группу «myhome»
Сделать apache пользователем членом группы " мой дом". Не так, как некоторые из объяснений здесь описывают
Итак, теперь apache прочитал и выполнил доступ к / home / myhome в дополнение к / home / myhome / www
"myhome «пользователь имеет доступ на запись
Помимо файлов chmoding и редактирования файлов apache .conf, я хочу сказать, что для меня ничего не работало, потому что мои файлы были на разделе, который я смонтировал автоматически через nautilus. Это ограничивает раздел только для вашего пользователя.
Чтобы проверить, видимы ли ваши файлы с помощью www-root
или любого другого пользователя, запускающего apache (run ps -aux | grep apache2
для проверки), запустите следующую команду:
sudo su -l www-data -s / bin / bash
и попробуйте прочитайте файл из вашего корня документа.
Если файл не читается, проверьте, что:
1) вы установили все другие разрешения на файл
2) вы использовали FollowSymlinks
в ваших .conf
файлах, если это необходимо
3) вы установили DocumentRoot
3) смонтируйте свой раздел для всех пользователей. Мне пришлось отредактировать / etc / fstab
и указать мой раздел через UUID:
UUID = afdee1d3-5bb8-4652-892f-e83a9b5ff72e / mnt / 4tb ext4 rw , nosuid, nodev, errors = remount-ro
Затем размонтируйте свой раздел с помощью nautilus и выполните sudo mount -a
. Если все идет хорошо, ваши файлы теперь находятся под / mnt
. Обновите свои символические ссылки, и вам будет хорошо.
Если ваши серверные документы находятся в каталоге / home / $ USER / public_html
, вам необходимо запустить
sudo chown -R www-data: www-data / home / $ USER / public_html
, чтобы передать владение папкой DocumentRoot пользователю www-data
и группе www-data
.
Затем вы можете добавить себя в группу www-data
sudo adduser $ USER www-data
Наконец, вам необходимо сделать папку DocumentRoot доступной для записи владельцем (пользователем www-data) и вашим (как часть группы www-data
):
sudo chmod -R 775 / home / $ USER / public_html
Для удобства вы можете создать скрипт с именем public_html_fix.sh
с контентом:
#! / bin / bash sudo adduser $ USER www-data sudo chown -R www-data: www-data / home / $ USER / public_html sudo chmod -R 775 / home / $ USER / public_html [ ! d9]
Сохраните его внутри / home / $ USER / bin
и сделайте его выполнимым, используя:
sudo chmod + x / home / $ USER /bin/public_html_fix.sh
Затем вы вызываете его всякий раз, когда вам нужно, откуда бы вы ни находились в файловой системе:
public_html_fix .sh
Лучшим способом, который я нашел для этого, является то, как это делает VirtualMin.
создать пользователя и группу «myhome»
Сделать apache пользователем членом группы " мой дом". Не так, как некоторые из объяснений здесь описывают
Итак, теперь apache прочитал и выполнил доступ к / home / myhome в дополнение к / home / myhome / www
"myhome «пользователь имеет доступ на запись