Wenn Sie kurz eine Website mit Prestashop erstellen möchten;
Verwalten Sie außerdem Docker -Container mit Portainer.
ARM64/AARCH64, X86-64
APK, DNF, YUM, APT/APT-Get, Zypper
Erstellen Sie Regeln, um Ports für das Internet zu öffnen, oder für eine bestimmte IPv4 -Adresse oder einen bestimmten Bereich.
Wenn Sie ein System mit weniger als 2 GB RAM verwenden, empfehlen wir Ihnen, eine Swap -Datei zu erstellen. Andernfalls kann Ihre Installation fehlschlagen.
herunterladen mit
git clone https://github.com/damalis/full-stack-nginx-prestashop-for-everyone-with-docker-compose.git
Öffnen Sie ein Terminal und cd für den Ordner, in dem docker-compose.yml gespeichert und ausgeführt wird:
cd full-stack-nginx-prestashop-for-everyone-with-docker-compose
chmod +x install.sh
./install.sh
Stellen Sie sicher, dass Sie die neuesten Versionen von Docker und Docker komponieren, die auf Ihrem Computer installiert sind.
Klonen Sie dieses Repository oder kopieren Sie die Dateien aus diesem Repository in einen neuen Ordner.
Stellen Sie sicher, dass Sie Ihren Benutzer zur docker -Gruppe hinzufügen.
herunterladen mit
git clone https://github.com/damalis/full-stack-nginx-prestashop-for-everyone-with-docker-compose.git
Öffnen Sie ein Terminal und cd für den Ordner, in dem docker-compose.yml gespeichert und ausgeführt wird:
cd full-stack-nginx-prestashop-for-everyone-with-docker-compose
Kopieren Sie die Beispielumgebung in .env
cp env.example .env
Bearbeiten Sie die .env -Datei, um die Werte von LOCAL_TIMEZONE , DOMAIN_NAME , DIRECTORY_PATH , letsencrypt_email, db_user, db_password, DB_NAME , DB_TABLE_PREFIX , LETSENCRYPT_EMAIL , DB_USER , DB_PASSWORD , DataBase, DataBase, DataBase, DataBase, DATABASE_IMAGE_NAME , MYSQL_ROOT_PASSWORD , DataBase, DataBase, Database, DATABASE_CONT_NAME , DATABASE_PACKAGE_MANAGER . DATABASE_ADMIN_COMMANDLINE , PMA_CONTROLUSER , PMA_CONTROLPASS , PMA_HTPASSWD_USERNAME und PMA_HTPASSWD_PASSWORD .
Local_timezone = um lokale Zeitzonen zu sehen
Directory_Path = pwd in der Befehlszeile
Datenbank_image_name = mariadb oder mysql
Database_Cont_name = mariadb , mysql oder custom name
Database_Package_Manager = apt-get update && apt-get install -y gettext-base für Mariadb, microdnf install -y gettext für MySQL
Datenbank_admin_Commandline = mariadb-admin für Mariadb, mysqladmin für MySQL
Und
cp ./phpmyadmin/apache2/sites-available/default-ssl.sample.conf ./phpmyadmin/apache2/sites-available/default-ssl.conf
Ändern Sie example.com in Ihren Domänennamen in ./phpmyadmin/apache2/sites-available/default-ssl.conf .
cp ./database/phpmyadmin/sql/create_tables.sql.template.example ./database/phpmyadmin/sql/create_tables.sql.template
Ändern Sie pma_controluser und db_authentication_password in ./database/phpmyadmin/sql/create_tables.sql.template Datei.
Erstens: Erstellt ein externes Volumen
docker volume create --driver local --opt type=none --opt device=${PWD}/certbot --opt o=bind certbot-etc
docker compose up -d
Laden Sie dann für die Webserver -SSL -Konfiguration nach
docker container restart webserver
Die Behälter werden jetzt gebaut und laufen. Sie sollten in der Lage sein, mit der konfigurierten IP in der Browseradresse auf die Prestashop -Installation zugreifen zu können. https://example.com .
Aus Gründen der Bequemlichkeit können Sie einen neuen Eintrag in Ihre Hosts -Datei hinzufügen.
docker compose -f portainer-docker-compose.yml -p portainer up -d
Verwalten Sie Docker mit Portainer das endgültige Container -Management -Tool für Docker, Docker Swarm mit seiner hochintuitiven GUI und API.
Sie können auch https://example.com:9001 besuchen, um nach dem Start der Container auf Portainer zuzugreifen.
Der Befehl docker ps zeigt nur standardmäßig ausführende Container. Verwenden Sie, um alle Container zu sehen, die Flag -a (oder -alle):
docker ps -a
Sie können die Container mit dem up -Befehl im Daemon -Modus (durch Hinzufügen -d als Argument) oder mit dem Befehl start starten:
docker compose start
docker compose stop
Um zu stoppen und alle Behälter zu entfernen, verwenden Sie den Befehl down :
docker compose down
So entfernen Sie Portainer und die anderen Behälter:
docker rm -f $(docker ps -a -q)
Verwenden Sie -v , wenn Sie das Datenbankvolumen entfernen müssen, mit dem die Datenbank bestehen wird:
docker compose down -v
Entfernen von externem Certbot-ETC und Portainer und den anderen Bänden:
docker volume rm $(docker volume ls -q)
Löschen Sie alle Bilder, Behälter, Volumina und Netzwerke, die nicht mit einem Behälter (baumeln) verbunden sind:
docker system prune
Um zusätzlich alle und alle nicht verwendeten Bilder gestoppte Behälter zu entfernen (nicht nur baumelnde), fügen Sie die Flagge zum Befehl hinzu:
docker system prune -a
So entfernen Sie Portainer und die anderen Bilder:
docker rmi $(docker image ls -q)
Kopieren Sie alle Dateien in ein neues Verzeichnis:
Sie können jetzt den up -Befehl verwenden:
docker compose up -d
https://docs.docker.com/engine/reference/run/
Sie sollten die Seite "Prestashop Demo Site" in Ihrem Browser sehen. Wenn nicht, überprüfen Sie bitte, ob Ihre PHP -Installation die Anforderungen von Prestashop erfüllt.
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 und composer require doctrine/persistence:2.5.7 im Prestashop -Behälter.
https://example.com/admin-dev , Email address: ${LETSENCRYPT_EMAIL} and Password: ${PMA_HTPASSWD_PASSWORD} in der .env-Datei.
Code in die Datei.
https://www.php.net/manual/en/configuration.file.php
Sie sollten Änderungen benutzerdefinierte Host-Konfigurationen vornehmen ./php-fpm/php-fpm.d/z-www.conf und muss den Dienst neu starten.
https://www.php.net/manual/en/install.fpm.configuration.php
docker container restart prestashop
Fügen Sie Prestashop -Site -Ordner und -dateien mit einem beliebigen FTP -Client -Programm in ./prestashop Ordner FTP -Client hinzu und entfernen Sie.
Sie können auch https://example.com besuchen, um nach dem Start der Container auf die Website zuzugreifen.
Code in die ./webserver/templates/nginx.conf.template -Datei für benutzerdefinierte Nginx -Konfigurationen hinzufügen oder entfernen.
https://docs.nginx.com/nginx/admin-guide/basic-functionality/managing-configuration-files/
Optimieren Sie hier Ihre Nginx -Konfiguration.
Standardmäßig beginnen die Datenbanktabellen von Prestashop mit dem PS_ -Präfix. Dies kann während der Installation angepasst werden.
Wichtig;
Aus Sicherheitsgründen empfehlen wir dringend, Ihr Datenbankpräfix anzupassen, anstatt die Standardeinstellung zu verwenden. Wenn Sie dies ändern, schützen Sie Ihr Geschäft vor Angriffen (z.
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/
Sie können Ihre eigenen benutzerdefinierten config.inc.php -Einstellungen (z. B. Konfigurationsspeicher -Setup) hinzufügen, indem Sie eine Datei namens config.user.inc.php mit den verschiedenen im Benutzer definierten Einstellungen erstellen und anschließend mit dem Container in den Container verknüpfen:
./phpmyadmin/config.user.inc.php
Sie können auch https://example.com:9090 besuchen, um nach dem Start der Container auf PHPMYADMIN zuzugreifen.
Der erste Autorisierungsbildschirm (htpasswd; Benutzername oder Kennwort) und phpMyadmin -Anmeldebildschirm Der Benutzername und das Passwort sind übereinstimmen wie in der Datei .env .
Dadurch wird alle Dateien und Ordner in Datenbank/Dump SQL und HTML-Volumes einmal pro Tag festgelegt und schreiben sie auf ./Backups mit einem Dateinamen wie Backup-2023-01-01T10-18-00.tar.gz
BACKUP_CRON_EXPRESSION: '20 01 * * *' Die UTC -Zeitzone.