Организация рутины при свежей установке modx.
Хочу поделиться скриптами для организации рутины при свежей установке и настройке сайта на modx, как раз проскочил вопрос в сообществе.
Скрипты можно запустить на свежей установке через консоль сервера, ну или вызывать в браузере страницу, предварительно отредактировав список опций.
По умолчанию все настройки рассчитаны на корень сайта example.com/packages.php
На локальном сервере php5-fpm nginx настроенном по инструкции Bezumkin все работает отлично.
Packages.php
Загружает список указанных вами дополнений из доступных репозиториев.
При запуске на работающем сайте, также установит обновленные версии всех дополнений из списка.
Settings.php
Изменяет дефолтные настройки modx и создаёт мастхев ресурсы, вроде sitemap.xml, robots.txt
История скриптов давняя, отцы-основатели Kenters и Bezumkin, за что им огромное спасибо. Дополнения, комментарии и пожелания приветствуются.
Скрипты можно запустить на свежей установке через консоль сервера, ну или вызывать в браузере страницу, предварительно отредактировав список опций.
По умолчанию все настройки рассчитаны на корень сайта example.com/packages.php
На локальном сервере php5-fpm nginx настроенном по инструкции Bezumkin все работает отлично.
Packages.php
Загружает список указанных вами дополнений из доступных репозиториев.
При запуске на работающем сайте, также установит обновленные версии всех дополнений из списка.
Settings.php
Изменяет дефолтные настройки modx и создаёт мастхев ресурсы, вроде sitemap.xml, robots.txt
История скриптов давняя, отцы-основатели Kenters и Bezumkin, за что им огромное спасибо. Дополнения, комментарии и пожелания приветствуются.
Комментарии: 25
Ядро может лежать «выше» webroot — gist.github.com/govza/f93c8dead344aba12e29#file-settings-php-L2
Лучше инклудить index.php
Лучше инклудить index.php
Изменил на config.core.php, должно ему хватать, c index.php что-то не заладилось.
Интересное решение
Было бы круто приспособить к инталятору Modx. Чтобы завершающим шагом можно было накликать комплект пакетов, какие-то настройки и т.п.
Правильно понимаю,
из репозитория modx (если найдет)— т.е. можно использовать и когда дополнение, как бы, для версии 2.2.** (т.е. работает в 2.3.**, но из админки 2.3.** не ставится)?
Скрипт проверяет требования версии, а мысль хорошая, некоторые дополнения работают, но не поддерживаются.
Можно закомментировать строку и отключить проверку, те же DirectResizы всех мастей теперь ставит без вопросов.
https://gist.github.com/govza/92ac6e95a0956eaf5b1e#file-packages-php-L69
Можно закомментировать строку и отключить проверку, те же DirectResizы всех мастей теперь ставит без вопросов.
https://gist.github.com/govza/92ac6e95a0956eaf5b1e#file-packages-php-L69
да, класс, будет удобно, а то часто что то оказывается «за бортом…
беру на вооружение!
беру на вооружение!
Обалденный скрипт, но можно его улучшить) Например зачем вручную менять провайдера? Достаточно сделать вот так — мой форк
То что нужно! Супер, замёрджил.
Не подскажешь, вот тут на 99 строчке точно 1 должен быть? А то я что-то пытался вникнуть, что оно делает, но не взошло, а по логике источник должен браться того компонента, который сейчас крутится в фориче.
Точно не должен быть!:) Спасибо, исправил.
Для красивости заменил /n на br, а то оно ж не кушает простые переносы, если не в pre. форк.
Вот бы еще параметры при установке компонента передавать, например, чтобы включить парсер в pdoTools или заполнять поставщика sdStore при установке. Такое возможно?
Вот бы еще параметры при установке компонента передавать, например, чтобы включить парсер в pdoTools или заполнять поставщика sdStore при установке. Такое возможно?
Консоль php-cli не кушает br, а для красивого веб-вывода добавил строчку gist.github.com/govza/92ac6e95a0956eaf5b1e#file-packages-php-L31
Вот про передачу параметров не знаю. Скорее всего допиливать еще settings.php, было бы круто еще скриптом политику для контент-менеджера и пользователя manager добавлять, еще и менеджерский дефолтный источник файлов вместе с директорией.
Вот про передачу параметров не знаю. Скорее всего допиливать еще settings.php, было бы круто еще скриптом политику для контент-менеджера и пользователя manager добавлять, еще и менеджерский дефолтный источник файлов вместе с директорией.
pdoTools парсер получилось добавить как-то так. Соответственно получается если компонент ставит что-то опционально, то нужно выковыривать его настройки и дописывать. Радует что хоть лексиконы добавлять не нужно.
Для setting.php
— 1 еще действие.
$ct = $modx->getObject('modContentType', array('name'=>'HTML'));
$ct->set('file_extensions', '');
$ct->save();
Вот так мы обнуляем расширение файла у типа содержимого -> HTML.— 1 еще действие.
По аналогии с ресурсами можно добавить чанки.
Можно как-то автоматизировать установку локальных пакетов в package.php?
походу packages.php сломался в 2.4…
Помню очень-очень давно, когда я работал с joomla (есть грешок), был такой прекрасный компонент akeeba backup — который делал из действующего сайта инсталятор.
Неужели на revo нет таких решений?
Акеба собирала файлы и бд в архив, все что нужно было сделать на другом хостинге — разархивировать этот архив и прописать лог/пас в в бд.
Неужели на revo нет таких решений?
Акеба собирала файлы и бд в архив, все что нужно было сделать на другом хостинге — разархивировать этот архив и прописать лог/пас в в бд.
Имхо самое нормальное решение. Слегка допилил скрипты, если интересно fork
Вкратце, создаются доп скрипты, которыми локальный и продакшен сервера (настроенные по мануалу bezumkin) общаются через ssh с ключами, посредством rsync и mysqldump. Есть upload&&download mysql и upload&&download rsync (files), такая синхронизация серверов. (на продакшене тоже надо запускать модифицированный addsite.sh, явно указывая такие же пароли.
Vapor у меня с ошибками несколько раз не сработал, там какие-то нелепые ограничения на некоторые дополнения были. А тут железобетонный mysqldump и rsync, бонусом 2 копии сайта на 2-х серверах, кажется надежнее. В общем тот еще велосипед, но похоже каждый свои велосипеды изобретает.
Вкратце, создаются доп скрипты, которыми локальный и продакшен сервера (настроенные по мануалу bezumkin) общаются через ssh с ключами, посредством rsync и mysqldump. Есть upload&&download mysql и upload&&download rsync (files), такая синхронизация серверов. (на продакшене тоже надо запускать модифицированный addsite.sh, явно указывая такие же пароли.
Vapor у меня с ошибками несколько раз не сработал, там какие-то нелепые ограничения на некоторые дополнения были. А тут железобетонный mysqldump и rsync, бонусом 2 копии сайта на 2-х серверах, кажется надежнее. В общем тот еще велосипед, но похоже каждый свои велосипеды изобретает.
Бэкаплю и таскаю между девелопом и релизом в основном Teleport-ом.
Не желаете ли, в свободное от работы и прочих дел время, написать статейку о телепортации MODx, а то выступления И. Климчука может быть не достаточно, я бы, например, с удовольствием почитал.
Vapor (в нем, если раскомментировать некоторые параметры, можно менять количество переносимых таблиц) Постоянно им пользуюсь. На modhost.pro/, кстати, он идеально работает.
Вот уж, если сказал «некоторые», говори и какие конкретно)))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.