• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепропетровск
  • +38(062) 210-24-93  Донецк
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 007-72-35  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

VPS. Проблема с доступом WordPress после переноса на VPS

Форумы VPS Проблема с доступом WordPress после переноса на VPS
mcj777
27.01.2015 19:43
хостинг: есть
домен: нет
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.

Заранее спасибо!
Евгений В.
28.01.2015 15:34
хостинг: есть
домен: нет
К сожалению, сказать в чём может быть причина сходу не могу. (возможно, права доступа неправильные, либо же владелец папки не тот что нужно).
Но если Вы сбросите данные для подключения к серверу (и имя/данные входа проблемного сайта) на мой email varenko@ukr-hosting.org - попробую помочь с решением вопроса.
mcj777
28.01.2015 15:48
хостинг: есть
домен: нет
Вроде проблему локализовал - временные файлы пишутся в папку /tmp сервера с правами 644 от владельца Apache. А далее возникает ступор.

Пробовал по разному настраивать open basedir в secure.conf и php.ini - не помогает. Также не могу понять, где в ISP Manager можно настроить группы пользователей и на эти группы назначить привилегии доступа.

Возможно какой-то глюк в самом ВордПрессе, попробую поставить его заново, уже на VPS.

Если проблема останется, свяжусь с вами, спасибо за ответ.
kysil
28.01.2015 23:26
хостинг: нет
домен: есть
Возможно какой-то глюк в самом ВордПрессе © mcj777

Не стоит, у меня такая же проблема только с другим движком (не WP). Проблему я также не решил. Там по идее он должен писать эти tmp файлы в домашнюю папку сайта tmp, но там VPS прописывает символическую ссылку. Копать нужно где-то в ISPmanager. Посмотрите на ихнем форуме, думаю там есть ответ. Можно и самому зарегистрироваться и поставить такой вопрос там. Сори за каламбур.
Евгений В.
28.01.2015 23:54
хостинг: есть
домен: нет
Кстати, тут есть нюанс
File(/tmp) is not within the allowed path(s): © mcj777

Эта папка (/tmp) лежит в корне диска, куда пользователям доступа нет. Только руту.
Мне кажется стоит в папке сайта создать файл info.php с содержимым
<?php
phpinfo();
?>


И зайдя на адрес_сайта/info.php посмотреть значение переменной upload_tmp_dir и TMPDIR - что там стоит. При необходимости - изменить на нужное.
kysil
29.01.2015 00:09
хостинг: нет
домен: есть
У меня upload_tmp_dir отображается по пути: /var/www/kysil/data/mod-tmp , но скрипт почему-то ломится в /tmp . Ссылка tmp лежит по адресу /var/www/kysil/data , владелец прав www-data , но ссылается она на ~/mod-tmp
TMPDIR - вообще нету такого поля, в смысле не "no value", а директивы.
Евгений В.
29.01.2015 00:28
хостинг: есть
домен: нет
Ещё можно попробовать вот так:
1. Создать каталог "tmp" в корне ВП и дать ему права на запись.
2. Добавить в конфиг (wp-config.php)
(до строки с "дальше не редактируем"):
define(‘WP_TEMP_DIR’,'tmp’)
или
define(‘WP_TEMP_DIR’,'/var/www/kysil/data/tmp’)
---
Но сам не пробовал, поэтому - просто как вариант.
kysil
29.01.2015 15:30
хостинг: нет
домен: есть
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
29.01.2015 17:09
хостинг: есть
домен: нет
Решается путем добавления строк в 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
29.01.2015 17:26
хостинг: нет
домен: есть
На хостинге "Хостинг Украина" таких траблов нету. У них сервер настроен очень хорошо. На том же мирохосте - также проблем с правами валом. Но ребята из "Хостинг Украина" на этот счет таят большой секрет :D , как нужно правильно конфигурировать open_basedir
mcj777
29.01.2015 17:41
хостинг: есть
домен: нет
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
29.01.2015 18:19
хостинг: нет
домен: есть
Спасибо! Все получилось! :)
Желательно это добавить в Базу знаний "Хостинг Украина"
mcj777
29.01.2015 19:09
хостинг: есть
домен: нет
Спасибо! Все получилось! :)
Желательно это добавить в Базу знаний "Хостинг Украина"
© kysil

У меня тоже заработало )

Отловил все ошибки WordPress безо всякого расширения все с помощью того же кода в wpconfig.php

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);


где true - включено, false - отключено. Первая строка - вкл/выкл режима отладки. Вторая строка - вкл/выкл записи ошибок в log файл (что-то я его не нашел). Третья строка - вкл/выкл отображения ошибок на сайте.

Настроил корректные права на нужные папки и файлы - кеш заработал, картинки стали загружаться, настройки стали сохраняться. Ошибка 500 ушла отдыхать.
Евгений В.
30.01.2015 16:12
хостинг: есть
домен: нет
1
Желательно это добавить в Базу знаний "Хостинг Украина" © kysil

Готово.
Как добавить каталог в open_basedir в ISPManager
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.
Горячая линия
(044)
392 74 33
другие города