[EVO] BETA: автоустановка MODX Evo из Shell (ssh) на сервер с ispmanager (api)

Добрый день. Решил я как то сделать bash shell скрипт для автоустановки modx, чтоб одним движением руки, у меня был создан новый сайт)
Что из этого двухнедельного мучения получилось, смотрите сами))



Описание:

Возможности:
  • Копирование modx из вашей сборки установленной на вашем домене (у меня это pevm.ru)
  • Установка новой чистой modx evo 1.0.8 или Dmi3y
  • Установка прав на папки chmod, chown
  • Генерация новых сложных паролей для базы и пользователей
  • Установка параметров «по умолчанию», в базе прописываются новые пути, пароли.
  • Отправка паролей на почту и сохранение в текстовом файле.
  • Создание нового пользователя и www-доменов в системе, создание базы данных, удаление, создание dns записей все через API ISPmanager
  • Есть отдельные скрипты для удаления домена и архивации проекта
  • И все это может работать пакетно, со списком доменов из файла

Хочу:
  • Добавить возможность регистрация домена через api.reg.ru )) чтоб сам и домены регистрировал))
  • Поправить код, привести к нормальному виду) это мой первый скрипт на bash
  • Добавить обработки ошибок, условий… не навредить бы
  • Скрипт может работать и с другими движками (MODX REVO, Wordpress и тп), без разницы… надо только написать дополнительную библиотеку для замены данных в конфиге и базе. Надо собрать эти библиотеки и сделать общее решение)
  • Плагин для ispmanager, чтоб сразу из панели можно было запускать скрипт не заходя в ssh
  • Создать оболочку для удобного хранения паролей в базе данных, с разграничение по правам… и там хранить все пароли от проектов. Там же можно будет проверять сайт на доступность, выставлять счета клиентам и тп)))

Показываю на примерах:
  • «modx -a test.pevm.ru» — копирование рабочей сборки pevm.ru (задается в параметрах) на новый существующий домен test.pevm.ru
  • «modx -u test.pevm.ru» — обновление или новая установка сайта на существующий домен test.pevm.ru (из папки с файлами modx evo 1.0.8)
  • «modx -a tester.ru -с test» — создание нового пользователя test с доменом tester.ru и копирование modx из сборки pevm.ru
  • «modx -g test.pevm.ru» — установка сборки от Dmit3y (отдельным скриптом стачивается c github)


Предыстория:

Давно я видел решение от bezumkin под REVO да еще и под его сборку сервера на Nginx + php5-fpm.
А у меня сервер давно на fastvps.ru (hertzner) и там стандартный Debian 6, apache-prefork + Nginx и удобная панель ISPmanager.
Да еще и вирусы заладили лазить, надо было срочно обновлять более 100 клиентских сайтов на новую версию modx 1.0.8 и обновлять права, разделять базы и пользователей и тп…

Поэтому пришлось думать над своим велосипедом для пакетной работы.
Работал и писал скрипт, почти две недели… удачно обновили все сайты.

Теперь решил использовать этот скрипт не только для обновления но и для установки.

Кому интересно пишите… может кому интересно помочь))

UPDATE

Выложил на github что есть, строго не судите…
github.com/fortunto2/automodx

7 комментариев

avatar
Хорошее дело, если взлетит — может очень пригодиться иногда.

PS Заметил ваш топик абсолютно случайно. Такие вещи лучше публиковать в тематический блог, в данном случае логично в «Эксперименты и исследования»
avatar
да спасибо перенес)) уже поидее работает, просто хочется много чего добавить… кому интересно могу скинуть, для тестов на своем сервере
avatar
Интересно, но ваше решение из разряда таких, которые для тестирования требуют определенного положения звезд=) Так что imho лучше через гитхаб и ждать пока кому-то жареный петух клюнет.
avatar
хорошо… я не настаиваю)) через недельку другую выложу)
avatar
Полезная вещь для людей которые из консоли не вылезают… Но к сожлению, я к таким не отношусь. А так однозначно зачетно
avatar
так в том и дело что я только залез и понеслось)) очень удобно… тут знания для пользования скриптом минимум нужны, вы просто набираете «modx -a tester.ru -с test» и сайт создан)) ssh думаю всеравно используете…

и вообще в планах сделать оболочку, для запуска из спец.панели (панель в статусе идеи) массового управления сайтами на модекс… и плагин для ispmanager (ни разу не делал, надо разбираться… но вроде примеры простые)
Комментарий отредактирован 2013-02-24 19:06:08 пользователем fortunato
avatar
Выложил скрипт как есть github.com/fortunto2/automodx
Сам пользуюсь год, много времени экономит…
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.