2013-04-22 2 views
0

Я создаю сайт, который я собираюсь разместить на сервере Ubuntu. У меня есть пользовательская форма регистрации на моем сайте, которая создает пользователя и папку для этого пользователя (если они правильно заполнены). Форма, обрабатываемая PHP, и я запускаю Apache 2 на сервере. Когда я запускаю код на своем ноутбуке, папка создается, но когда я запускаю тот же код на сервере, папки там нет. Я предполагаю, что это имеет какое-то отношение к разрешению. Как я могу сказать apache, что код должен иметь разрешение на запись в определенной папке с именем «пользователи», расположенной в/var/www/mysite/public/users/???Разрешить создание папки на apache2 в сервере Ubuntu

+0

Запустить «chmod 777/var/www/mysite/public/users /» в оболочке? –

+3

Пользователь и группа apache на сервере ubuntu являются 'www-data', в командах запуска' public': 'chmod -R ugo-rwx, ugo + rwX *' и 'chown -R [your_user] .www-data *' , '777' не рекомендуется. – mkjasinski

+0

Что именно делает код выше? Если я не должен давать все разрешения, то как мне заставить PHP создавать папку и файлы внутри нее? – Zahrec

ответ

1

Попробуйте использовать команду chmod, которая предоставляет разрешение на папку. Что-то вроде

chmod 777 -R foldername 
+0

У меня есть режим и право собственности на файл. Когда я делаю ls-l, я получаю следующее: «drwxrwx - T [myName] www-data». Этого я хочу? – Zahrec

+0

Да Попробуйте сейчас, что вы получаете? –

+0

Это работает. Но это безопасно? – Zahrec

0

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

chmod 775 -R /var/www/ 
chown -R [your_user]:www-data /var/www/ 

Так что и apache2 (WWW-данных), и вы можете редактировать папки и файлы внутри/вар/WWW (или/вар/www/html, если это ваша папка).

Обратите внимание, что это может иметь проблемы с git и другими инструментами, которые захватывают права доступа к папке (например, с git вы можете фиксировать файлы с 775).