Если вы хотите построить веб -сайт с Codeigniter "AppStarter" в короткое время;
Кроме того, управляйте контейнерами Docker с Portainer.
ARM64/AARCH64, X86-64
APK, DNF, YUM, APT/APT-GET, Zypper
Создайте правила для открытия портов в Интернете, или для конкретного адреса или диапазона IPv4.
Скачать с
git clone https://github.com/damalis/full-stack-nginx-codeigniter-for-everyone-with-docker-compose.git
Откройте терминал и cd в папку, в которой docker-compose.yml сохраняется и запускается:
cd full-stack-nginx-codeigniter-for-everyone-with-docker-compose
chmod +x install.sh
./install.sh
Убедитесь, что у вас есть последние версии Docker и Docker Compose, установленные на вашей машине.
Клонировать этот репозиторий или скопируйте файлы из этого репозитория в новую папку.
Обязательно добавьте своего пользователя в группу docker .
Скачать с
git clone https://github.com/damalis/full-stack-nginx-codeigniter-for-everyone-with-docker-compose.git
Откройте терминал и cd в папку, в которой docker-compose.yml сохраняется и запускается:
cd full-stack-nginx-codeigniter-for-everyone-with-docker-compose
Скопировать пример среды в .env
cp env.example .env
Отредактируйте файл .env , чтобы изменить значения LOCAL_TIMEZONE , DOMAIN_NAME , DIRECTORY_PATH LETSENCRYPT_EMAIL DB_USER , DB_PASSWORD , DB_NAME , db_table_prefix, mysql_root_password, DB_TABLE_PREFIX , database_cont_name, MYSQL_ROOT_PASSWORD , DATABASE_IMAGE_NAME , DATABASE_CONT_NAME , DATABASE_PACKAGE_MANAGER . DATABASE_ADMIN_COMMANDLINE , PMA_CONTROLUSER , PMA_CONTROLPASS , PMA_HTPASSWD_USERNAME и PMA_HTPASSWD_PASSWORD .
Local_timezone = увидеть местные часовые пояса
Directory_Path = pwd в командной строке
Database_image_name = mariadb или mysql
DATABASE_CONT_NAME = mariadb , mysql или custom name
Database_package_manager = apt-get update && apt-get install -y gettext-base для MariaDB, microdnf install -y gettext для MySQL
DATABASE_ADMIN_COMMANDLINE = mariadb-admin для MARIADB, mysqladmin для MySQL
и
cp ./phpmyadmin/apache2/sites-available/default-ssl.sample.conf ./phpmyadmin/apache2/sites-available/default-ssl.conf
Измените example.com на ваше доменное имя в ./phpmyadmin/apache2/sites-available/default-ssl.conf
cp ./database/phpmyadmin/sql/create_tables.sql.template.example ./database/phpmyadmin/sql/create_tables.sql.template
Измените PMA_CONTROLUSER и DB_Authentication_Password в ./database/phpmyadmin/sql/create_tables.sql.template файл.
Во -первых: создаст внешний том
docker volume create --driver local --opt type=none --opt device=${PWD}/certbot --opt o=bind certbot-etc
docker compose up -d
Затем перезагрузка для конфигурации Webserver SSL
docker container restart webserver
Контейнеры теперь построены и работают. Вы должны иметь возможность получить доступ к установке Codeigniter с помощью настроенного IP -адреса в адрес браузера. https://example.com .
Для удобства вы можете добавить новую запись в файл ваших хостов.
docker compose -f portainer-docker-compose.yml -p portainer up -d
Manage Docker с Portainer - это окончательный инструмент управления контейнерами для Docker, Docker Swarm с его очень интуитивно понятным GUI и API.
Вы также можете посетить https://example.com:9001 , чтобы получить доступ к Portainer после запуска контейнеров.
Команда Docker PS показывает только работающие контейнеры по умолчанию. Чтобы увидеть все контейнеры, используйте флаг -A (или -все):
docker ps -a
Вы можете запустить контейнеры с команды up в режиме Daemon (добавив -d в качестве аргумента) или с помощью команды start :
docker compose start
docker compose stop
Чтобы остановить и удалить все контейнеры. Используйте команду down :
docker compose down
Чтобы удалить портайнер и другие контейнеры:
docker rm -f $(docker ps -a -q)
Используйте -v если вам нужно удалить объем базы данных, который используется для сохранения базы данных:
docker compose down -v
Чтобы удалить внешний Certbot-ETC и Portainer и другие тома:
docker volume rm $(docker volume ls -q)
Удалить все изображения, контейнеры, объемы и сети, которые не связаны с контейнером (висят):
docker system prune
Чтобы дополнительно удалить любые остановленные контейнеры и все неиспользованные изображения (не только висящие), добавьте флаг -A в команду:
docker system prune -a
Чтобы удалить портайнер и другие изображения:
docker rmi $(docker image ls -q)
Скопируйте все файлы в новый каталог:
Теперь вы можете использовать команду up :
docker compose up -d
https://docs.docker.com/engine/reference/run/
Вы должны увидеть страницу «Добро пожаловать в Codeigniter ...» в вашем браузере. Если нет, пожалуйста, проверьте, удовлетворяет ли ваша установка PHP требования Codeigniter.
https://example.com
Добавить или удалить код в файле ./php-fpm/php/conf.d/security.ini для пользовательских конфигураций php.ini
https://www.php.net/manual/en/configuration.file.php
Вы должны внести изменения в пользовательские конфигурации хоста ./php-fpm/php-fpm.d/z-www.conf .
https://www.php.net/manual/en/install.fpm.configuration.php
docker container restart codeigniter
Добавить и/или удалить папки сайтов CodeIgniter и файлы с любой клиентской программой FTP в папке ./codeigniter/appstarter .
Вы также можете посетить https://example.com , чтобы получить доступ к веб -сайту после запуска контейнеров.
Добавить или удалить код в файле ./webserver/templates/nginx.conf.template для пользовательских конфигураций nginx
https://docs.nginx.com/nginx/admin-guide/basic-cunctionality/managing-configuration-files/
Redis Cache, параметры конфигурации для подключения к серверу Redis, хранящиеся в файле конфигурации кэша.
Доступные варианты:
<?php
namespace Config;
use CodeIgniterConfigBaseConfig;
class Cache extends BaseConfig
{
// ...
public $redis = [
'host' => 'redis',
'password' => null,
'port' => 6379,
'timeout' => 0,
'database' => 0,
];
// ...
}
Codeigniter оснащена обертками вокруг некоторых из самых популярных форм быстрого и динамического кэширования. Все, кроме файловых кэширования, требуют определенных требований сервера, и будет выброшено фатальное исключение, если требования к серверу не будут выполнены.
https://codeigniter.com/user_guide/libraries/caching.html?highlight=cache
Вы можете добавить свои собственные настройки config.inc.php (например, настройка хранилища конфигурации), создав файл с именем config.user.inc.php с различными настройками, определенными пользователем, а затем связав его в контейнер, используя:
./phpmyadmin/config.user.inc.php
Вы также можете посетить https://example.com:9090 , чтобы получить доступ к PhpMyAdmin после запуска контейнеров.
Первый экран авторизации (htpasswd; имя пользователя или пароль) и экран входа в Phpmyadmin Имя пользователя и пароль такие же, как и в файле .env .
Это подтвердит все файлы и папки в объемах базы данных/дампа SQL и HTML, один раз в день и записывать его в.
BACKUP_CRON_EXPRESSION: '20 01 * * *' UTC Timezone.