Не генерируются превью в minishop2

После переноса одного сайта на другой сервер (на Ubuntu), перестали генерироваться превью в Minishop2.
Кажется это связанно с правами, но не понятно с какими именно и на какие папки.
/assets/images/products — в каталогах товаров не создаются папки превьюшек (120х90 и т.д.)
Также заметил что сам MODx не позволяет просто создать каталог в корне сайта. Пишет У веб-сервера не хватает прав для добавления каталога там.

Еще я после переноса обновил все файлы MODx'а., и при этом папка setup сама не удалилась.

Подскажите в чем может быть проблема?

Лог после добавления картинки в товар большущий:
[2015-03-25 05:51:32] (ERROR @ /var/www/nikolai/data/www/САЙТ.РУ/core/components/ajaxform/model/ajaxform/ajaxform.class.php : 74) PHP warning: file_put_contents(/var/www/nikolai/data/www/САЙТ.РУ/assets/components/ajaxform/js/config.js): failed to open stream: Permission denied
[2015-03-25 05:51:50] (ERROR @ /var/www/nikolai/data/www/САЙТ.РУ/core/components/minishop2/processors/mgr/gallery/upload.class.php : 147) PHP warning: tempnam(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/nikolai/data:.)
[2015-03-25 05:51:50] (ERROR @ /var/www/nikolai/data/www/САЙТ.РУ/core/components/minishop2/processors/mgr/gallery/upload.class.php : 148) PHP warning: file_put_contents(): Filename cannot be empty
[2015-03-25 05:51:50] (ERROR @ /var/www/nikolai/data/www/САЙТ.РУ/core/components/minishop2/processors/mgr/gallery/upload.class.php : 149) PHP warning: getimagesize(): Filename cannot be empty
[2015-03-25 05:51:50] (ERROR @ /var/www/nikolai/data/www/САЙТ.РУ/core/components/minishop2/processors/mgr/gallery/upload.class.php : 160) PHP warning: unlink(): open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/nikolai/data:.)
[2015-03-25 05:51:50] (ERROR @ /var/www/nikolai/data/www/САЙТ.РУ/core/components/minishop2/model/minishop2/msproductfile.class.php : 95) PHP warning: tempnam(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/nikolai/data:.)
[2015-03-25 05:51:50] (ERROR @ /var/www/nikolai/data/www/САЙТ.РУ/core/components/minishop2/model/minishop2/msproductfile.class.php : 96) PHP warning: file_put_contents(): Filename cannot be empty
[2015-03-25 05:51:50] (ERROR @ /assets/components/minishop2/connector.php) Could not generate thumbnail for "/assets/images/products/190/064a3195747b4e0d0b8f4605ea6515e9.jpg". Array
(
    [0] => phpThumb() v1.7.13-201406261000 in file "phpthumb.class.php" on line 220
    [1] => setCacheDirectory() starting with config_cache_directory = "/var/www/nikolai/data/www/САЙТ.РУ/core/cache/phpthumb/" in file "phpthumb.class.php" on line 961
    [2] => setting config_cache_directory to realpath(/var/www/nikolai/data/www/САЙТ.РУ/core/cache/phpthumb) = "/var/www/nikolai/data/www/САЙТ.РУ/core/cache/phpthumb" in file "phpthumb.class.php" on line 989
    [3] => setSourceFilename() set $this->sourceFilename to "" in file "phpthumb.class.php" on line 271
    [4] => $AvailableImageOutputFormats = array(text;ico;bmp;wbmp;gif;png;jpeg) in file "phpthumb.class.php" on line 925
    [5] => $this->thumbnailFormat set to $this->config_output_format "jpeg" in file "phpthumb.class.php" on line 936
    [6] => $this->thumbnailFormat set to $this->f "jpeg" in file "phpthumb.class.php" on line 943
    [7] => $this->thumbnailQuality set to "99" in file "phpthumb.class.php" on line 953
    [8] => phpThumb() v1.7.13-201406261000
http://phpthumb.sourceforge.net

Error messages disabled.

edit phpThumb.config.php and (temporarily) set
$PHPTHUMB_CONFIG['disable_debug'] = false;
to view the details of this error in file "phpthumb.class.php" on line 4050
    [9] => SetCacheFilename() _src set from md5($this->sourceFilename) "" = "d41d8cd98f00b204e9800998ecf8427e" in file "phpthumb.class.php" on line 3443
    [10] => SetCacheFilename() _par set from md5(_bgffffff_farC_h90_w120_dpi150_q99) in file "phpthumb.class.php" on line 3476
    [11] => starting ExtractEXIFgetImageSize() in file "phpthumb.class.php" on line 3236
    [12] => skipping GetImageSize() because $this->sourceFilename is empty in file "phpthumb.class.php" on line 3248
    [13] => GetImageSize("") failed in file "phpthumb.class.php" on line 3279
    [14] => $this->useRawIMoutput=false because "bg" is set in file "phpthumb.class.php" on line 1502
    [15] => $this->useRawIMoutput=false after checking $UnAllowedParameters in file "phpthumb.class.php" on line 1508
    [16] => ImageMagickThumbnailToGD() aborting because $this->sourceFilename is empty in file "phpthumb.class.php" on line 1552
    [17] => ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 3286
    [18] => SetOrientationDependantWidthHeight() starting with ""x"" in file "phpthumb.class.php" on line 3215
    [19] => SetOrientationDependantWidthHeight() setting w="120", h="90" in file "phpthumb.class.php" on line 3231
    [20] => EXIF thumbnail extraction: (size=0; type=""; 0x0) in file "phpthumb.class.php" on line 3343
    [21] => starting SourceImageToGD() in file "phpthumb.class.php" on line 3603
    [22] => Not using EXIF thumbnail data because $this->exif_thumbnail_data is empty in file "phpthumb.class.php" on line 3674
    [23] => $this->gdimg_source is still empty in file "phpthumb.class.php" on line 3726
    [24] => ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 3728
    [25] => phpThumb() v1.7.13-201406261000
http://phpthumb.sourceforge.net

Error messages disabled.

edit phpThumb.config.php and (temporarily) set
$PHPTHUMB_CONFIG['disable_debug'] = false;
to view the details of this error in file "phpthumb.class.php" on line 4050
    [26] => SourceImageToGD() failed in file "phpthumb.class.php" on line 351
)

[2015-03-25 05:51:50] (ERROR @ /var/www/nikolai/data/www/САЙТ.РУ/core/components/minishop2/model/minishop2/msproductfile.class.php : 95) PHP warning: tempnam(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/nikolai/data:.)
[2015-03-25 05:51:50] (ERROR @ /var/www/nikolai/data/www/САЙТ.РУ/core/components/minishop2/model/minishop2/msproductfile.class.php : 96) PHP warning: file_put_contents(): Filename cannot be empty
[2015-03-25 05:51:50] (ERROR @ /assets/components/minishop2/connector.php) Could not generate thumbnail for "/assets/images/products/190/064a3195747b4e0d0b8f4605ea6515e9.jpg". Array
(
    [0] => phpThumb() v1.7.13-201406261000 in file "phpthumb.class.php" on line 220
    [1] => setCacheDirectory() starting with config_cache_directory = "/var/www/nikolai/data/www/САЙТ.РУ/core/cache/phpthumb/" in file "phpthumb.class.php" on line 961
    [2] => setting config_cache_directory to realpath(/var/www/nikolai/data/www/САЙТ.РУ/core/cache/phpthumb) = "/var/www/nikolai/data/www/САЙТ.РУ/core/cache/phpthumb" in file "phpthumb.class.php" on line 989
    [3] => setSourceFilename() set $this->sourceFilename to "" in file "phpthumb.class.php" on line 271
    [4] => $AvailableImageOutputFormats = array(text;ico;bmp;wbmp;gif;png;jpeg) in file "phpthumb.class.php" on line 925
    [5] => $this->thumbnailFormat set to $this->config_output_format "jpeg" in file "phpthumb.class.php" on line 936
    [6] => $this->thumbnailFormat set to $this->f "jpeg" in file "phpthumb.class.php" on line 943
    [7] => $this->thumbnailQuality set to "99" in file "phpthumb.class.php" on line 953
    [8] => phpThumb() v1.7.13-201406261000
http://phpthumb.sourceforge.net

Error messages disabled.

edit phpThumb.config.php and (temporarily) set
$PHPTHUMB_CONFIG['disable_debug'] = false;
to view the details of this error in file "phpthumb.class.php" on line 4050
    [9] => SetCacheFilename() _src set from md5($this->sourceFilename) "" = "d41d8cd98f00b204e9800998ecf8427e" in file "phpthumb.class.php" on line 3443
    [10] => SetCacheFilename() _par set from md5(_bgffffff_farC_h270_w360_dpi150_q99) in file "phpthumb.class.php" on line 3476
    [11] => starting ExtractEXIFgetImageSize() in file "phpthumb.class.php" on line 3236
    [12] => skipping GetImageSize() because $this->sourceFilename is empty in file "phpthumb.class.php" on line 3248
    [13] => GetImageSize("") failed in file "phpthumb.class.php" on line 3279
    [14] => $this->useRawIMoutput=false because "bg" is set in file "phpthumb.class.php" on line 1502
    [15] => $this->useRawIMoutput=false after checking $UnAllowedParameters in file "phpthumb.class.php" on line 1508
    [16] => ImageMagickThumbnailToGD() aborting because $this->sourceFilename is empty in file "phpthumb.class.php" on line 1552
    [17] => ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 3286
    [18] => SetOrientationDependantWidthHeight() starting with ""x"" in file "phpthumb.class.php" on line 3215
    [19] => SetOrientationDependantWidthHeight() setting w="360", h="270" in file "phpthumb.class.php" on line 3231
    [20] => EXIF thumbnail extraction: (size=0; type=""; 0x0) in file "phpthumb.class.php" on line 3343
    [21] => starting SourceImageToGD() in file "phpthumb.class.php" on line 3603
    [22] => Not using EXIF thumbnail data because $this->exif_thumbnail_data is empty in file "phpthumb.class.php" on line 3674
    [23] => $this->gdimg_source is still empty in file "phpthumb.class.php" on line 3726
    [24] => ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 3728
    [25] => phpThumb() v1.7.13-201406261000
http://phpthumb.sourceforge.net

Error messages disabled.

edit phpThumb.config.php and (temporarily) set
$PHPTHUMB_CONFIG['disable_debug'] = false;
to view the details of this error in file "phpthumb.class.php" on line 4050
    [26] => SourceImageToGD() failed in file "phpthumb.class.php" on line 351
)
Николай Загумённов
25 марта 2015, 09:57
modx.pro
3 431
0
Поблагодарить автора Отправить деньги

Комментарии: 11

Николай Загумённов
25 марта 2015, 14:54
0
Поставил права 777 на директорию домена и помогло.
Насколько это безопасно ставить права 777 вместо 755 на директорию домена? По умолчанию стоит 755.
    Василий Наумкин
    25 марта 2015, 16:01
    0
    777 значит, что любой юзер сервера может записать файлы в эту директорию. Если такие разрешения стоят на всех директориях сайта, то любой юзер сервера может писать туда, что угодно.

    То же самое и с файлами.
      Николай Загумённов
      25 марта 2015, 16:34
      0
      C чем тогда может быть связанна такая проблема с правами?
        Василий Наумкин
        25 марта 2015, 16:36
        0
        Естественно, если у php скрипта не хватает прав на запись в директорию — он не сможет туда ничего записать.

        Но это не означает, что для решения проблемы нужно дать эти права всем обитателям сервера.

        Пиши в поддержку хостинга, спрашивай, как сделать так, чтобы php нормально работал при разрешениях 755 на директории и 644 на файлы.
          Николай Загумённов
          25 марта 2015, 20:02
          0
          Поддержка на FirstVDS написала, чтобы я сам решал эту проблему. =)
          Где то нарыскал момент про то, что php запускается от пользователя которого можно указать в apach. Или как то подругому, но я понял так.

          Поправил файл /etc/apache2/envvars

          с
          export APACHE_RUN_USER=www-data
          export APACHE_RUN_GROUP=www-data
          на
          export APACHE_RUN_USER=nikolai
          export APACHE_RUN_GROUP=www-data
          Вроде работает. Насколько такое решение экологично?)
            Василий Наумкин
            25 марта 2015, 21:21
            0
            Ну если у тебя свой VDS, естественно, что все проблемы внутри — твои.

            По Apache2 не подскажу, не помню. Но главный смысл в том, чтобы файлами сайта рулил отдельный юзер, без привилегий, и у него не было бы доступа никуда, кроме как к сайту. Это чтобы при взломе сайта, злоумышленник не мог наворотить дел на сервере.

            Моя инструкция по настройке своего сервера находится здесь. Правильный хостинг, где всё так безопасно настроено — modhost.pro.
              Николай Загумённов
              26 марта 2015, 07:39
              0
              Спасибо за инструкцию, я после ее просмотре понял куда копать и там прикольная музыка=)
                Пашок
                Пашок
                26 марта 2015, 09:07
                0
                Копаешь в сторону nginx + php5-fpm без апач2? :)
                  Николай Загумённов
                  26 марта 2015, 12:55
                  0
                  Когда искал решение с настройками прав, то уже был в шаге от покупки третьего сервера и настройкой его по видео-инструкции.

                  Но видимо мне суждено быть с апачем.
    Viacheslav
    04 июня 2015, 16:34
    0
    Столкнулся с такой же проблемой при переносе сайта на Open Server. На хостинге все ок с превьюшками, на локалке не создаются. Тоже думал о правах, но тут же винда. Разрешение на запись во все папки и файлы не помогло. Может подскажете как можно решить это?
      Viacheslav
      04 июня 2015, 17:37
      +1
      Проблема была в Open Server. Для решения проблемы с генерацией превьюшек в minishop2 необходимо в php.ini вашей версии (например в C:\OpenServer\userdata\config\PHP-5.4_php.ini) изменить параметр memory_limit с -1 на любой другой реальный, например memory_limit = 128M
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      11