Тулкит для запуска 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 и доступны для редактирования. Перезапуск контейнеров после редактирования этих файлов не требуется.