Ранее я уже писал об автоматизации установки GetSimple CMS с использованием Git, однако установить GetSimple CMS в автоматическом режиме можно и без его использования, что может быть удобно при работе на сервере, где не установлены привычные инструменты разработки.
Стоит отметить, что в данном случае под автоматизацией я понимаю использование последовательности команд в командной оболочке, которая может быть использована при написании сценариев развёртывания чистой инсталляции системы управления контентом. В качестве примеров я предлагаю рассмотреть установку GetSimple CMS для пользователей, использующих как инструменты GNU/Linux, так и PowerShell в Microsoft Windows.
Прежде, чем перейти непосредственно к рассмотрению примеров кода, следует сказать, что в независимости от того на какой платформе производится автоматическая установка GetSimple CMS, она сводится к выполнению трёх последовательных действий:
- получение и загрузка из удалённого источника копии ZIP архива, содержащего файлы системы управления контентом;
- извлечение сжатых файлов системы управления контентом в локальную корневую директорию веб-сайта;
- удаление полученного ранее 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, а также дополнительная настройка веб-сервера, что не относится к рассмотренной теме.