Автоматизация установки GetSimple CMS с использованием командной строки

Ранее я уже писал об автоматизации установки GetSimple CMS с использованием Git, однако установить GetSimple CMS в автоматическом режиме можно и без его использования, что может быть удобно при работе на сервере, где не установлены привычные инструменты разработки.

Стоит отметить, что в данном случае под автоматизацией я понимаю использование последовательности команд в командной оболочке, которая может быть использована при написании сценариев развёртывания чистой инсталляции системы управления контентом. В качестве примеров я предлагаю рассмотреть установку GetSimple CMS для пользователей, использующих как инструменты GNU/Linux, так и PowerShell в Microsoft Windows.

Прежде, чем перейти непосредственно к рассмотрению примеров кода, следует сказать, что в независимости от того на какой платформе производится автоматическая установка GetSimple CMS, она сводится к выполнению трёх последовательных действий:

  1. получение и загрузка из удалённого источника копии ZIP архива, содержащего файлы системы управления контентом;
  2. извлечение сжатых файлов системы управления контентом в локальную корневую директорию веб-сайта;
  3. удаление полученного ранее ZIP архива.

Пример кода для использования в GNU/Linux

Для выполнения приведённой последовательности действий в GNU/Linux, используя Bash или другую совместимую командную оболочку, можно использовать следующий код:

zipFile="/tmp/getsimple-latest.zip"
wget http://get-simple.info/latest -O $zipFile
sudo unzip $zipFile -d "/var/www/html"
rm $zipFile

В этом примере используется консольная программа wget, если она не установлен, то следует предварительно установить её. В качестве альтернативы wget можно использовать curl.

Пример кода для использования в PowerShell

Для выполнения данного примера требуется установленная версия PowerShell 5.1, так как в нём используется командлет Expand-Archive:

$zipFile = $env:TMP + "\getsimple-latest.zip"
Invoke-WebRequest -Uri http://get-simple.info/latest -OutFile $zipFile
Expand-Archive -Path $zipFile -DestinationPath "C:\Inetpub\Wwwroot"
Remove-Item $zipFile

Приведённые фрагменты кода, как для GNU/Linux, так и для PowerShell, при практическом использовании могут быть сокращены, так как здесь они показаны в виде, преследующем образовательные цели. Не смотря на контекст примеров, связанный с установкой системы управления контентом GetSimple CMS, рассмотренные в коде принципы, могут быть использованы для автоматизации различных задач, связанных с получением файлов из удалённых источников и работы с ZIP архивами.

Важно! Для запуска работающего веб-сайта может понадобиться установка корректных прав доступа на директории и файлы установленной приведёнными способами системы управления контентом GetSimple CMS, а также дополнительная настройка веб-сервера, что не относится к рассмотренной теме.