1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Ошибка загрузки фото на форум XenForo

Тема в разделе "Основные вопросы по XenForo", создана пользователем Edward, 22.03.2013.

Загрузка
  1. Edward

    Edward Местный

    Регистрация:
    19.11.12
    Сообщения:
    247
    Симпатии:
    43
    Версия XF:
    1.1.3
    Не получается загружать фото на форум, выдает вот такую ошибку:
    2013-03-22_175321.png
    До этого на шаред хостинге фото загружались, а на VPS как видите не получается.
    Тест XenForo System Requirements VDS настроенный мной проходит успешно.
    Но еще до переноса форума с шареда на VDS проверял работоспособность XenForo установкой с нуля движка на VDS - все работало отлично, и фото в том числе тоже загружалось, а перенесенный форум почему то не хочет загружать картинки, в чем проблема понять не могу.
     
  2. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Права и владельца папок проверьте.
    И логи смотрите, может там что-то более информативное есть.
     
    Edward нравится это.
  3. Edward

    Edward Местный

    Регистрация:
    19.11.12
    Сообщения:
    247
    Симпатии:
    43
    Версия XF:
    1.1.3
    права с корневого каталога до папок форума "data" и "internal_data" установлены - 755. (если ты это имел в виду)

    смотрел логи апача, ничего интересного в них нет, не отмечается ошибка загрузки фото. Поставил логи на сам сайт ErrorLog и CustomLog. В них тоже ничего не отмечается интересного.

    Попробовал загрузить файл по больше размером, анимация загрузки картинки есть, доходит до 100%, но прерывается ошибкой показанной в первом посте на скриншоте.

    что это вообще такое, как быть? может кто то сталкивался с подобным?
     
  4. Oleg-2012

    Oleg-2012 Местный

    Регистрация:
    21.04.12
    Сообщения:
    700
    Симпатии:
    297
    Права должны-быть 777 !

    Предоставьте логи форума, (Инструменты->Журнал ошибок сервера) !
     
    Edward нравится это.
  5. Edward

    Edward Местный

    Регистрация:
    19.11.12
    Сообщения:
    247
    Симпатии:
    43
    Версия XF:
    1.1.3
    Спасибо разобрался. Просто твое сообщение подтолкнуло меня еще раз переставить права папок с 755 на 777. Но в этот раз переставил права не только "data" и "internal_data" но и вложенных их папок.
    п.с. на шаред хостинге на всех папках права стояли 755 и загрузка файлов и фото работало. ХЗ почему так, видимо у них как то специфически были настроены основные права сервера...
    Почитал одну статейку в интернете, на тему chmod, там рекомендуют ставить на все папки 755(конечно кроме "data" и "internal_data"), а на все файлы 655, на .htaccess и еще на некоторые конфиг.файлы 644, правильно ли это будет применятся к нашему движку XenForo?
     
  6. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Права 755 и 777 зависят от того, как настроен хостинг. А во-вторых, права, конечно же, должны быть на папки и на все вложенные папки также.

    В идеале должны быть права 755 на папки и 644 на файлы. Что это значит?

    Расшифровка для папок следующая (первая цифра - владелец, вторая - группа, третья - другие):
    [*] чтение для владельца
    [*] запись для владельца
    [*] запуск/поиск для владельца
    [*] чтение для группы
    [ ] запись для группы
    [*] запуск/поиск для группы
    [*] чтение для других
    [ ] запись для других
    [*] запуск/поиск для других

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

    Теперь то же самое для файла:
    [*] чтение для владельца
    [*] запись для владельца
    [ ] запуск/поиск для владельца
    [*] чтение для группы
    [ ] запись для группы
    [ ] запуск/поиск для группы
    [*] чтение для других
    [ ] запись для других
    [ ] запуск/поиск для других

    Как видим, по сравнению с папками мы убрали права запуска/поиска. Дело в том, что для файлов права запуска являются избыточными, так как позволяют запустить такой файл на сервере в качестве самостоятельного скрипта. А это крайне небезопасно.

    Теперь о том, почему эти права не работают нанекоторых хостингах. Обычно веб-сервер работает из под того же пользователя, кому принадлежат файлы и папки. Если пользователей много (шаред хостинг, например), то приходится давать права более широкие - для группы. Тогда для папки это должны быть 775, а для файла - 664. Если совсем все плохо, а файлы и папки создаются из под пользователей, которые не входят в ту же группу, что и веб-сервер, то приходится давать права "для всех", т.е. 777 и 666. Конечно, могут быть и вариации этих прав. Но смысл один - чем с меньшими правами работает сайт, тем безопаснее это для хостинга и самого сайта.
     
    Edward и CyberAP нравится это.
  7. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    Хм, поставил 755 на папки и 644 на файлы рекурсивно. Сменил владельца и группу на www-data, от него же запускается nginx. При такой конфигурации XenForo выдаёт ошибку:

    An exception occurred: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13) in /var/www/community/library/Zend/Db/Adapter/Mysqli.php on line 333

    Хотя возможно это не связано, при 777 тоже самое.
     
  8. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    А тут проблема с сокетом. Т.е. нужно проверить, а создается ли при запуске сервера MySQL файл /var/run/mysqld/mysqld.sock, который представляет собой сокет и через который работает тот же PHP на локальном сервере. Ну и права на этот файл обычно 777 (т.е. доступен всем).
    Скорее всего, у Вас либо не там создается сокет, либо не создается вообще. Путь к сокету указывается в конфиге сервера базы данных.

    Если до этого все работало, а сейчас вдруг перестало, то что-то не то с правами на сокет, возможно.
     
  9. Edward

    Edward Местный

    Регистрация:
    19.11.12
    Сообщения:
    247
    Симпатии:
    43
    Версия XF:
    1.1.3
    Поставил на папки 755(кроме data), на все файлы 644(кроме файлов карты сайта) - все работает отлично.

    Кстати, если дело дошло до nginx, со скольки посетителей в день или онлайн будет приносить пользу nginx на обычном VPS с 1ггц процессором и 512 оперативной памяти если учесть что на VPS только один сайт(форум XenForo)?
    Пробовал ставить nginx, но или рано его ставить или не правильно поставил, что изменений в скорости работы никаких не заметил.
     
  10. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    А nginx идет в связке с php или в связке с apache2+php? Вообще nginx однозначно "дешевле" при выдаче статики. Но вот относительно выполнения скриптов уже нет однозначных ответов.
    Лично я предпочитаю nginx на фронте, apache2+php5 на бэке. Это позволяет полноценно использовать .htaccess и все фишки апача, а также уменьшить нагрузку на сервер.
     
  11. Edward

    Edward Местный

    Регистрация:
    19.11.12
    Сообщения:
    247
    Симпатии:
    43
    Версия XF:
    1.1.3
    Так как я первые разы учился настраивать nginx смотрел на разные мануалы по его настройке и делал свои выводы, так как не люблю полностью доверять одному источнику. Но однажды набрел на следующею статью в интернете: http://blog.amartynov.ru/archives/настраиваем-nginx-как-reverse-proxy-для-apache/
    понравилось его описание каждых действий и решил все таки сделать все по нему. Но в итоге, вроде все настроилось но результата не заметил, возможно форум еще мало посещаемый, или причина в неправильной настройке мною виртуального сервера.
    Вот этого я не знаю. Наверное в этом мануале идет nginx только перед апач'ем.

    Было бы неплохо если бы кто то разбирающейся, как ты, отлично в этой теме сделал на этом форуме что-то вроде мануала по настройке сервера на апач'е с nginx'ом для XenForo.
     
  12. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Разницы, под какой движок настраивать, нет никакой. По статье nginx стоит на фронте, а апач с php на бакэнде. Разница в производительности будет заметна на статике. В остальных случаях разницы не будет никакой.
    Таким образом, если будет много отдаваться статики, то разница будет вполне ощутимой. Ну и для полного счастья нужно кешировать опкод, да и переменные не помешает также кешировать. Вот кеширование сразу на порядок увеличит производительность.
     
    Edward нравится это.
  13. Edward

    Edward Местный

    Регистрация:
    19.11.12
    Сообщения:
    247
    Симпатии:
    43
    Версия XF:
    1.1.3
    Понятно, а "...кешировать опкод, да и переменные не помешает также кешировать" при помощи чего кешировать? XCache ?
     
  14. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 604
    Симпатии:
    1 660
    Версия XF:
    1.5.10
    APC, Memcache
     
    Edward нравится это.
  15. OlegM

    OlegM Местный

    Регистрация:
    10.03.13
    Сообщения:
    37
    Симпатии:
    2
    Версия XF:
    1.4.3
    Глупый вопрос - одновременно оба?
     
  16. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    APC и XCache могут кешировать как опкод, так и переменные. Memcache кеширует только переменные. Соответственно, первые два являются самодостаточными, но не исключают связки с Memcache. Тогда как последний может лишь дополнять кешер опкода, либо использоваться только для кеширования переменных.

    Необходимо отметить, что кеширование опкода не требует каких-либо настроек скрипта (в нашем случае XenForo). А вот кеширование переменных требует соответствующих настроек. Тема по настройке кеширования была, поэтому находим ее и знакомимся там с кешированием XenForo.
     
    OlegM и Edward нравится это.

Поделиться этой страницей