Я создаю сайт, который я собираюсь разместить на сервере Ubuntu. У меня есть пользовательская форма регистрации на моем сайте, которая создает пользователя и папку для этого пользователя (если они правильно заполнены). Форма, обрабатываемая PHP, и я запускаю Apache 2 на сервере. Когда я запускаю код на своем ноутбуке, папка создается, но когда я запускаю тот же код на сервере, папки там нет. Я предполагаю, что это имеет какое-то отношение к разрешению. Как я могу сказать apache, что код должен иметь разрешение на запись в определенной папке с именем «пользователи», расположенной в/var/www/mysite/public/users/???Разрешить создание папки на apache2 в сервере Ubuntu
0
A
ответ
1
Попробуйте использовать команду chmod, которая предоставляет разрешение на папку. Что-то вроде
chmod 777 -R foldername
0
Если безопасность не является проблемой, которую я хотел бы предложить:
chmod 775 -R /var/www/
chown -R [your_user]:www-data /var/www/
Так что и apache2 (WWW-данных), и вы можете редактировать папки и файлы внутри/вар/WWW (или/вар/www/html, если это ваша папка).
Обратите внимание, что это может иметь проблемы с git и другими инструментами, которые захватывают права доступа к папке (например, с git вы можете фиксировать файлы с 775).
Запустить «chmod 777/var/www/mysite/public/users /» в оболочке? –
Пользователь и группа apache на сервере ubuntu являются 'www-data', в командах запуска' public': 'chmod -R ugo-rwx, ugo + rwX *' и 'chown -R [your_user] .www-data *' , '777' не рекомендуется. – mkjasinski
Что именно делает код выше? Если я не должен давать все разрешения, то как мне заставить PHP создавать папку и файлы внутри нее? – Zahrec