Николай Ланец
9 апр. 2013 г., 7:50

modxcloud.com, Vapor и клонирование сайтов.

Наверняка уже многие слышали про modxcloud.com, но далеко не все его попробовали в деле. Может уже пора? Сегодня я расскажу, как это сделать проще.
Начнем с того, что на modxcloud.com дев-аккаунт на два облака — бесплатный. А значит попробовать все это дело вам ничего не будет стоить. Если вы не хотите пробовать, так как считаете, что $24 в месяц за 4 облака — это дорого и можно найти гораздо дешевле, и вы все равно вряд ли этим будете пользоваться, а значит и пробовать не стоит, я вас уверяю: не стоит торопиться делать выводы. modxcloud.com — это не просто хостинг, это хостинг для MODX-разработчиков, и он не просто для того, чтобы там крутились ваши сайты, а еще и для того, чтобы процесс разработки и сопровождения ваших сайтов для вас был значительно проще, и главное — отнимал гораздо меньше времени. Простой пример: вам надо установить новый чистый MODX Revolution, или обновить версию MODX текущего сайта на более новую? Вспомните, как это происходит на вашем любимом хостинге (включая коннект по ftp заливку файлов дистрибутива, настройку базы данных и т.п., не говоря уже о последующем походе на форум сообщества с вопросами «Я обновил сайт и у меня все слетело. Что делать дальше?»). А теперь представьте, что все это можно сделать всего в три клика мышкой… И все. Не надо делать вообще ничего. Ваш сайт просто установится или обновится, и все. Главное — вы даже не успеете чаю попить, так как это занимает всего пару минут. Я хочу сказать, что учитывая стоимость моего времени, всего одна такая альтернативная установка сайта в месяц уже отбивает мне $24. А у меня таких операций в месяц не мало… Так что поверьте на слово: это стоит того, чтобы как минимум попробовать все это, тем более бесплатно.
А теперь вернемся к вопросу миграции сайтов. Ведь нас интересует вопрос как переноса на modxcloud.com уже готового сайта, так и с modxcloud.com на другой хостинг (бывает всякое — элементарно у клиента где-то свой аккаунт). Во-первых, конечно же ssh/sftp еще никто не отменял, так что любой может воспользоваться для этих целей привычными методами. Но есть решение гораздо лучше — скрипт Vapor (к слову, скрипт написан самим Джейсоном Ковардом opengeek — главным архитектором MODX). Странно, что о нем почти нигде ничего не упоминается, а это между прочим очень мощный инструмент для резервного копирования MODX-сайтов (именно Рево, и начиная с версии 2.2). Принципы его работы будут очень понятны тем, кто уже писал пакеты для MODX Revolution, и результат его выполнения — обычный пакет, который можно установить через менеджер пакетов на MODX-сайте, только он более обширный. Но здесь очень важно понимать, что этот скрипт предназначен именно для резервного копирования, и все таблицы, которые в него попадут, при установке конечного пакета будут полностью очищены, и наполнены теми данными, которые были в базе данных на момент снятия снимка. То есть используйте его только для переноса или полного бекапа сайта, но никак не для создания заплаток. Для создания заплаток мы будем использовать packMan, и об этом мы поговорим чуть позже.
Пример первый. Перенос существующего сайта на modxcloud.com
1. Выполняем бекап своего сайта привычными методами (На всякий случай. Бекапов много не бывает.) 2. Качаем Vapor и распаковываем его в корень сайта. Затем выполняем этот скрипт, набрав в адресной строке mydomain/vapor_path/vapor.php. Ждем выполнения скрипта (может занять от трех секунд до минуты и больше, в зависимости от размера сайта). 3. Если все выполнилось хорошо, вы увидите сообщение об этом и название созданного пакета. Он будет находиться в папке core/packages/. Вот этот пакет нам и нужен. Это снимок сайта. 4. Перемещаем пакет куда-нибудь так, чтобы он был доступен для скачивания по открытой ссылке (надеюсь у вас на сайте папка /core/ закрыта для запросов из вне). 5. Теперь заходим на modxcloud.com в свой личный кабинет, переходим на страницу Vapor и жмем Import Snapshot
?
6. Далее указываем категорию снапшотов (если надо, создаем новую) и УРЛ на ваш снапшот.
?
7. Жмем «Import Snapshot» и получаем сообщение типа «все ОК, наши роботы работают, и когда все сделают, отправят вам уведомление». Уведомление вы получите на почту, а так же в вашей панели.
?
8. После того, как вы испортировали свой снапшот, его можно распаковать в уже имеющийся сайт, или создать из него новое облако.
?
Это все. На выходе вы получите клон вашего сайта. Большой плюс заключается в том, что можно хранить для себя вот такие снимки, и потом легко разворачивать из них типовые сайты, как это делаем мы.
Пример второй. Перенести сайт куда угодно.
Когда у нас есть готовый снапшот (смотрим пункты 1,2,3 в прошлом примере), мы его можем легко развернуть на любом хостинге. Просто устанавливаем чистую MODX Revolution, заливаем этот снапшот в core/packages/, заходим в админке в менеджер пакетов, выполняем локальный поиск пакетов, и устанавливаем снапшот как обычный пакет. В процессе установки ваша сессия оборвется, и это нормально (я писал выше, что все таблицы очищаются, и modx_sessions — не исключение). Немного подождите (в зависимости от размеров снапшота от нескольких секунд и больше на личное усмотрение) и попробуйте опять авторизоваться в админке. Скорее всего вы получите рабочую копию сайта. Плюс такого метода заключается в том, что вам не приходится править файлы конфигурации и т.п., у вас уже все настроено.
Побочный плюс такого подхода к разработке.
Данный метод можно вообще рассматривать как тест того, правильно ли вы ведете разработку на MODX Revolution. Когда делается снимок вашего сайта, в него не включаются CORE_PATH (за исключением папки components, она включается), MANAGER_PATH, CONNECTORS_PATH, файлы конфигурации и index.php. То есть ядро полностью исключается. И ваши разработки ни в коем случае не должны затрагивать ядра. Это будет обеспечивать полную переносимость вашей разработки на любой MODX-сайт. А если при переносе у вас все ломается, значит вы что-то делаете не правильно (то есть где-то зацепили ядро).
Вот если все вот это вы освоите, и ваш сайт успешно будет переноситься с помощью Vapor, вы научитесь сосредотачиваться только на своей разработке, а не на всей системе в целом. Если вам где-то пришлось затронуть ядро — значит вы недостаточно хорошо знаете MODX, и где-то неправильно с ним работаете, при таком подходе вам придется тянуть не только свою разработку, но и весь сайт в целом, включая ядро MODX-а. А это усложняет ваш проект сразу в тысячу раз.
UPD: Выложил пакет в официальный репозиторий.
Да, modxcloud — отличный инструмент для разработчика. Особенно для тех, кто пытается разрабатывать сайты на денвере, а потом переносить на боевой хостинг. Сколько в коммьюнити топиков, типа «getResources не работает после переноса на хостинг — на денвере все работало» или наоборот — «на хостинге все работает, а на денвере фотки не обрезаются как надо». Используйте бесплатный аккаунт cloud и проблем не будет!
Здесь еще надо сразу отмечать факт стандартизации. Если что-то на хостинге работает неправильно, это обязательно будет пофиксино, а значит эта ошибка устранится для все сайтов. То есть технический риск для сайтов снижается просто на несколько порядков. Если у меня один сайт работает четко, я точно знаю, что залью еще один сайт, и он будет так же четко работать. А если что-то не работает, я напишу в саппорт, который не просто хостингом занимается, а четко знает MODX, и ошибки хостинга будут рассматриваться именно как ошибки для MODX.
Fi1osof +++ за грамотный обзор по Vapor, выходит мощная штука, на впс тоже должно работать. На днях думаю замутить какую-нибудь болванку. И кстати, сразу вопрос по Vapor, после установки в клауд он накатил мне нового админа, можно ли там не менять логин пароль/менеджера от первоначальной установки?
По Клауду же думаю дорого, по сути предлагают специализированный шаред, как бы они там «облаками» не разбрасывались, там нет многих признаков облака и даже впс, т.к. например нет учета по затратам, рута, непонятно, что там с масштабируемостью и своих CDN, да еще и ограничения на количество сайтов.
А цены серьезные, и особенно дорого выходит у новичков вроде меня, т.к. нет нагруженных проектов, а есть множество вялотекущих, которые тем не менее приходится периодически обновлять и дорабатывать.
Плюс со слабым инетом сложно работать удаленно, поэтому для меня оптимально получилось — 2 почти идентичных сервера — локальный в виртуалке и синхронизируемый удаленный (нет — багам при переносе).
Есть скрипты безумкина на создание и обновление облака сайта + скрипты синхронизации, без веб-морды, но за 1 команду — ~3$/месяц, за 4 ядра, 2Гб ОЗУ и 100500 облаков (думаю как бы еще туда сервак майнкрафт прикрутить, чтобы он еще не треснул)).
И кстати, сразу вопрос по Vapor, после установки в клауд он накатил мне нового админа, можно ли там не менять логин пароль/менеджера от первоначальной установки?
По умолчанию нет, так как я писал, что он перетирает все, это снимок. Но если его покапать (сам vapor.php), то можно все, что угодно. Там вот есть такая полезная штука:
$vaporOptions = array( 'excludeExtraTablePrefix' => array(), 'excludeExtraTables' => array(), 'excludeFiles' => array( MODX_BASE_PATH .'vapor', MODX_BASE_PATH .'phpmyadmin', ) );
То есть можно исключить таблицы, таблицы с префиксом и файлы по своему усмотрению. Но такой тюнинг требует очень глубоких познаний MODX-а. Я выше писал, что это все-таки инструмент для полных снимков, а не для создания заплаток. Для заплаток больше подходит mackMan, и мы его в дальнейшем рассмотрим. Так же будет поднят вопрос по доработке его, чтобы можно было таблицы в него включать.
По Клауду же думаю дорого, по сути предлагают специализированный шаред, как бы они там «облаками» не разбрасывались, там нет многих признаков облака и даже впс, т.к. например нет учета по затратам, рута, непонятно, что там с масштабируемостью и своих CDN, да еще и ограничения на количество сайтов.
Я уже поднял тарифный план до Business ($99/месяц). Считаешь ли, что я глупо поступаю? ;-) У меня несколько аккаунтов на шаредхостингах и свой облачный сервер (не первый уже). Мне есть с чем сравнивать. modxcloud.com нельзя сравнивать с ними. Это совершенно другой инструмент. Я на нем ежедневно экономлю не менее часа-двух своего времени. А мое время не копеечку стоит. Я заплачу $100, и сэкономлю $500. А на простом хостинге я просто заплачу меньше, но вообще не сэкономлю. Плюс постоянные траблы. Теперь я буду работать только с http;//modxcloud.com
А цены серьезные, и особенно дорого выходит у новичков вроде меня, т.к. нет нагруженных проектов, а есть множество вялотекущих, которые тем не менее приходится периодически обновлять и дорабатывать.
Вот как раз вам и лучше с modxcloud.com работать, так как вы имеете возможность сосредоточиться конкретно на программировании MODX-а, а не системном администрировании, установке MODX-а и т.п.
Есть скрипты безумкина на создание и обновление облака сайта + скрипты синхронизации, без веб-морды, но за 1 команду — ~3$/месяц, за 4 ядра, 2Гб ОЗУ и 100500 облаков (думаю как бы еще туда сервак майнкрафт прикрутить, чтобы он еще не треснул)).
Удачи! :-) Системный администратор — твоя вторая профессия.
А кто-нибудь пробовал реальный сайт вапорить? 1000 ресурсов — в браузере ничего не возвращается. Даже вроде бы не работает на все время max_execution_time.
Я пробовал, и успешно. 13000 документов. Пакет почти полгига.
max_execution_time
Это будет зависеть от настроек хостинга. На этот счет очень хорошая статья на хабре есть: habrahabr.ru/post/175651/ Так же почитайте официальную мануалу. Рекомендованный способ — через ssh и консоль
Раз 10 наверное попробовал на хостинге и локально. Пару раз удачно, потом упорно не переносил пользователя. Таблица users пустая.
Не подскажу ничего с этим. У меня такой проблемы не возникало, хотя каждый день с ним работаю.
Подскажите, как правильно исключить таблицу users? Пробовал так
<code>$vaporOptions = array( 'excludeExtraTablePrefix' => array(modx_), 'excludeExtraTables' => array(users), 'excludeFiles' => array()</code>
результат тот же, затирается таблица и всё тут…
1.
array(users)
Учитесь строковые переменные в ковычки брать, чтобы это строкой было, а не необъявленной константой.
2. excludeExtraTables — смотрите код vapor.php На то они и ExtraTables, чтобы не быть таблицами ядра. Даже если вы правильно укажите имя таблицы, она не исключится, так как она в ядре, а не в дополнениях.
3. Если вы хотите исключить modUser, то надо удалять элементы массива с классами ядра.
/* Defines the classes to extract (also used for truncation) */ $classes= array (
Но, как я писал выше
такой тюнинг требует очень глубоких познаний MODX-а
Ведь есть связанные данные.
Еще раз: это для полного переноса сайта с перезаписью существующего.
Но если вам уж очень хочется перенести снимок, и только пользователей оставить существующих, то сделайте проще: сделайте бекап таблиц пользователей, их аттрибутов, групп и т.п. Потом накатите снимок, а затем затрите таблицы пользователей и их данные. То есть накатите пользователей поверх сайта. И будет вам счастье.
Магия какая-то. Пару раз таблица юзеров перенеслась, но теперь она просто затирается. Исключить хотел только по этой причине. Хотел сделать снимок типового сайта.
Такая же фигня, юзеров нет.
Так-с, вроде получилось, осталось выяснить какой пароль у юзверей? желания пользоваться этим звапором уже маловато… там еще какой-то гемор с Articles идет, сыровато все имхо
Vapor создавался специально под htpp://modxcloud.com и там он довольно стабильно себя показывает. Там же есть специальная кнопка в панели «Создать администратора». Если разворачивали на собственном сайте и возможности нет создать пользователя, то все довольно просто: заходим в базу данных, и любому активному пользователю указываем свой емейл, и через панель входа восстанавливаем пароль. В дальнейшем у вас есть вариант сделать из этого свою сборку.
Понятно, хороший способ, можно еще md5 хэш пароля закинуть в базу и изменить тип проверки, хотелось, просто по-меньше движений.
Похоже проблема в настройках хостинга. На разных серверах ведёт себя по-разному.
То, что для Modxcloud они фишки свои делают хорошо. Только ценник у них явно завышен, $24 за 2 сайта это перебор.
можно еще md5 хэш пароля закинуть в базу и изменить тип проверки, хотелось, просто по-меньше движений
Это слишком много движений.
Еще раз… Это потому что вы не научились там работать. Экономия получается огроменная. По сути я могу сказать, что переведя сайт с другого хостинга на modxcloud.com, я экономлю больше, чем плачу за этот хостинг. Вы вот оцениваете вообще свой час работы? То, что на modxcloud.com делается в два клика, запросто может занять и час, и два, и больше. Вы пробовали обновить версию MODX-а на сайте? Хоть раз? Сколько это заняло времени? С учетом снять бекап, скачать дистрибутив, распаковать, обновиться (дай Бог без проблем) и т.п., это никак не менее часа. Там это делается в два клика. Я за этот месяц обновил более десяти сайтов. Считайте, что сэкономил минимум 10 часов, то есть не менее $300.
Это очень сложная процедура, и боле менее гарантирована на modxcloud
Обновлять не пробовал. Вы наверное не в курсе, что на хостингах есть резервное копирование? Сам пользуюсь VPS поэтому за бекапы не переживаю.
Тариф $99 за 10 сайтов в месяц при условии, что обновлять надо не чаще 2х раз в год это явный перебор. ИМХО конечно.
Я не в курсе? За пять лет сайтостроительства я не освоил бекапы? У меня несколько аккаунтов на шаредхостингах и свой облачный сервер (не modxcloud.com). И я знаю сколько времени занимает сделать бекап там, и сколько у меня занимает времени сделать пару кликов на modxcloud.com В общем, идите и попробуйте с нуля провести на своем VPS процедуру обновления версии MODX с нуля, включая создание бекапа. И потом скажите сколько это времени заняло, и насколько больше действий, чем 6 кликов мышкой.
10 сайтов, плюс 30 девелоп-облаков, хранилище снимков, управление доступами к облаку и т.п. Еще раз: вы не разработчик в команде, а фрилансер-одиночка. Потому и смотрите на эти вещи по-другому. Но убеждать вас особо не собираюсь. И: можете смело обращать внимание на другие ресурсы. Я вас учить ничему не хочу, но и пользы в вас не видно вообще.
Доброго дня. После установки пакета собранного посредством vapor требуется переустанавливать некоторое расширения, например ACE, Redirector, MIGX и д.р. Т.е. развернутая сборка требует перепроверки, что отнимает, опять же, время. Как считаете, в чем может быть проблема? (хостинг VDS Timeweb, то же самое на локалке)
Добрый день. Вы vapor с официального сайта качали или из репозитория modx.com качали мой vapor?
Vapor — Ваш вариант. Очень удобное расширение, но хочу понять почему возникает этот неприятный момент. Именно ACE обратило мое внимание что пакет как то не корректно установился. Устанавливал свою сборку несколько раз, локально и на хостинг, но все время требовалось переустановить несколько пакетов.
Тогда все понятно. Здесь я писал, что официальный vapor не архивирует некоторые системные папки, включая MANAGER_PATH. В своем модифицированном vapor-е я сделал, чтобы он архивировал в том числе и MANAGER_PATH/components. Но в Ace-1.4.1 Данил перенес файлы эйса из manager/components/ в manager/assets/, а эта папка не архивируется vapor-ом. Вот и ответ.
Но пакетов, которые хранят свои файлы в manager/ очень мало, и их можно даже просто запомнить. Простая переустановка имеющегося пакета в менеджере пакетов лечит это дело (даже не надо качать новый пакет, просто запускайте переустановку).
Благодарю Вас. Теперь все понятно. Вы не подскажите пакеты, кроме Ace, которые хранят свои файлы в manager/, те что Вам известны (я понял что и Redirect к ним относится)? Все таки разворачивать сборку из vapor одно удовольствие :), как и делать им копию сайта.
Конечно, я просто запускал переустановку. Теперь бы составить себе список таких пакетов.
На самом деле кроме Ace-а больше и не знаю. Мои все в manager/components/ хранятся, так что с ними проблем нет.
Все таки разворачивать сборку из vapor одно удовольствие :)
Сам им постоянно пользуюсь. Еще vapor использован в modxSDK, там можно пакеты формировать. Правда пока еще это ограниченный функционал, но все равно польза от него имеется.
Создал пакет, установил чистую cms, закинул пакет, установил в управлении пакетами — большая часть интерфейса при редактировании пропала (первый скрин), окна настроек системы, управления пакетами, компонентов и вообще любого другого нет
Ставил на Денвер. Что делать, чтобы установка прошла нормально? На Модх Коулд переходить? ?
?
Насчет vapor не подскажу, но могу точно сказать — если вы от денвера не избавитесь, то глюки вас будут преследовать!
Дык знаю, что он ущербный, но привычка — вещь упрямая. XAMPP ставил — дофига всего полезного, о котором я не знаю для чего оно + танцы при установке нового сайта.... Вернулся на денвер.
поставь в виртуалку linux настрой все как на сервере и работай! От денвера отвыкай)))
Вполне возможно у вас просто не весь пакет накатился. 1. После такой поломки чаще всего спасает обновление MODX-а. Установите сейчас MODX поверх в режиме обновления. 2. Снапшоты лучше накатывать через консоль. В состав моего модифицированного Vapor-а входит скрипт import.php Скачиваете снапшот-пакет (или закидываете в core/packages) и выполняете через консоль (в винде cmd или far) из корня сайта (или откуда угодно с указанием правильных путей):
php vapor/import.php package=core/packages/package~.zip (актуальный путь до пекета).
И все, пакет накатится без риска потери сессии и т.п.
P.S. так как у вас винда и скорее всего команда php не будет видна глобальна, указываете в этой строке полный путь до php-программы (типа C:/Denver/usr/bin/php5/php.exe или как он там у вас)
Приветствую! Столкнулся с точно такой же проблемой как и у Вас! Пробовал и с Денвера и с виртуального хоста, ничего не меняется… Заливаю в облако, а правой части админки нет( Вы как-то разрешили свою ситуацию?
Не, отложил в долгий. Бекапы в принципе тоже самое делают. Вы не пробовали по совету Философа выше закинуть папку setup и обновиться?
Пробовал, только не получилось) Может я что-то не так делаю… Установил модифицированный Vapor, делал вот так мой домен/vapor/import.php%20package=core/packages/package1.zip
выдает 404 ошибку, скорее всего не верный синтаксис. Я подумал может у Вас этот вопрос разрешился)
На денвере закинул папку setup и обновился — не помогло, в облаке обновился — помогло, но меня это вариант не устроил. Хочу разобраться почему у меня не как у всех.
Я, не так уж много раз переносил сайты, но случалось в т.ч. и на денвере. Могу описать как я это обычно делаю, но я всегда в конце кидаю сетап и обновляюсь. Никогда даже не пробовал иначе, только с vapor.
домен/vapor/import.php%20package=core/packages/package1.zip
Неправильно делаете. import.php — он рассчитан чисто на консольное выполнение (а через морду с тем же успехом можно выполнять и через нативный менеджер пакетов). В консольном выполнении есть много плюсов, включая отсутствие проблемы обрыва сессий и т.п. Правильно делать так: заходите по ssh, и выполняете в консоли php vapor/import.php package=core/packages/package-transport.zip
но я всегда в конце кидаю сетап и обновляюсь
Советую обратить внимание на этот скрипт. Реально удобней получается. Он и последнюю версию скачает, если надо, и умеет с уже имеющимся архивом работать, чтобы не качать каждый раз (правда использует только последнюю версию, но это не особая проблема).
Спасибо. Вчера как раз на него наткнулся, добавил в закладки.
что-то запустил- и прям страшное случилось — белый экран и в логах ошибок
<code>PHP Fatal error: Class 'modContext_' not found in ...</code>
Ну ниче, бекап в помощь
Ну ниче, бекап в помощь
Ага. Видимо сервачок барахлит…
Доброго времени суток. У меня трабла, при переносе с modxcloud на digitalocean имею только главную страницу, при переходе на другие страницы получаю: «The requested URL /catalog/xxxxxx/yyyyyyyy.html was not found on this server.»
Алишер, привет!
Просто переименуй ht.access в .htaccess Там nginx правила рулит, а у тебя скорее всего конечный сервер — Апач.
У меня Ubuntu с LAMP, я первым делом сделал переименование, но чет не помогло. Кстати если переносить обратно, та же бяка. Я имею ввиду сайт, который начинался на digitalocean перенести на modxcloud.
я первым делом сделал переименование, но чет не помогло
Так может .htaccess не разрешен. Или может у тебя там вообще все через nginx + php-fastcgi или типа того работает, и вообще правила реврайта надо на нгинксе настраивать.
Добрый день, вчера все починил, но пришлось ковыряться в настройках сервера и немного дописать .htaccess.
Добрый! Но это все не относится к самому MODX-у. Это серверные настройки. Верно?
ДА верно. Какое-то время назад мне не был доступен modxclub поэтому не смог оперативно ответить. Я этот вопрос задавал именно сюда, потому, что у меня на этом же хостинге сидит другой сайт, на котором прекрасно работает ЧПУ. Логично было подумать, что дело не в сервере, но дело было в сервере, извиняюсь за вопрос. На будущее, многие проблемы решаются переименованием ht.access в .htaccess. Спасибо.
Да ладно, обращайся, если что :-)
Добрый день, перенес сайт вапаром на новый серв, все ок! Сейчас хочу сделать бэк ап на новом сервере, (тот же сайт) domen.ru/vapor/vapor.php выдаёт 404, на старом сервере работало. в чем может быть проблема? vapor не переустанавливал
Добрый день. Так посмотрите, лежит ли у вас там vapor? Если нет, переустановите его.
Спасибо, переустановил и timezone поменял, завёлся.
Здравствуйте Когда вапор будет работать с modx 2.3?
А в чем именно проявляется его неработа?
Помогите разобраться пожалуйста Сделал сайт на хостинге создал через vapor снимок пробую поднять такой же сайт на том же хостинге через установку пакета(снимка сделанного ранее) всё устанавливается один в один кроме пользователей и прав на доступ в админку при установке в консоль выпадает красным сообщение
Could not install files from /var/www/u0068993/data/www/landpagestore.ru/core/packages//var/www/u0068993/data/www/landpagestore.ru/manager/components to /var/www/u0068993/data/www/landpagestore.ru/manager/
как исправить, так что бы все было как на сайте оригинале
Про права я говорил, комментируйте исключения в vapor.php перед тем как сделать снимок. По умолчанию пользователи исключаются.
Про «Could not install files from» — судя по всему просто нет прав на запись в папку manager/ (я не беру во внимание странные пути, возможно это просто скрипт так выдает).
Закомментировал исключения — не помогло, всёравно не переносит пользователей, набор прав и политики перенеслись а юзера нужного нет
Проверь отредактировался ли vapor.php (именно на стороне сайта-источника). Не может он не перенести пользователя (тем более какого-то отдельного). Перед накатыванием все таблицы целевые очищаются, поэтому если бы пользователи переносились, то таблица modx_users на целевом сайте очистилась бы и туда или все новые записи попали бы, или наверняка вообще ни один пользователь бы не накатился из-за какой-либо ошибки.
Подскажите пожалуйста, что нужно в vapor закомментировать, что бы в него попали только изменения пакетов, шаблонов, тв, снипетов, чанков, но не ресурсов. Вообщем задача накатить пакетом все обновление, а ресурсы которые уже созданы в разных сайтах не трогать.
Достаточно закоментить только вот это?
'modResource', 'modResourceGroup', 'modResourceGroupResource',
Очень не хотелось бы путем проб и ошибок, подскажите пожалуйста верное решение.
Путем проб и ошибок как раз самое верное решение: ) Запомнишь навсегда.
Что то мне подсказывает что Николай знает точно какие закоментить А так попробуешь… можно сразу и не заметить ошибку.
1. Бэкапы рулят. Обязательно делаем бекапы. 2. Надо не комментировать, а добавлять в исключения. Есть перечисление всех xPDO-классов, которые будут в снимок фигачиться. А есть массив исключаемых классов. Вот туда и надо добавить исключаемые классы. А если просто закомментировать их в перечислении, то они не объектами перенесены а просто дампами таблиц, так что все равно на целевом сайте все будет затерто для них.
Ясно, спасибо за пояснение, так и все же какие классы исключать, что бы изменения не затронули ресурсы, и указанные в них параметры, в том числе и значения полей ТВ?
Этих исключений достаточно:
// Exclude classes from truncate $excludeClasses= array ( 'modActiveUser', 'modManagerLog', 'modSession', // 'modUser', // 'modUserProfile', // 'modUserGroupMember', // 'modUserMessage', // 'modUserSetting', 'modResource', 'modResourceGroup', 'modResourceGroupResource', );
том числе и значения полей ТВ?
А где у вас перечисления ТВ-шек? Добавьте в исключения вообще все классы и исключите только то, что надо перенести. Так надежней будет.
Тут две проблемы 1 Я точно знаю, что изменения не должны затронуть только рессурсы, т.е. не трогаем только то, что отвечает за наполнение сайта, все остальное нужно обновить. И что бы не пропустить что-то, проще исключить только ресурсы, а не наоборот. Собирать и вспоминать что обновил каждый прогер проекта не удобно, вдруг что то забудем, и это может обнаружить себя не сразу. Даже если какой-то ТВ параметр изменился или вообще исчез, значит и шаблон где он использовался был исправлен. Т.е. в ресурсах эти данные не нужны. 2 Если бы я знал за что отвечает каждый класс, я бы уже не спрашивал как и что исключить из обновления. По названию, к сожалению, не всегда 100% ясно что имеется ввиду.
Ну как минимум еще modTemplateVarResourceGroup исключить. Именно здесь лежат значения ТВшек документов.
modTemplateVarResource — здесь лежат значения, выяснилось опытным путем
и как раз вопрос, как разобрать какой класс за что отвечает? modResource — этот modContentType — или этот и т.д. прямо вот конкретно с описанием?
Сорри, я не то скопировал. Не modTemplateVarResourceGroup, а modTemplateVarResource. Но зато теперь вы больше знаете о структуре MODX-а :)
А на вопрос ответить? Или все методом тыка?
Советую к ознакомлению: ilyaut.ru/xpdo/
Доброго дня! С импортом тут у вас расписано modxclub.ru/blog/dokumentatsiya-dlya-spetsialistov/45.html#comment-1751, спасибо, это очень удобно. Подскажите, как создать в пакете vapor снимок командой из консоли?
PS Could not open input file: vapor/vapor.php так не запускается
так не запускается: ***@***:~/www/vapor$ php vapor/vapor.php Could not open input file: vapor/vapor.php ***@***:~/www/vapor$ не смог отредактировать предыдущий коммент, извините.
Под админом, и проверь стоит ли у тебя vapor, я бы советовал переносить сайт стандартным способом, по крайней мере у меня наблюдались глюки и ошибки в дальнейшем использование,
Вопрос не содержал иного, чем «из консоли», по ssh, соответственно прод каким еще админом?
проверь стоит ли у тебя vapor
— спасибо, не смешно.
я бы советовал переносить сайт стандартным способом
— еще раз спасибо.
так не запускается: ***@***:~/www/vapor$ php vapor/vapor.php Could not open input file: vapor/vapor.php
Если ls -la vapor/vapor.php выводит файл, то я не знаю по какой причине может не выполняться php vapor/vapor.php Я именно так и собираю. Единственное, попробуйте прописать полный путь, то есть php /path_for_site/vapor/vapor.php А то может пых-пых как базовую директорию не текущую использует.
не текущую использует
точно, спасибо, так и есть!

Добавить комментарий