Если вы хотите построить веб -сайт с Prestashop в короткое время;
Кроме того, управляйте контейнерами Docker с Portainer.
ARM64/AARCH64, X86-64
APK, DNF, YUM, APT/APT-GET, Zypper
Создайте правила для открытия портов в Интернете, или для конкретного адреса или диапазона IPv4.
Если вы используете систему с менее чем 2 ГБ оперативной памяти, мы рекомендуем вам создать файл обмена; В противном случае ваша установка может потерпеть неудачу.
Скачать с
git clone https://github.com/damalis/full-stack-nginx-prestashop-for-everyone-with-docker-compose.git
Откройте терминал и cd в папку, в которой docker-compose.yml сохраняется и запускается:
cd full-stack-nginx-prestashop-for-everyone-with-docker-compose
chmod +x install.sh
./install.sh
Убедитесь, что у вас есть последние версии Docker и Docker Compose, установленные на вашей машине.
Клонировать этот репозиторий или скопируйте файлы из этого репозитория в новую папку.
Обязательно добавьте своего пользователя в группу docker .
Скачать с
git clone https://github.com/damalis/full-stack-nginx-prestashop-for-everyone-with-docker-compose.git
Откройте терминал и cd в папку, в которой docker-compose.yml сохраняется и запускается:
cd full-stack-nginx-prestashop-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
Контейнеры теперь построены и работают. Вы должны иметь возможность получить доступ к установке Prestashop с настройкой 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/
Вы должны увидеть страницу «Prestashop Demo» в вашем браузере. Если нет, пожалуйста, проверьте, удовлетворяет ли ваша установка PHP требования Prestashop.
https://example.com
INSERT INTO `{PREFIX}_image_type` (`id_image_type`, `name`, `width`, `height`, `products`, `categories`, `manufacturers`, `suppliers`, `stores`)
VALUES
(10, 'large_banner', 960, 400, 0, 1, 0, 0, 0),
(9, 'product_listing', 220, 220, 1, 1, 1, 1, 0),
(8, 'category_default', 960, 350, 0, 1, 0, 0, 0),
(7, 'home_default', 250, 250, 1, 0, 0, 0, 0),
(6, 'large_default', 500, 500, 1, 0, 0, 0, 0),
(5, 'medium_default', 300, 300, 1, 1, 1, 1, 0),
(4, 'small_default', 125, 125, 1, 1, 1, 1, 0),
(3, 'cart_default', 80, 80, 1, 0, 0, 0, 0);
composer remove doctrine/persistence:3.2.0 и composer require doctrine/persistence:2.5.7 в контейнере Prestashop.
https://example.com/admin-dev , Email address: ${LETSENCRYPT_EMAIL} and Password: ${PMA_HTPASSWD_PASSWORD} в файле .env.
Добавить или удалить код в файле ./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 prestashop
Добавить и/или удалить папки сайта Prestashop и файлы с любой клиентской программой FTP в папке ./prestashop .
Вы также можете посетить https://example.com , чтобы получить доступ к веб -сайту после запуска контейнеров.
Добавить или удалить код в файле ./webserver/templates/nginx.conf.template для пользовательских конфигураций nginx
https://docs.nginx.com/nginx/admin-guide/basic-cunctionality/managing-configuration-files/
Оптимизируйте конфигурацию Nginx здесь.
По умолчанию таблицы базы данных Prestashop начинаются с префикса PS_. Это можно настроить во время установки.
Важный;
По соображениям безопасности мы настоятельно рекомендуем настроить префикс базы данных вместо использования по умолчанию. Изменение IT поможет защитить ваш магазин от любых атак (например, некоторая инъекция SQL), нацеленную на имена таблиц по умолчанию.
https://devdocs.prestashop-project.org/8/development/database/
https://mariadb.com/kb/en/configuring-mariadb-with-option-files/
https://dev.mysql.com/doc/refman/8.3/en/
Вы можете добавить свои собственные настройки 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.