Тулкит для запуска InstantCMS 2 в Docker-контейнере.
- Комплектация
- Требования
- Установка и запуск
- Установка InstantCMS
- Остановка контейнеров
- Настройка окружения
- Доступ к файлам
- PHP 7.2.34
- Memcached
- IonCube Loader
- Apache 2.4.38
- mod_rewrite
- Mysql 8
- PhpMyAdmin 5.0.4
Всё окружение настроено специально под InstantCMS.
- bash
- docker
- docker-compose
- git
Склонируйте репозиторий:
$ git clone https://github.com/veocode/icms2-docker.git
Перейдите в новую папку:
$ cd icms2-docker
Запустите мастер установки:
$ ./init.sh
Мастер установки спросит у вас значения следующих параметров:
Параметр | По-умолчанию | Описание |
---|---|---|
InstantCMS version to install | 2.13.1 | Версия InstantCMS для установки. Полный список всех версий можно посмотреть в официальном репозитории |
Web-server Port | 80 | Порт, на котором будет доступен веб-сервер |
PhpMyAdmin Port | 8001 | Порт, на котором будет доступен PhpMyAdmin |
MySQL Database | icmsdb | Название базы данных (будет создана автоматически) |
MySQL User | icmsdb | Пользователь базы данных |
MySQL User Password | secret | Пароль пользователя базы данных |
MySQL Root Password | rootsecret | Пароль root-пользователя базы данных |
После ответа на вопросы установщик загрузит требуемую версию InstantCMS из официального репозитория, настроит, создаст и запустит необходимые контейнеры. Далее вам необходимо установить саму InstantCMS.
После запуска контейнеров ваш сайт будет доступен по адресу: http://<SERVER-IP>:<PORT>
, где SERVER-IP - адрес текущего сервера, PORT - порт веб-сервера, указанный в мастере установки.
Перейдите по адресу http://<SERVER-IP>:<PORT>/install
чтобы запустить установку InstantCMS. Установка проводится по стандартной инструкции, за исключением двух моментов:
В качестве адреса MySQL-сервера укажите mysql
вместо стандартного localhost
. Пользователя, пароль и название базы указывайте в том виде, в котором вы указали их при запуске контейнеров.
Задание планировщика необходимо создать в хост-системе, то есть прямо на том сервере, где вы развернули докер. Команда для задания будет выглядеть так:
docker exec -t icms2-docker_icms_1 php /var/www/html/cron.php
Если вы используете InstantCMS версии ниже, чем 2.14, то после установки необходимо зайти в Панель управления, раздел "Настройки", вкладка "База данных" и активировать опцию Включить режим пустого sql_mode для MySQL
.
Для остановки перейдите в папку icms2-docker
и выполните команду:
docker-compose down
Конфигурацию PHP можно изменить в файле php/php.ini
. После внесения изменений необходимо перезапустить контейнеры:
docker-compose down && docker-compose up
Дополнительные конфиги MySQL можно добавить в папку mysql/conf
Файлы баз данных хранятся в папке mysql/db
Папка mysql/dump
предназначена для импорта готовых SQL-дампов. Положите в эту папку файл с расширением .sql
и его содержимое будет автоматически залито в базу данных в момент её первого создания.
Все файлы InstantCMS размещаются в папке icms2
и доступны для редактирования. Перезапуск контейнеров после редактирования этих файлов не требуется.