![]()
mcj777
![]() 4 года хостинг: нет домен: нет
1
|
Проблема с доступом WordPress после переноса на VPS
Приветствую! После переноса WordPress сайта на VPS появилась такая проблема - при обновлении плагинов требуется постоянно вводить пароль FTP и запрещены все изменения в папках. К примеру, плагин кеширования выдает такой предупреждающий текст: Warning: is_dir(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): и т.д. много текста. Это значит, что пользователю запрещен доступ к папке /tmp сервера. В принципе, он и не может быть разрешен. Главный вопрос в том, почему вдруг файлы стали писаться туда? И где нужно изменить прописанные пути к файлам и папкам с предыдущего места размещения сайта на текущие? К сожалению, чего-то действительно полезного в сети найти не удалось. Очень много всего пересмотрел. Есть здесь специалисты, которые помогут разобраться с данной проблемой? Где смотреть, что менять? На VPS стоят CentOS 6.5 и ISP Manager. Заранее спасибо! |
![]()
Евгений В.
![]() 4 года хостинг: нет домен: нет |
К сожалению, сказать в чём может быть причина сходу не могу. (возможно, права доступа неправильные, либо же владелец папки не тот что нужно).
Но если Вы сбросите данные для подключения к серверу (и имя/данные входа проблемного сайта) на мой email varenko@ukr-hosting.org - попробую помочь с решением вопроса. |
![]()
mcj777
![]() 4 года хостинг: нет домен: нет |
Вроде проблему локализовал - временные файлы пишутся в папку /tmp сервера с правами 644 от владельца Apache. А далее возникает ступор.
Пробовал по разному настраивать open basedir в secure.conf и php.ini - не помогает. Также не могу понять, где в ISP Manager можно настроить группы пользователей и на эти группы назначить привилегии доступа. Возможно какой-то глюк в самом ВордПрессе, попробую поставить его заново, уже на VPS. Если проблема останется, свяжусь с вами, спасибо за ответ. |
![]()
kysil
![]() 4 года хостинг: нет домен: есть |
Возможно какой-то глюк в самом ВордПрессе © mcj777 Не стоит, у меня такая же проблема только с другим движком (не WP). Проблему я также не решил. Там по идее он должен писать эти tmp файлы в домашнюю папку сайта tmp, но там VPS прописывает символическую ссылку. Копать нужно где-то в ISPmanager. Посмотрите на ихнем форуме, думаю там есть ответ. Можно и самому зарегистрироваться и поставить такой вопрос там. Сори за каламбур. |
![]()
Евгений В.
![]() 4 года хостинг: нет домен: нет |
Кстати, тут есть нюанс
File(/tmp) is not within the allowed path(s): © mcj777 Эта папка (/tmp) лежит в корне диска, куда пользователям доступа нет. Только руту. Мне кажется стоит в папке сайта создать файл info.php с содержимым <?php phpinfo(); ?> И зайдя на адрес_сайта/info.php посмотреть значение переменной upload_tmp_dir и TMPDIR - что там стоит. При необходимости - изменить на нужное. |
![]()
kysil
![]() 4 года хостинг: нет домен: есть |
У меня upload_tmp_dir отображается по пути: /var/www/kysil/data/mod-tmp , но скрипт почему-то ломится в /tmp . Ссылка tmp лежит по адресу /var/www/kysil/data , владелец прав www-data , но ссылается она на ~/mod-tmp
TMPDIR - вообще нету такого поля, в смысле не "no value", а директивы. |
![]()
Евгений В.
![]() 4 года хостинг: нет домен: нет |
Ещё можно попробовать вот так:
1. Создать каталог "tmp" в корне ВП и дать ему права на запись. 2. Добавить в конфиг (wp-config.php) (до строки с "дальше не редактируем"): define(‘WP_TEMP_DIR’,'tmp’) define(‘WP_TEMP_DIR’,'/var/www/kysil/data/tmp’) Но сам не пробовал, поэтому - просто как вариант. |
![]()
kysil
![]() 4 года хостинг: нет домен: есть
1
|
при обновлении плагинов требуется постоянно вводить пароль FTP © mcj777 Решается путем добавления строк в wp-config.php /** The FTP Collate. Don't change this if in doubt. */ define('FTP_HOST', 'localhost'); define('FTP_USER', 'юзернейм'); define('FTP_PASS', 'блаблабла'); |
![]()
mcj777
![]() 4 года хостинг: нет домен: нет |
Решается путем добавления строк в wp-config.php /** The FTP Collate. Don't change this if in doubt. */define('FTP_HOST', 'localhost');define('FTP_USER', 'юзернейм');define('FTP_PASS', 'блаблабла'); © kysil Спасибо! Такой вариант работает. Я знал, что все должно быть просто, но никак не мог найти этот код ) Нашел еще один путь к временной папке по адресу /var/www/ПОЛЬЗОВАТЕЛЬ/data/mod-tmp куда перенаправляются файлы из /tmp Изменил права 777 на эту папку и файлы для пользователя apache. Но эффекта не дало. Попробуйте поиграться с правами, возможно у вас заработает. Пути актуальны для ISPmanager-Lite 4.4.10.23. Просто у меня плюс ко всему этому сам WP тупит, вылетая с ошибкой 500 (пустой экран) при сохранении настроек. Поэтому нужно начать решать задачу с его переустановки, а потом уже шаманить VPS. Кстати, кто-нибудь знает, есть ли хорошее расширение для подробного тестирования WP на предмет ошибок? Я пока не нашел. Также в сети нашел такие ссылки, возможно пригодятся http://ru.5.ispdoc.com/index.php/Конфигурационный_файл_ISPmanager http://ru.5.ispdoc.com/index.php/ISPmanager:_Конфигурация_web_сервера Конфигурационный файл для ISPmanager-Lite 4.4.10.23 можно найти здесь /usr/local/ispmgr/etc/ispmgr.conf |
![]()
kysil
![]() 4 года хостинг: нет домен: есть |
На хостинге "Хостинг Украина" таких траблов нету. У них сервер настроен очень хорошо. На том же мирохосте - также проблем с правами валом. Но ребята из "Хостинг Украина" на этот счет таят большой секрет :D , как нужно правильно конфигурировать open_basedir
|
![]()
mcj777
![]() 4 года хостинг: нет домен: нет
1
|
Нашел еще одно решение здесь http://yousite.ru/?p=1620
Как добавить каталог в open_basedir в ISPManager ОШИБКА open_basedir restriction in effect. File(/tmp//sss.tmp) is not within the allowed path(s) В ФАЙЛ /usr/local/ispmgr/etc/ispmgr.conf ДОБАВИТЬ ExtraOpenBasedir :/tmp ПЕРЕЗАПУСТИТЬ ПАНЕЛЬ killall -9 -r ispmgr ВНОВЬ СОЗДАВАЕМЫЕ www-домены БУДУТ С КАТАЛОГОМ /tmp В open_basedir. А ДЛЯ ИСПРАВЛЕНИЯ НАСТРОЕК ДЛЯ СУЩЕСТВУЮЩИХ ДОМЕНОВ НЕОБХОДИМО ОТКЛЮЧИТЬ/ВКЛЮЧИТЬ ПОДДЕРЖКУ PHP ДЛЯ ДОМЕНА. У меня все добавилось нормально. Далее посмотрим, что из этого выйдет. Кстати, чтобы не бегать в поисках настроек, для WP есть хорошее расширение, показывающее детальную информацию по серверу WordPress › WP-ServerInfo « WordPress Plugins |
![]()
kysil
![]() 4 года хостинг: нет домен: есть |
Спасибо! Все получилось! :)
Желательно это добавить в Базу знаний "Хостинг Украина" |
![]()
mcj777
![]() 4 года хостинг: нет домен: нет |
Спасибо! Все получилось! :) Желательно это добавить в Базу знаний "Хостинг Украина" © kysil У меня тоже заработало ) Отловил все ошибки WordPress безо всякого расширения все с помощью того же кода в wpconfig.php define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); где true - включено, false - отключено. Первая строка - вкл/выкл режима отладки. Вторая строка - вкл/выкл записи ошибок в log файл (что-то я его не нашел). Третья строка - вкл/выкл отображения ошибок на сайте. Настроил корректные права на нужные папки и файлы - кеш заработал, картинки стали загружаться, настройки стали сохраняться. Ошибка 500 ушла отдыхать. |
![]()
Евгений В.
![]() 4 года хостинг: нет домен: нет
1
|
Желательно это добавить в Базу знаний "Хостинг Украина" © kysil Готово. Как добавить каталог в open_basedir в ISPManager |
Если вы уже зарегистрированы Вам необходимо