Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.

Форум  ->   Вопросы установки, Хостинг для Amiro.CMS  ->  Опять про ошибки резервного копирования (права доступа)

Обсуждение и рекомендации хостингов. Вопросы по настройке хостинга и установке Amiro.CMS

Добавлено: 21.07.09 08:04:42 #1



Регистрация: 02.06.09
Сообщений: 5


Обратиться по имени

При выполнении резервного попирования возникает надпись:
"У PHP на этом сервере недостаточно прав для записи в файлы сайта. Восстановление данных из архивов, содержащих файлы или конфигурацию, невозможно."

Кроме того подобная же диагностика при попытке приложить обновления.

Текущая версия cms-5.2.4.0-corporate, прикладываемое обновление - до версии cms-5.4.0.0

Допоннительная информация:
- рекомендации http://www.amiro.ru/forum/hosting-for-a...ja#m4993 и
http://www.amiro.ru/forum/hosting-for-a...ja#m4995 смотрел.
Права на _shared/sys рекурсивно выставлены: для каталогов 777 для файлов 666

- apache и ftp аккаунт принадлежат к разным группам.
Но для прверки дал права на запись им обоим на всё дерево каталогов CMS - не помогло.

1) Вопрос ко всем: чего ему не хватает ?

2) Вопрос в авторам CMS - а нельзя ли в следующих обновлениях сделать
более внятную диагностику в какой каталог/файл не удаётся записать.

3) Дополнительный вопрос к авторам CMS:
Инсталятор запускался из под юзера apache (от которого работает httpd).
Т.е. все созданые им объекты (файлы/каталоги) имеют его как владельца.
Почему же он (инсталятор) не расставил правильные права доступа ?
Бага в инстяляторе ? Как это лечить ?



Добавлено: 21.07.09 09:01:52 #2

Амиро


Регистрация: 13.09.07
Сообщений: 195


Обратиться по имени

Вам поможет chown apache <docroot>



Добавлено: 24.07.09 15:39:33 #3



Регистрация: 02.06.09
Сообщений: 5


Обратиться по имени

maxim:
Вам поможет chown apache

Имеются ввиду права на DocumentRoot сайта (в терминах конфига apache) ?
Я правильно понимаю, что именно apache должен быть владельцем файлов каталогов ?
А если у файлов/каталогов группа apache и группе даны права на запись ?
Этого будет недостаточно ?



Добавлено: 24.07.09 15:54:01 #4

Амиро


Регистрация: 13.09.07
Сообщений: 195


Обратиться по имени

Dmitry:
maxim:
Вам поможет chown apache

Имеются ввиду права на DocumentRoot сайта (в терминах конфига apache) ?
Я правильно понимаю, что именно apache должен быть владельцем файлов каталогов ?
А если у файлов/каталогов группа apache и группе даны права на запись ?
Этого будет недостаточно ?


Владельцем директории DocumentRoot должен быть пользователь, из-под которого работает PHP, в вашем случае, видимо, apache. Группой в данном случае обойтись не получится.
Кто владелец файлов внутри DocumentRoot уже не столь важно, главное чтобы PHP имел возможность записи во все файлы и папки внутри DocRoot.



Добавлено: 28.07.09 09:34:10 #5



Регистрация: 02.06.09
Сообщений: 5


Обратиться по имени

Изменил владельца файлов/каталогов.
Резервное копирование выполняется нормально.
Никаких предупреждений не появляется.

Возникла другая проблема:

Зашел в раздел обновлений - предлагается установить обновление о версии 5.4.0.0
Ок. Захожу в просмотр содержимого обновления - в таблице с минимальными
требованиями сообщается, что нужен php >= 5.2.1. Текущий установленый - 5.1.6.
Не проблема. Собираю php 5.2.2 и устанавливаю его.

Вхожу снова в раздел обновлений. Поялилась иконка "Установить обновления".
Запускаю установку - появляется окно:
"Создается резервная копия перед обновлением
Архивация файлов Записано в архив, Мб: 0.06"

И всё - в таком состоянии оно пребывает неопределённо долго.
Прерываю процесс. Пытаюсь вручную сделать резервную копию - не работает.
Повисает в том же месте.
В _shared/sys/var/backup/ создаётся побитый архив:
--- cut ---
$ tar tvzf _shared/sys/var/backup/*tar.gz
...
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
--- cut ---
Т.е. скрипты начали писать архив и не закончили.
При этом в архиве только файлы сайта, а дамп базы отсутствует.
Но при этом он создаётся в _shared/sys/dbdumps/
В логах ничего вразумительного кроме информации об удалённой блокировке
(надо думать от прошлой попытки резервного копирования):
--- cut ---
cat _admin/_logs/err.log
[skip]

[2009-07-28 09:23:14] ['USER: WARNING'] [code=512]: ['Stale lock '/var/www/servers/travinka.ru/html/_shared/sys/var/locks/admin' removed'] [File: '[censored]html/_shared/code/const/const_advanced.php'] [Line: 90]
--- cut ---

Рядом с логом лежит некоторое количество файлов c именами вида progress_200907280*.txt с абсолютно ничего не говорящим содержимым.

Откатываюсь обратно на php-5.1.6 - резервное копирование прекрасно работает,
но не устанавливаются обновления.

Пробовал так же с php-5.2.9. 5.2.10 и 5.3.0 - результат тот же.

Как это лечить ? Поставить версию php-5.2.1 ? Сейчас соберу, но не уверен, что поможет...

Вообще насколько необходимо прикладывать 5.4.0.0 (может там исправляются критические баги с security) ?

PS: система csntos-5.3, весь софт - из официального репозитария (кроме собственных сборок php для эксперемента).



Добавлено: 28.07.09 11:35:45 #6



Регистрация: 26.01.09
Сообщений: 361


Обратиться по имени

Dmitry, у меня следующая конфа и не менялась на протяжении апдейтов с версии на версию:
CentOS release 5.3 (Final)
Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 PHP/5.2.9
mysql 5.1.34


На все файлы и папки, в том числе DocRoot:
chgrp -R ftp www (у меня фтп имеет доступ ко всем файлам)
chown -R daemon www (apache имеет доступ ко всем файлам и является владельцем)
chmod 664 - для файлов
сhmod 775 - для папок

В такой конфигурации был произведен апгрейд с 5.2.3.0 до 5.2.4.2 а затем до 5.4.0.0.

По поводу прав есть ещё немного расширенные рекомендации техподдержки Амиро:
На хостинге Амиро PHP и FTP-демон работают под одним и тем же пользователем, и ему же принадлежат файлы CMS.
По поводу прав, стандартная конфигурация: на всё стоит 755 и 644, на _mod_files и всё внутри неё - 2777 и 666.



Advanced member
Добавлено: 28.07.09 11:43:56 #7



Регистрация: 02.06.09
Сообщений: 5


Обратиться по имени

Какой кошмар... Сейчас попробую.
Риторический вопрос: а авторы вообще что-нибудь про безопасность,
разделение прав и прочее подобное читали ?




Добавлено: 28.07.09 12:50:50 #8



Регистрация: 02.06.09
Сообщений: 5


Обратиться по имени

Поковырял конфиги php.
Кое что прояснилось - хостеры включили safe_mode=on.
При версиях php > 5.1.6 почему-то всё переставало работать при включеном safe_mode.
После отключения safe_mode всё заработало с php-5.2.9.
С бэкапами разобрались.

Сейчас при обновлении возникает какая-то ошибка (прочитать не успеваю - содержимое
окна быстро меняется) и начинается восстановление из архива.
Как результат - окно с сообщением "Ошибка при установке обновления. Откат выполнен".

Права и владельцы файлов/каталогов в соотвествии с рекомендациями выше.

в _admin/_logs/err.log следующее:
--- cut ---
[2009-07-28 12:42:32] ['USER: WARNING'] [code=512]: ['Site update failed, rolled back: [E_RUN_ERR] Update failed (no success string found in output)

==== Update log ====

HTTP/1.1 200 OK
Date: Tue, 28 Jul 2009 08:42:03 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Server: Apache
Cache-Control: no-cache, no-store, must-revalidate, post-check=0, pre-check=0
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache
Status: 200 OK
X-Wm-out: Cached

2784
<!--Начало страницы - блок <HEAD></HEAD>-->
<html>

[далее кусок html-я]
</html>
0

==== End update log ====

'] [File: '/var/www/servers/server1/html/_shared/code/classes/ModuleUpdates.php'] [Line: 337] [Details: PHP_SELF=('/_admin/srv_updates.php'. REMOTE_ADDR=('192.168.1.78' HTTP_USER_AGENT=('Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.1.1) Gecko/20090717 Remi/fc7 Firefox/3.5.1' PATH_TRANSLATED=('' REQUEST_METHOD=('POST' REQUEST_URI=('/_admin/srv_updates.php' HTTP_REFERER=('http://site.ru/_admin/srv_updates.php?i...pe=&#039 ]
--- cut ---

Чего опять не хватает ?



Добавлено: 28.07.09 13:05:08 #9

Амиро


Регистрация: 13.09.07
Сообщений: 195


Обратиться по имени

Пожалуйста, напишите в службу поддержки support.amiro.ru, указав адрес сайта и данные для доступа в админку и на FTP.



Добавлено: 28.07.09 13:14:26 #10

Амиро



Регистрация: 13.11.05
Сообщений: 1094


Обратиться по имени

Dmitry:
Какой кошмар... Сейчас попробую.
Риторический вопрос: а авторы вообще что-нибудь про безопасность,
разделение прав и прочее подобное читали ?


Существующие реальности конфигураций хостингов именно таковы. Все самообновляющиеся движки устроены таким же образом.
А по поводу безопасности в целом: права на запись - не повод для опасений. Если уж код дыряв настолько, что это начинаем иметь значение - то он долго не проживет вне зависимости от установленных прав на сервере.



Сервис голосования idea.amiro.ru для Ваших пожеланий по развитию Amiro.CMS
Добавлено: 23.08.11 22:44:04 #11



Регистрация: 11.08.11
Сообщений: 7


Обратиться по имени

Помогите советом по данной теме. Только, если можно, на обычном русском языке
только сегодня установил сайт на хостинг. При попытке восстановиться из локально созданного архива выдало сообщение (как в первом посте) "У PHP на этом сервере недостаточно прав для записи в файлы сайта. Восстановление данных из архивов, содержащих файлы или конфигурацию, невозможно."
прочитав данную тему, понял одно: надо отредактировать права доступа...

Вот ситуация у меня: хостинг - на hoster.ru; FTP-клиент у них свой, онлайновый. В нем права доступа к сожалению не регулируются .Служба поддержки посоветовала редактировать их из личного кабинета на хостинге. Действительно - имеется такое меню.
Но вот чего я не пойму... Кто и чей хозяин? Я имею в виду, кому надо и на что давать разрешения?
На FTP я захожу под одним логином, который есть в настройках прав доступа...
В админку сайта я вхожу под другим логином... На БД MySQL - свои логины и пароли...

Какие из них считать основными при настройке прав доступа для изменения файлов и папок системой управления сайтом?

Настройка в личтом кабинете на хостинге позволяет поставить только пользователя ftp, или второго пользователя, с неизвестным именем, но у которого в скобках указанно (исполняющий скрипты). Ну и соответственно, на каждого пользователя есть настройки прав (как раз те самые 777...). Я пробовал на каждого пользователя ставить настройки полного доступа. Ждал час, который изменения вступают в силу... Но сообщения в "резервном копировании" не исчезает, и система не позволяет восстановиться из бекапа.

Что делаю не так? Где и что изменить? может подождать подольше? Какой пользователь основной?



Добавлено: 24.08.11 09:18:15 #12

Амиро


Регистрация: 13.09.07
Сообщений: 195


Обратиться по имени

http://www.amiro.ru/product/amiro.cms/tech-req
Для корректной работы модулей "резервное копирование" и "обновления" требуется, чтобы PHP работал с правами того системного пользователя, которому принадлежит корневая директория сайта, а также имел права на запись в корневую директорию сайта без дополнительных настроек.

Спросите у своего хостера, как конкретно сделать оба пункта, указанных выше.





Создать новую тему

Всего тем: 6649
Всего сообщений: 27813
Всего зарегистрированных пользователей: 52647
Последний зарегистрированный пользователь: user5728446769