Se você deseja construir um site com o Prestashop em pouco tempo;
Além disso, gerencie recipientes do Docker com Portainer.
ARM64/AARCH64, x86-64
apk, dnf, yum, apt/apt-get, zypper
Crie regras para abrir portas para a Internet ou para um endereço ou intervalo IPv4 específico.
Se você estiver usando um sistema com menos de 2 GB de RAM, recomendamos que você crie um arquivo de troca; Caso contrário, sua instalação pode falhar.
baixar com
git clone https://github.com/damalis/full-stack-nginx-prestashop-for-everyone-with-docker-compose.git
Abra um terminal e cd para a pasta em que docker-compose.yml é salvo e executado:
cd full-stack-nginx-prestashop-for-everyone-with-docker-compose
chmod +x install.sh
./install.sh
Certifique -se de ter as versões mais recentes do Docker e Docker Compose instaladas em sua máquina.
Clone este repositório ou copie os arquivos deste repositório para uma nova pasta.
Certifique -se de adicionar seu usuário ao grupo docker .
baixar com
git clone https://github.com/damalis/full-stack-nginx-prestashop-for-everyone-with-docker-compose.git
Abra um terminal e cd para a pasta em que docker-compose.yml é salvo e executado:
cd full-stack-nginx-prestashop-for-everyone-with-docker-compose
Copie o ambiente de exemplo em .env
cp env.example .env
DATABASE_CONT_NAME o arquivo .env para alterar os valores de LOCAL_TIMEZONE , DOMAIN_NAME , DIRECTORY_PATH , LETSENCRYPT_EMAIL , DB_USER , DB_PASSWORD , DB_NAME , DB_TABLE_PREFIX , MYSQL_ROOT_PASSWORD , DATABASE_IMAGE_NAME , DATABASE_PACKAGE_MANAGER , DATABASE_ADMIN_COMMANDLINE , PMA_CONTROLUSER , PMA_CONTROLPASS , PMA_HTPASSWD_USERNAME e PMA_HTPASSWD_PASSWORD .
LOCAL_TIMEZONE = Para ver fuzileiros horários locais
Directory_Path = pwd At Comando Line
Database_image_name = mariadb ou mysql
Database_cont_name = mariadb , mysql ou custom name
DATABASE_PACKAGE_MANAGER = apt-get update && apt-get install -y gettext-base para mariadb, microdnf install -y gettext para mysql
Database_admin_commandline = mariadb-admin para mariadb, mysqladmin para mysql
e
cp ./phpmyadmin/apache2/sites-available/default-ssl.sample.conf ./phpmyadmin/apache2/sites-available/default-ssl.conf
Alterar exemplo.com para o seu nome de domínio em ./phpmyadmin/apache2/sites-available/default-ssl.conf .
cp ./database/phpmyadmin/sql/create_tables.sql.template.example ./database/phpmyadmin/sql/create_tables.sql.template
Altere PMA_ControlUser e DB_Authentication_Password em ./database/phpmyadmin/sql/create_tables.sql.template file.
Em primeiro lugar: criará volume externo
docker volume create --driver local --opt type=none --opt device=${PWD}/certbot --opt o=bind certbot-etc
docker compose up -d
Em seguida, recarregando a configuração SSL do servidor da web
docker container restart webserver
Os contêineres agora estão construídos e em execução. Você poderá acessar a instalação do Prestashop com o IP configurado no endereço do navegador. https://example.com .
Por conveniência, você pode adicionar uma nova entrada ao seu arquivo hosts.
docker compose -f portainer-docker-compose.yml -p portainer up -d
Gerenciar o Docker com a Portainer é a ferramenta Definitiva de Gerenciamento de Contêineres para Docker, Docker Swarm com sua GUI e API altamente intuitiva.
Você também pode visitar https://example.com:9001 para acessar o Portainer depois de iniciar os contêineres.
O comando Docker PS mostra apenas contêineres em execução por padrão. Para ver todos os recipientes, use a bandeira -a (ou --l):
docker ps -a
Você pode iniciar os contêineres com o comando up no modo Daemon (adicionando -d como argumento) ou usando o comando start :
docker compose start
docker compose stop
Para parar e remover todos os contêineres, use o comando down :
docker compose down
Para remover o Portainer e os outros recipientes:
docker rm -f $(docker ps -a -q)
Use -v se precisar remover o volume do banco de dados que é usado para persistir no banco de dados:
docker compose down -v
Para remover o CertBot-ETC externo e o Portainer e os outros volumes:
docker volume rm $(docker volume ls -q)
Exclua todas as imagens, recipientes, volumes e redes que não estão associadas a um contêiner (pendurado):
docker system prune
Para remover adicionalmente qualquer recipiente parado e todas as imagens não utilizadas (não apenas as penduradas), adicione o sinalizador -a ao comando:
docker system prune -a
Para remover o Portainer e as outras imagens:
docker rmi $(docker image ls -q)
Copie todos os arquivos em um novo diretório:
Agora você pode usar o comando up :
docker compose up -d
https://docs.docker.com/engine/reference/run/
Você deve ver a página "Site de demonstração do Prestashop" no seu navegador. Caso contrário, verifique se a instalação do PHP atende aos requisitos da 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 e composer require doctrine/persistence:2.5.7 no contêiner PrestaShop.
https://example.com/admin-dev , Email address: ${LETSENCRYPT_EMAIL} and Password: ${PMA_HTPASSWD_PASSWORD} no arquivo .env.
Adicione ou remova o código no arquivo ./php-fpm/php/conf.d/security.ini para configurações personalizadas de php.ini
https://www.php.net/manual/en/configuration.file.php
Você deve fazer as alterações configurações de host personalizadas ./php-fpm/php-fpm.d/z-www.conf deve reiniciar o serviço, o FPM usa a sintaxe php.ini para seu arquivo de configuração-php-fpm.conf e arquivos de configuração do pool.
https://www.php.net/manual/en/install.fpm.configuration.php
docker container restart prestashop
Adicione e/ou remova as pastas do site Prestashop e os arquivos com qualquer programa de cliente FTP na pasta ./prestashop .
Você também pode visitar https://example.com para acessar o site depois de iniciar os contêineres.
Adicione ou remova o código no ./webserver/templates/nginx.conf.template File para configurações personalizadas do Nginx
https://docs.nginx.com/nginx/admin-guide/basic-functionity/managing-configuration-files/
Otimize sua configuração nginx aqui.
Por padrão, as tabelas de banco de dados do Prestashop começam com o prefixo PS_. Isso pode ser personalizado durante a instalação.
Importante;
Por motivos de segurança, recomendamos fortemente a personalização do seu prefixo de banco de dados em vez de usar o padrão. Mudar ajudará a proteger sua loja contra qualquer ataque (alguma injeção de SQL, por exemplo), direcionada aos nomes de tabela padrão.
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/
Você pode adicionar suas próprias configurações de configuração de configuração do Config.inc.php (como configuração de armazenamento) criando um arquivo chamado config.user.inc.php com as várias configurações definidas pelo usuário e, em seguida, ligando -o ao contêiner usando:
./phpmyadmin/config.user.inc.php
Você também pode visitar https://example.com:9090 para acessar o phpmyadmin depois de iniciar os contêineres.
A primeira tela Authorize (htpasswd; nome de usuário ou senha) e a tela de login phpmyadmin o nome de usuário e a senha é a mesma fornecida no arquivo .env .
Isso vai fazer backup dos arquivos e pastas em volumes de banco de dados/despejo SQL e HTML, uma vez por dia, e escreva-o para ./backups com um nome de arquivo como backup-2023-01-01t10-18-00.tar.gz
BACKUP_CRON_EXPRESSION: '20 01 * * *' o fuso horário da UTC.