Jika Anda ingin membangun situs web dengan Prestashop dalam waktu singkat;
Plus, kelola wadah Docker dengan Portainer.
ARM64/AARCH64, x86-64
apk, dnf, yum, apt/apt-get, zypper
Buat aturan untuk membuka port ke internet, atau ke alamat atau jangkauan IPv4 tertentu.
Jika Anda menggunakan sistem dengan kurang dari 2 GB RAM, kami sarankan Anda membuat file swap; Kalau tidak, instalasi Anda mungkin gagal.
unduh dengan
git clone https://github.com/damalis/full-stack-apache2-prestashop-for-everyone-with-docker-compose.git
Buka terminal dan cd ke folder di mana docker-compose.yml disimpan dan dijalankan:
cd full-stack-apache2-prestashop-for-everyone-with-docker-compose
chmod +x install.sh
./install.sh
Pastikan Anda memiliki versi terbaru dari Docker dan Docker yang diinstal pada mesin Anda.
Kloning repositori ini atau salin file dari repositori ini ke folder baru.
Pastikan untuk menambahkan pengguna Anda ke grup docker .
unduh dengan
git clone https://github.com/damalis/full-stack-apache2-prestashop-for-everyone-with-docker-compose.git
Buka terminal dan cd ke folder di mana docker-compose.yml disimpan dan dijalankan:
cd full-stack-apache2-prestashop-for-everyone-with-docker-compose
Salin contoh lingkungan ke .env
cp env.example .env
Edit the .env file to change values of LOCAL_TIMEZONE , DOMAIN_NAME , DIRECTORY_PATH , LETSENCRYPT_EMAIL , DB_USER , DB_PASSWORD , DB_NAME , DB_TABLE_PREFIX , MYSQL_ROOT_PASSWORD , DATABASE_IMAGE_NAME , DATABASE_CONT_NAME , DATABASE_PACKAGE_MANAGER , DATABASE_ADMIN_COMMANDLINE , PMA_CONTROLUSER , PMA_CONTROLPASS , PMA_HTPASSWD_USERNAME dan PMA_HTPASSWD_PASSWORD .
Local_timezone = untuk melihat zona waktu setempat
Directory_path = pwd di baris perintah
Database_image_name = mariadb atau mysql
Database_cont_name = mariadb , mysql atau custom name
Database_Package_Manager = apt-get update && apt-get install -y gettext-base UNTUK MARIADB, microdnf install -y gettext UNTUK MYSQL
Database_admin_commandline = mariadb-admin untuk mariadb, mysqladmin untuk mysql
Dan
cp ./phpmyadmin/apache2/sites-available/default-ssl.sample.conf ./phpmyadmin/apache2/sites-available/default-ssl.conf
Ubah contoh.com ke nama domain Anda di ./phpmyadmin/apache2/sites-available/default-ssl.conf file.
cp ./database/phpmyadmin/sql/create_tables.sql.template.example ./database/phpmyadmin/sql/create_tables.sql.template
Ubah PMA_Controluser dan db_authentication_password di ./database/phpmyadmin/sql/create_tables.sql.template file.
Pertama: akan membuat volume eksternal
docker volume create --driver local --opt type=none --opt device=${PWD}/certbot --opt o=bind certbot-etc
docker compose up -d
Kemudian muat ulang untuk konfigurasi SSL server web
docker container restart webserver
Wadah sekarang dibangun dan dijalankan. Anda harus dapat mengakses instalasi Prestashop dengan IP yang dikonfigurasi di alamat browser. https://example.com .
Untuk kenyamanan Anda dapat menambahkan entri baru ke dalam file host Anda.
docker compose -f portainer-docker-compose.yml -p portainer up -d
Kelola Docker dengan Portainer adalah alat manajemen kontainer definitif untuk Docker, Docker Swarm dengan GUI dan API yang sangat intuitif.
Anda juga dapat mengunjungi https://example.com:9001 untuk mengakses portainer setelah memulai wadah.
Perintah Docker PS hanya menunjukkan kontainer yang menjalankan secara default. Untuk melihat semua wadah, gunakan bendera -a (atau -semua):
docker ps -a
Anda dapat memulai wadah dengan perintah up dalam mode daemon (dengan menambahkan -d sebagai argumen) atau dengan menggunakan perintah start :
docker compose start
docker compose stop
Untuk menghentikan dan menghapus semua wadah Gunakan perintah down :
docker compose down
Untuk menghapus portainer dan wadah lainnya:
docker rm -f $(docker ps -a -q)
Gunakan -v Jika Anda perlu menghapus volume database yang digunakan untuk bertahan di database:
docker compose down -v
Untuk menghapus Certbot-ETC eksternal dan portainer dan volume lainnya:
docker volume rm $(docker volume ls -q)
Hapus semua gambar, wadah, volume, dan jaringan yang tidak terkait dengan wadah (menggantung):
docker system prune
Untuk juga menghapus wadah yang berhenti dan semua gambar yang tidak digunakan (tidak hanya menggantung), tambahkan bendera -a ke perintah:
docker system prune -a
Untuk menghapus portainer dan gambar lainnya:
docker rmi $(docker image ls -q)
Salin semua file ke direktori baru:
Anda sekarang dapat menggunakan perintah up :
docker compose up -d
https://docs.docker.com/engine/reference/run/
Anda harus melihat halaman "Situs Demo Prestashop" di browser Anda. Jika tidak, silakan periksa apakah instalasi PHP Anda memenuhi persyaratan 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 dan composer require doctrine/persistence:2.5.7 di wadah prestashop.
https://example.com/admin , Email address: ${LETSENCRYPT_EMAIL} and Password: ${PMA_HTPASSWD_PASSWORD} dalam file .env.
Tambahkan atau Hapus Kode di file ./php-fpm/php/conf.d/security.ini untuk konfigurasi php.ini khusus
https://www.php.net/manual/en/configuration.file.php
Anda harus melakukan perubahan konfigurasi host khusus ./php-fpm/php-fpm.d/z-www.conf kemudian harus memulai kembali layanan, FPM menggunakan sintaks Php.ini untuk file konfigurasi-php-fpm.conf, dan file konfigurasi kumpulan.
https://www.php.net/manual/en/install.fpm.configuration.php
docker container restart prestashop
Tambahkan dan/atau hapus folder situs Prestashop dan file dengan program klien FTP di folder ./prestashop .
Anda juga dapat mengunjungi https://example.com untuk mengakses situs web setelah memulai wadah.
Tambahkan atau Hapus Kode di file ./webserver/extra/httpd-ssl.conf untuk konfigurasi APACHE2/httpd khusus
https://httpd.apache.org/docs/2.4/
Optimalkan konfigurasi Apache HTTPD Anda di sini.
Secara default, tabel basis data Prestashop dimulai dengan awalan PS_. Ini dapat disesuaikan selama instalasi.
Penting;
Untuk alasan keamanan, kami sangat menyarankan untuk menyesuaikan awalan basis data Anda alih -alih menggunakan yang default. Mengubahnya akan membantu melindungi toko Anda terhadap serangan apa pun (beberapa injeksi SQL misalnya) yang menargetkan nama tabel default.
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/
Anda dapat menambahkan pengaturan config.inc.php khusus Anda sendiri (seperti pengaturan penyimpanan konfigurasi) dengan membuat file bernama config.user.inc.php dengan berbagai pengaturan yang ditentukan pengguna di dalamnya, dan kemudian menautkannya ke dalam wadah menggunakan:
./phpmyadmin/config.user.inc.php
Anda juga dapat mengunjungi https://example.com:9090 untuk mengakses phpMyadmin setelah memulai wadah.
Layar otorisasi pertama (htpasswd; nama pengguna atau kata sandi) dan phpmyadmin layar login nama pengguna dan kata sandi sama dengan yang disediakan dalam file .env .
Ini akan mencadangkan semua file dan folder dalam volume database/dump SQL dan HTML, sekali sehari, dan menulisnya ke ./Backups dengan nama file seperti Backup-2023-01-01t10-18-00.tar.gz
BACKUP_CRON_EXPRESSION: '20 01 * * *' THE UTC TimeZone.