Организация рутины при свежей установке modx.

Хочу поделиться скриптами для организации рутины при свежей установке и настройке сайта на modx, как раз проскочил вопрос в сообществе.

Скрипты можно запустить на свежей установке через консоль сервера, ну или вызывать в браузере страницу, предварительно отредактировав список опций.
По умолчанию все настройки рассчитаны на корень сайта example.com/packages.php
На локальном сервере php5-fpm nginx настроенном по инструкции Bezumkin все работает отлично.

Packages.php

Загружает список указанных вами дополнений из доступных репозиториев.
При запуске на работающем сайте, также установит обновленные версии всех дополнений из списка.

Settings.php

Изменяет дефолтные настройки modx и создаёт мастхев ресурсы, вроде sitemap.xml, robots.txt

История скриптов давняя, отцы-основатели Kenters и Bezumkin, за что им огромное спасибо. Дополнения, комментарии и пожелания приветствуются.
Abu
Abu
23 марта 2015, 23:29
modx.pro
42
5 667
+11

Комментарии: 25

Ганин Роман
24 марта 2015, 02:32
0
Ядро может лежать «выше» webroot — gist.github.com/govza/f93c8dead344aba12e29#file-settings-php-L2
Лучше инклудить index.php
    Abu
    Abu
    24 марта 2015, 02:59
    +2
    Изменил на config.core.php, должно ему хватать, c index.php что-то не заладилось.
    Sergey Leleko
    24 марта 2015, 08:35
    0
    Интересное решение
      Alexander V
      24 марта 2015, 08:42
      0
      Было бы круто приспособить к инталятору Modx. Чтобы завершающим шагом можно было накликать комплект пакетов, какие-то настройки и т.п.
        Владимир
        24 марта 2015, 08:58
        0
        Правильно понимаю,
        из репозитория modx (если найдет)
        — т.е. можно использовать и когда дополнение, как бы, для версии 2.2.** (т.е. работает в 2.3.**, но из админки 2.3.** не ставится)?
          Abu
          Abu
          24 марта 2015, 10:29
          +1
          Скрипт проверяет требования версии, а мысль хорошая, некоторые дополнения работают, но не поддерживаются.

          Можно закомментировать строку и отключить проверку, те же DirectResizы всех мастей теперь ставит без вопросов.

          https://gist.github.com/govza/92ac6e95a0956eaf5b1e#file-packages-php-L69
            Владимир
            24 марта 2015, 10:35
            0
            да, класс, будет удобно, а то часто что то оказывается «за бортом…
            беру на вооружение!
          Василий Краковецкий
          27 марта 2015, 14:20
          2
          +2
          Обалденный скрипт, но можно его улучшить) Например зачем вручную менять провайдера? Достаточно сделать вот так — мой форк
            Abu
            Abu
            27 марта 2015, 15:13
            0
            То что нужно! Супер, замёрджил.
              Виктор
              27 марта 2015, 18:42
              +1
              Не подскажешь, вот тут на 99 строчке точно 1 должен быть? А то я что-то пытался вникнуть, что оно делает, но не взошло, а по логике источник должен браться того компонента, который сейчас крутится в фориче.
                Abu
                Abu
                27 марта 2015, 18:58
                0
                Точно не должен быть!:) Спасибо, исправил.
                  Виктор
                  27 марта 2015, 19:17
                  0
                  Для красивости заменил /n на br, а то оно ж не кушает простые переносы, если не в pre. форк.

                  Вот бы еще параметры при установке компонента передавать, например, чтобы включить парсер в pdoTools или заполнять поставщика sdStore при установке. Такое возможно?

                    Abu
                    Abu
                    27 марта 2015, 19:57
                    +1
                    Консоль php-cli не кушает br, а для красивого веб-вывода добавил строчку gist.github.com/govza/92ac6e95a0956eaf5b1e#file-packages-php-L31
                    Вот про передачу параметров не знаю. Скорее всего допиливать еще settings.php, было бы круто еще скриптом политику для контент-менеджера и пользователя manager добавлять, еще и менеджерский дефолтный источник файлов вместе с директорией.
                      Виктор
                      28 марта 2015, 02:47
                      +1
                      pdoTools парсер получилось добавить как-то так. Соответственно получается если компонент ставит что-то опционально, то нужно выковыривать его настройки и дописывать. Радует что хоть лексиконы добавлять не нужно.
            Виктор
            31 марта 2015, 23:37
            +1
            Для setting.php
            $ct = $modx->getObject('modContentType', array('name'=>'HTML'));
            $ct->set('file_extensions', '');
            $ct->save();
            Вот так мы обнуляем расширение файла у типа содержимого -> HTML.

            — 1 еще действие.
              Alexander V
              06 августа 2015, 13:37
              0
              По аналогии с ресурсами можно добавить чанки.
                Сергей
                04 сентября 2015, 10:08
                0
                Можно как-то автоматизировать установку локальных пакетов в package.php?
                  Сергей
                  07 сентября 2015, 22:56
                  0
                  походу packages.php сломался в 2.4…
                    but1head
                    08 сентября 2015, 02:38
                    +1
                    Помню очень-очень давно, когда я работал с joomla (есть грешок), был такой прекрасный компонент akeeba backup — который делал из действующего сайта инсталятор.

                    Неужели на revo нет таких решений?

                    Акеба собирала файлы и бд в архив, все что нужно было сделать на другом хостинге — разархивировать этот архив и прописать лог/пас в в бд.
                        Abu
                        Abu
                        08 сентября 2015, 20:20
                        0
                        Имхо самое нормальное решение. Слегка допилил скрипты, если интересно fork

                        Вкратце, создаются доп скрипты, которыми локальный и продакшен сервера (настроенные по мануалу bezumkin) общаются через ssh с ключами, посредством rsync и mysqldump. Есть upload&&download mysql и upload&&download rsync (files), такая синхронизация серверов. (на продакшене тоже надо запускать модифицированный addsite.sh, явно указывая такие же пароли.

                        Vapor у меня с ошибками несколько раз не сработал, там какие-то нелепые ограничения на некоторые дополнения были. А тут железобетонный mysqldump и rsync, бонусом 2 копии сайта на 2-х серверах, кажется надежнее. В общем тот еще велосипед, но похоже каждый свои велосипеды изобретает.
                        Виталий Батушев
                        08 сентября 2015, 16:39
                        +1
                        Бэкаплю и таскаю между девелопом и релизом в основном Teleport-ом.
                          Роман Садоян
                          08 сентября 2015, 17:03
                          +1
                          Не желаете ли, в свободное от работы и прочих дел время, написать статейку о телепортации MODx, а то выступления И. Климчука может быть не достаточно, я бы, например, с удовольствием почитал.
                          Владимир
                          08 сентября 2015, 17:31
                          0
                          Vapor (в нем, если раскомментировать некоторые параметры, можно менять количество переносимых таблиц) Постоянно им пользуюсь. На modhost.pro/, кстати, он идеально работает.
                            Илья Уткин
                            08 сентября 2015, 22:12
                            0
                            Вот уж, если сказал «некоторые», говори и какие конкретно)))
                        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                        25