mirror of
https://github.com/cloudmaker97/JTL-Shop-Entwicklungsumgebung.git
synced 2025-12-06 08:58:33 +00:00
Compare commits
No commits in common. "d7e6fb173f9354a20b39ee1eb0d5f92cb1b03951" and "7839dfa65344c485d7d6cd8ce73e58984606da27" have entirely different histories.
d7e6fb173f
...
7839dfa653
11 changed files with 375 additions and 132 deletions
|
|
@ -1,7 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
## Description: Run just commands in the web container
|
|
||||||
## Usage: just [command] [args...]
|
|
||||||
## Example: "ddev just install" or "ddev just start"
|
|
||||||
|
|
||||||
just "$@"
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
name: jtl-shop
|
name: jtl-shop-5.3.1
|
||||||
type: php
|
type: php
|
||||||
docroot: ./shop
|
docroot: ./shop
|
||||||
php_version: "8.4"
|
php_version: "8.2"
|
||||||
webserver_type: apache-fpm
|
webserver_type: apache-fpm
|
||||||
xdebug_enabled: false
|
xdebug_enabled: false
|
||||||
additional_hostnames: []
|
additional_hostnames: []
|
||||||
|
|
@ -13,3 +13,268 @@ use_dns_when_possible: true
|
||||||
composer_version: "2"
|
composer_version: "2"
|
||||||
web_environment: []
|
web_environment: []
|
||||||
corepack_enable: false
|
corepack_enable: false
|
||||||
|
|
||||||
|
# Key features of DDEV's config.yaml:
|
||||||
|
|
||||||
|
# name: <projectname> # Name of the project, automatically provides
|
||||||
|
# http://projectname.ddev.site and https://projectname.ddev.site
|
||||||
|
|
||||||
|
# type: <projecttype> # backdrop, craftcms, django4, drupal, drupal6, drupal7, laravel, magento, magento2, php, python, shopware6, silverstripe, typo3, wordpress
|
||||||
|
# See https://ddev.readthedocs.io/en/stable/users/quickstart/ for more
|
||||||
|
# information on the different project types
|
||||||
|
# "drupal" covers recent Drupal 8+
|
||||||
|
|
||||||
|
# docroot: <relative_path> # Relative path to the directory containing index.php.
|
||||||
|
|
||||||
|
# php_version: "8.2" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3"
|
||||||
|
|
||||||
|
# You can explicitly specify the webimage but this
|
||||||
|
# is not recommended, as the images are often closely tied to DDEV's' behavior,
|
||||||
|
# so this can break upgrades.
|
||||||
|
|
||||||
|
# webimage: <docker_image> # nginx/php docker image.
|
||||||
|
|
||||||
|
# database:
|
||||||
|
# type: <dbtype> # mysql, mariadb, postgres
|
||||||
|
# version: <version> # database version, like "10.11" or "8.0"
|
||||||
|
# MariaDB versions can be 5.5-10.8 and 10.11, MySQL versions can be 5.5-8.0
|
||||||
|
# PostgreSQL versions can be 9-16.
|
||||||
|
|
||||||
|
# router_http_port: <port> # Port to be used for http (defaults to global configuration, usually 80)
|
||||||
|
# router_https_port: <port> # Port for https (defaults to global configuration, usually 443)
|
||||||
|
|
||||||
|
# xdebug_enabled: false # Set to true to enable Xdebug and "ddev start" or "ddev restart"
|
||||||
|
# Note that for most people the commands
|
||||||
|
# "ddev xdebug" to enable Xdebug and "ddev xdebug off" to disable it work better,
|
||||||
|
# as leaving Xdebug enabled all the time is a big performance hit.
|
||||||
|
|
||||||
|
# xhprof_enabled: false # Set to true to enable Xhprof and "ddev start" or "ddev restart"
|
||||||
|
# Note that for most people the commands
|
||||||
|
# "ddev xhprof" to enable Xhprof and "ddev xhprof off" to disable it work better,
|
||||||
|
# as leaving Xhprof enabled all the time is a big performance hit.
|
||||||
|
|
||||||
|
# webserver_type: nginx-fpm, apache-fpm, or nginx-gunicorn
|
||||||
|
|
||||||
|
# timezone: Europe/Berlin
|
||||||
|
# This is the timezone used in the containers and by PHP;
|
||||||
|
# it can be set to any valid timezone,
|
||||||
|
# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
|
# For example Europe/Dublin or MST7MDT
|
||||||
|
|
||||||
|
# composer_root: <relative_path>
|
||||||
|
# Relative path to the Composer root directory from the project root. This is
|
||||||
|
# the directory which contains the composer.json and where all Composer related
|
||||||
|
# commands are executed.
|
||||||
|
|
||||||
|
# composer_version: "2"
|
||||||
|
# You can set it to "" or "2" (default) for Composer v2 or "1" for Composer v1
|
||||||
|
# to use the latest major version available at the time your container is built.
|
||||||
|
# It is also possible to use each other Composer version channel. This includes:
|
||||||
|
# - 2.2 (latest Composer LTS version)
|
||||||
|
# - stable
|
||||||
|
# - preview
|
||||||
|
# - snapshot
|
||||||
|
# Alternatively, an explicit Composer version may be specified, for example "2.2.18".
|
||||||
|
# To reinstall Composer after the image was built, run "ddev debug refresh".
|
||||||
|
|
||||||
|
# nodejs_version: "20"
|
||||||
|
# change from the default system Node.js version to any other version.
|
||||||
|
# Numeric version numbers can be complete (i.e. 18.15.0) or
|
||||||
|
# incomplete (18, 17.2, 16). 'lts' and 'latest' can be used as well along with
|
||||||
|
# other named releases.
|
||||||
|
# see https://www.npmjs.com/package/n#specifying-nodejs-versions
|
||||||
|
# Note that you can continue using 'ddev nvm' or nvm inside the web container
|
||||||
|
# to change the project's installed node version if you need to.
|
||||||
|
|
||||||
|
# corepack_enable: false
|
||||||
|
# Change to 'true' to 'corepack enable' and gain access to latest versions of yarn/pnpm
|
||||||
|
|
||||||
|
# additional_hostnames:
|
||||||
|
# - somename
|
||||||
|
# - someothername
|
||||||
|
# would provide http and https URLs for "somename.ddev.site"
|
||||||
|
# and "someothername.ddev.site".
|
||||||
|
|
||||||
|
# additional_fqdns:
|
||||||
|
# - example.com
|
||||||
|
# - sub1.example.com
|
||||||
|
# would provide http and https URLs for "example.com" and "sub1.example.com"
|
||||||
|
# Please take care with this because it can cause great confusion.
|
||||||
|
|
||||||
|
# upload_dirs: "custom/upload/dir"
|
||||||
|
#
|
||||||
|
# upload_dirs:
|
||||||
|
# - custom/upload/dir
|
||||||
|
# - ../private
|
||||||
|
#
|
||||||
|
# would set the destination paths for ddev import-files to <docroot>/custom/upload/dir
|
||||||
|
# When Mutagen is enabled this path is bind-mounted so that all the files
|
||||||
|
# in the upload_dirs don't have to be synced into Mutagen.
|
||||||
|
|
||||||
|
# disable_upload_dirs_warning: false
|
||||||
|
# If true, turns off the normal warning that says
|
||||||
|
# "You have Mutagen enabled and your 'php' project type doesn't have upload_dirs set"
|
||||||
|
|
||||||
|
# ddev_version_constraint: ""
|
||||||
|
# Example:
|
||||||
|
# ddev_version_constraint: ">= 1.22.4"
|
||||||
|
# This will enforce that the running ddev version is within this constraint.
|
||||||
|
# See https://github.com/Masterminds/semver#checking-version-constraints for
|
||||||
|
# supported constraint formats
|
||||||
|
|
||||||
|
# working_dir:
|
||||||
|
# web: /var/www/html
|
||||||
|
# db: /home
|
||||||
|
# would set the default working directory for the web and db services.
|
||||||
|
# These values specify the destination directory for ddev ssh and the
|
||||||
|
# directory in which commands passed into ddev exec are run.
|
||||||
|
|
||||||
|
# omit_containers: [db, ddev-ssh-agent]
|
||||||
|
# Currently only these containers are supported. Some containers can also be
|
||||||
|
# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit
|
||||||
|
# the "db" container, several standard features of DDEV that access the
|
||||||
|
# database container will be unusable. In the global configuration it is also
|
||||||
|
# possible to omit ddev-router, but not here.
|
||||||
|
|
||||||
|
# performance_mode: "global"
|
||||||
|
# DDEV offers performance optimization strategies to improve the filesystem
|
||||||
|
# performance depending on your host system. Should be configured globally.
|
||||||
|
#
|
||||||
|
# If set, will override the global config. Possible values are:
|
||||||
|
# - "global": uses the value from the global config.
|
||||||
|
# - "none": disables performance optimization for this project.
|
||||||
|
# - "mutagen": enables Mutagen for this project.
|
||||||
|
# - "nfs": enables NFS for this project.
|
||||||
|
#
|
||||||
|
# See https://ddev.readthedocs.io/en/stable/users/install/performance/#nfs
|
||||||
|
# See https://ddev.readthedocs.io/en/stable/users/install/performance/#mutagen
|
||||||
|
|
||||||
|
# fail_on_hook_fail: False
|
||||||
|
# Decide whether 'ddev start' should be interrupted by a failing hook
|
||||||
|
|
||||||
|
# host_https_port: "59002"
|
||||||
|
# The host port binding for https can be explicitly specified. It is
|
||||||
|
# dynamic unless otherwise specified.
|
||||||
|
# This is not used by most people, most people use the *router* instead
|
||||||
|
# of the localhost port.
|
||||||
|
|
||||||
|
# host_webserver_port: "59001"
|
||||||
|
# The host port binding for the ddev-webserver can be explicitly specified. It is
|
||||||
|
# dynamic unless otherwise specified.
|
||||||
|
# This is not used by most people, most people use the *router* instead
|
||||||
|
# of the localhost port.
|
||||||
|
|
||||||
|
# host_db_port: "59002"
|
||||||
|
# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic
|
||||||
|
# unless explicitly specified.
|
||||||
|
|
||||||
|
# mailpit_http_port: "8025"
|
||||||
|
# mailpit_https_port: "8026"
|
||||||
|
# The Mailpit ports can be changed from the default 8025 and 8026
|
||||||
|
|
||||||
|
# host_mailpit_port: "8025"
|
||||||
|
# The mailpit port is not normally bound on the host at all, instead being routed
|
||||||
|
# through ddev-router, but it can be bound directly to localhost if specified here.
|
||||||
|
|
||||||
|
# webimage_extra_packages: [php7.4-tidy, php-bcmath]
|
||||||
|
# Extra Debian packages that are needed in the webimage can be added here
|
||||||
|
|
||||||
|
# dbimage_extra_packages: [telnet,netcat]
|
||||||
|
# Extra Debian packages that are needed in the dbimage can be added here
|
||||||
|
|
||||||
|
# use_dns_when_possible: true
|
||||||
|
# If the host has internet access and the domain configured can
|
||||||
|
# successfully be looked up, DNS will be used for hostname resolution
|
||||||
|
# instead of editing /etc/hosts
|
||||||
|
# Defaults to true
|
||||||
|
|
||||||
|
# project_tld: ddev.site
|
||||||
|
# The top-level domain used for project URLs
|
||||||
|
# The default "ddev.site" allows DNS lookup via a wildcard
|
||||||
|
# If you prefer you can change this to "ddev.local" to preserve
|
||||||
|
# pre-v1.9 behavior.
|
||||||
|
|
||||||
|
# ngrok_args: --basic-auth username:pass1234
|
||||||
|
# Provide extra flags to the "ngrok http" command, see
|
||||||
|
# https://ngrok.com/docs/ngrok-agent/config or run "ngrok http -h"
|
||||||
|
|
||||||
|
# disable_settings_management: false
|
||||||
|
# If true, DDEV will not create CMS-specific settings files like
|
||||||
|
# Drupal's settings.php/settings.ddev.php or TYPO3's AdditionalConfiguration.php
|
||||||
|
# In this case the user must provide all such settings.
|
||||||
|
|
||||||
|
# You can inject environment variables into the web container with:
|
||||||
|
# web_environment:
|
||||||
|
# - SOMEENV=somevalue
|
||||||
|
# - SOMEOTHERENV=someothervalue
|
||||||
|
|
||||||
|
# no_project_mount: false
|
||||||
|
# (Experimental) If true, DDEV will not mount the project into the web container;
|
||||||
|
# the user is responsible for mounting it manually or via a script.
|
||||||
|
# This is to enable experimentation with alternate file mounting strategies.
|
||||||
|
# For advanced users only!
|
||||||
|
|
||||||
|
# bind_all_interfaces: false
|
||||||
|
# If true, host ports will be bound on all network interfaces,
|
||||||
|
# not the localhost interface only. This means that ports
|
||||||
|
# will be available on the local network if the host firewall
|
||||||
|
# allows it.
|
||||||
|
|
||||||
|
# default_container_timeout: 120
|
||||||
|
# The default time that DDEV waits for all containers to become ready can be increased from
|
||||||
|
# the default 120. This helps in importing huge databases, for example.
|
||||||
|
|
||||||
|
#web_extra_exposed_ports:
|
||||||
|
#- name: nodejs
|
||||||
|
# container_port: 3000
|
||||||
|
# http_port: 2999
|
||||||
|
# https_port: 3000
|
||||||
|
#- name: something
|
||||||
|
# container_port: 4000
|
||||||
|
# https_port: 4000
|
||||||
|
# http_port: 3999
|
||||||
|
# Allows a set of extra ports to be exposed via ddev-router
|
||||||
|
# Fill in all three fields even if you don’t intend to use the https_port!
|
||||||
|
# If you don’t add https_port, then it defaults to 0 and ddev-router will fail to start.
|
||||||
|
#
|
||||||
|
# The port behavior on the ddev-webserver must be arranged separately, for example
|
||||||
|
# using web_extra_daemons.
|
||||||
|
# For example, with a web app on port 3000 inside the container, this config would
|
||||||
|
# expose that web app on https://<project>.ddev.site:9999 and http://<project>.ddev.site:9998
|
||||||
|
# web_extra_exposed_ports:
|
||||||
|
# - name: myapp
|
||||||
|
# container_port: 3000
|
||||||
|
# http_port: 9998
|
||||||
|
# https_port: 9999
|
||||||
|
|
||||||
|
#web_extra_daemons:
|
||||||
|
#- name: "http-1"
|
||||||
|
# command: "/var/www/html/node_modules/.bin/http-server -p 3000"
|
||||||
|
# directory: /var/www/html
|
||||||
|
#- name: "http-2"
|
||||||
|
# command: "/var/www/html/node_modules/.bin/http-server /var/www/html/sub -p 3000"
|
||||||
|
# directory: /var/www/html
|
||||||
|
|
||||||
|
# override_config: false
|
||||||
|
# By default, config.*.yaml files are *merged* into the configuration
|
||||||
|
# But this means that some things can't be overridden
|
||||||
|
# For example, if you have 'use_dns_when_possible: true'' you can't override it with a merge
|
||||||
|
# and you can't erase existing hooks or all environment variables.
|
||||||
|
# However, with "override_config: true" in a particular config.*.yaml file,
|
||||||
|
# 'use_dns_when_possible: false' can override the existing values, and
|
||||||
|
# hooks:
|
||||||
|
# post-start: []
|
||||||
|
# or
|
||||||
|
# web_environment: []
|
||||||
|
# or
|
||||||
|
# additional_hostnames: []
|
||||||
|
# can have their intended affect. 'override_config' affects only behavior of the
|
||||||
|
# config.*.yaml file it exists in.
|
||||||
|
|
||||||
|
# Many DDEV commands can be extended to run tasks before or after the
|
||||||
|
# DDEV command is executed, for example "post-start", "post-import-db",
|
||||||
|
# "pre-composer", "post-composer"
|
||||||
|
# See https://ddev.readthedocs.io/en/stable/users/extend/custom-commands/ for more
|
||||||
|
# information on the commands that can be extended and the tasks you can define
|
||||||
|
# for them. Example:
|
||||||
|
#hooks:
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
RUN curl -L "https://github.com/casey/just/releases/download/1.36.0/just-1.36.0-x86_64-unknown-linux-musl.tar.gz" \
|
|
||||||
| tar -xz -C /usr/local/bin
|
|
||||||
RUN chmod +x /usr/local/bin/just
|
|
||||||
BIN
.github/assets/command-exec.gif
vendored
BIN
.github/assets/command-exec.gif
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 8 MiB |
61
.github/workflows/test-install-routine.yml
vendored
61
.github/workflows/test-install-routine.yml
vendored
|
|
@ -1,61 +0,0 @@
|
||||||
name: Test the installation routine
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test-install:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
timeout-minutes: 15
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Set up DDEV
|
|
||||||
uses: ddev/github-action-setup-ddev@v1
|
|
||||||
|
|
||||||
- name: Start DDEV environment
|
|
||||||
run: |
|
|
||||||
ddev start
|
|
||||||
ddev describe
|
|
||||||
|
|
||||||
- name: Run installation
|
|
||||||
run: |
|
|
||||||
echo "Starting JTL-Shop installation..."
|
|
||||||
ddev just install
|
|
||||||
|
|
||||||
- name: Basic verification
|
|
||||||
run: |
|
|
||||||
echo "=== Verifying installation ==="
|
|
||||||
# Check if basic shop files are present
|
|
||||||
test -d shop/
|
|
||||||
test -f shop/index.php
|
|
||||||
test -d shop/includes/
|
|
||||||
|
|
||||||
# Check if database tables were created
|
|
||||||
ddev exec "mysql -e 'SHOW TABLES;' db" | grep -q "tadmin" || (echo "Database tables not found" && exit 1)
|
|
||||||
|
|
||||||
echo "Installation verification completed successfully!"
|
|
||||||
|
|
||||||
- name: Debug on failure
|
|
||||||
if: failure()
|
|
||||||
run: |
|
|
||||||
echo "=== DDEV Status ==="
|
|
||||||
ddev describe
|
|
||||||
echo "=== DDEV Logs ==="
|
|
||||||
ddev logs
|
|
||||||
echo "=== Shop Directory ==="
|
|
||||||
ls -la shop/ || true
|
|
||||||
echo "=== Install Directory ==="
|
|
||||||
ls -la shop/install/ || true
|
|
||||||
|
|
||||||
- name: Cleanup
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
ddev stop
|
|
||||||
ddev remove -RO
|
|
||||||
78
README.md
78
README.md
|
|
@ -1,26 +1,23 @@
|
||||||
# Entwicklungsumgebung für den JTL-Shop
|
# Entwicklungsumgebung für den JTL-Shop
|
||||||
|
|
||||||
|
## Beschreibung
|
||||||
|
|
||||||
Dieses Repository enthält alle benötigten Scripts, um einen JTL-Shop schnell und automatisiert zu Entwicklungszwecken zu installieren. Die Nutzung für produktive Systeme ist mit diesem Projekt nicht vorgesehen und wird auch nicht empfohlen.
|
Dieses Repository enthält alle benötigten Scripts, um einen JTL-Shop schnell und automatisiert zu Entwicklungszwecken zu installieren. Die Nutzung für produktive Systeme ist mit diesem Projekt nicht vorgesehen und wird auch nicht empfohlen.
|
||||||
|
|
||||||
## Voraussetzungen
|
### Vorschau der Installation mit nur einem Befehl
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Voraussetzungen
|
||||||
|
|
||||||
Es gelten die Lizenzbedingungen der JTL-Software-GmbH. Die Lizenzbedingungen sind in diesem Projekt als Lizenzdatei hinterlegt. Zur Nutzung dieses Repositories sind zudem folgende Voraussetzungen notwendig:
|
Es gelten die Lizenzbedingungen der JTL-Software-GmbH. Die Lizenzbedingungen sind in diesem Projekt als Lizenzdatei hinterlegt. Zur Nutzung dieses Repositories sind zudem folgende Voraussetzungen notwendig:
|
||||||
|
|
||||||
- [Docker: Virtualisierung](https://www.docker.com/)
|
- [Docker: Virtualisierung](https://www.docker.com/)
|
||||||
- [DDEV: Docker Development](https://ddev.com/)
|
- [Just: Command Runner](https://just.systems/)
|
||||||
|
|
||||||
## Installation und Befehle
|
## Installation und Befehle
|
||||||
|
|
||||||
```bash
|
Zur Installation des Shops wird nur ein Befehl benötigt. Der Befehl `just install` installiert den Shop mit der neusten Version und den standardmäßigen Einstellungen.
|
||||||
# 1. Klonen des Repository via SSH
|
|
||||||
git clone git@github.com:cloudmaker97/JTL-Shop-Entwicklungsumgebung.git
|
|
||||||
# 2. Anschließend in der Verzeichnis wechseln
|
|
||||||
cd JTL-Shop-Entwicklungsumgebung
|
|
||||||
# 3. Installation unter Standardeinstellungen
|
|
||||||
ddev just install
|
|
||||||
```
|
|
||||||
|
|
||||||
Zur Installation des Shops wird nur ein Befehl benötigt. Der Befehl `ddev just install` installiert den Shop mit der neusten Version und den standardmäßigen Einstellungen.
|
|
||||||
|
|
||||||
Nach der erfolgreichen Installation kann der Shop über die angezeigte URL aufgerufen werden. Die Anmeldedaten wurden automatisch festgelegt und sind:
|
Nach der erfolgreichen Installation kann der Shop über die angezeigte URL aufgerufen werden. Die Anmeldedaten wurden automatisch festgelegt und sind:
|
||||||
|
|
||||||
|
|
@ -29,47 +26,46 @@ Nach der erfolgreichen Installation kann der Shop über die angezeigte URL aufge
|
||||||
| Shop-Administration | `admin` | `admin` |
|
| Shop-Administration | `admin` | `admin` |
|
||||||
| Shop-Abgleich | `sync` | `sync` |
|
| Shop-Abgleich | `sync` | `sync` |
|
||||||
|
|
||||||
## Benutzerdefinierte Installations-Routinen
|
### Benutzerdefinierte Installations-Routinen
|
||||||
|
|
||||||
### Nutzung einer zweiten DDEV-Instanz
|
|
||||||
|
|
||||||
1. Repository klonen
|
|
||||||
2. Änderung der Domain in `.ddev/config.yaml`
|
|
||||||
3. Den Container zwingend mit `ddev restart` neu starten
|
|
||||||
4. Anschließend die Installation mit Argument starten
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Installiert den Shop unter einer anderen Domain
|
# Führt die Installation mit spezifischen Werten aus.
|
||||||
ddev just shop_url="jtl-shop.ddev.site" shop_version="5.5.2"
|
# Darüber kann die Installation der Shop-Version gesteuert werden,
|
||||||
|
# die PHP-Version und ob Demo-Daten installiert werden sollen.
|
||||||
|
# Weitere Parameter sind in der Tabelle unten aufgeführt.
|
||||||
|
just shop_version="5.3.1" install_demo="false" php_version="8.1"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Nutzung einer anderen Shop-Version
|
|
||||||
|
|
||||||
> Da die JTL-Shop Core den Installer nicht mehr zur Verfügung stellt, ist es notwendig, die Installer-Dateien in diesem Repository im Ordner `tools/installer` zu hinterlegen. Die Dateien sind in den entsprechenden Versionen im Dateinamen `install_X.X.X.zip` hinterlegt. Die Installations-Dateien können von der [Webseite von JTL](https://www.jtl-software.de/) mit einem Kundenkonto bezogen werden. Es ist außerdem notwendig, dass in dem Repository des JTL-Shops / Core die Versionen als Tags hinterlegt sind. Diese Tags müssen mit den Versionen im Dateinamen der Installer-Dateien übereinstimmen.
|
|
||||||
|
|
||||||
1. Repository klonen
|
|
||||||
2. Notwendige PHP-Version unter `.ddev/config.yaml` eintragen
|
|
||||||
3. Den Container zwingend mit `ddev restart` neu starten
|
|
||||||
4. Anschließend die Installation mit Argument starten
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Installiert den Shop unter einer anderen Domain
|
# Erstellt ein Backup der Datenbank, Deinstalliert den Shop,
|
||||||
ddev just shop_version="5.5.2"
|
# und löscht anschließend alle Dateien und Datenbanken. Die Datenbanken
|
||||||
|
# werden als Snapshot im `.ddev/db_snapshots` Ordner gespeichert.
|
||||||
|
just uninstall
|
||||||
```
|
```
|
||||||
|
|
||||||
### Sonstige Installationsparameter
|
|
||||||
|
|
||||||
Hier sind alle Installationsparameter die mit der Installation mitgegeben werden um die Installation zu beeinflussen, Testprodukte zu erstellen etc.
|
|
||||||
|
|
||||||
| Parameter | Standardwert | Beschreibung |
|
| Parameter | Standardwert | Beschreibung |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| `shop_version` | `5.5.2` | Die Shop-Version, die installiert werden soll. Aktuell stehen zur Auswahl `5.5.2`, `5.3.1`, `5.2.5`, `5.1.6` oder `5.0.6`. Um weitere Versionen anzubieten, siehe weiter unten im Abschnitt 'Unterstützte Shop-Versionen' |
|
| `shop_version` | `5.3.1` | Die Shop-Version, die installiert werden soll. Aktuell stehen zur Auswahl `5.3.1`, `5.2.5`, `5.1.6` oder `5.0.6`. Um weitere Versionen anzubieten, siehe weiter unten im Abschnitt 'Unterstützte Shop-Versionen' |
|
||||||
|
| `php_version` | `8.2` | Die PHP-Version, die genutzt werden soll. `5.6`, `7.0`, `7.1`, `7.2`, `7.3`, `7.4`, `8.0`, `8.1`, `8.2`, oder `8.3` |
|
||||||
| `install_demo` | `true` | Ob der neue Shop Demo-Daten enthalten soll, ansonsten muss `false` angegeben werden. |
|
| `install_demo` | `true` | Ob der neue Shop Demo-Daten enthalten soll, ansonsten muss `false` angegeben werden. |
|
||||||
| `install_demo_products` | `10` | Falls die Demo-Daten installiert werden: Anzahl der zu generierenden Produkte |
|
| `install_demo_products` | `10` | Falls die Demo-Daten installiert werden: Anzahl der zu generierenden Produkte |
|
||||||
| `install_demo_categories` | `3` | Falls die Demo-Daten installiert werden: Anzahl zu generierenden der Kategorien |
|
| `install_demo_categories` | `3` | Falls die Demo-Daten installiert werden: Anzahl zu generierenden der Kategorien |
|
||||||
| `install_demo_manufacturers` | `3` | Falls die Demo-Daten installiert werden: Anzahl der zu generierenden Hersteller |
|
| `install_demo_manufacturers` | `3` | Falls die Demo-Daten installiert werden: Anzahl der zu generierenden Hersteller |
|
||||||
| `install_url` | `jtl-shop.ddev.site` | Die URL über die der Shop erreicht werden soll. Achtung: DDEV Config vorher anpassen! |
|
| `install_url` | `https://jtl-shop-**X.X.X**.ddev.site` | Die URL über die |
|
||||||
|
|
||||||
### Beispiel
|
### Befehle für den DDEV-Entwicklungsserver
|
||||||
|
|
||||||

|
```bash
|
||||||
|
# Startet den Entwicklungs-Container
|
||||||
|
just start
|
||||||
|
# Stoppt den Entwicklungs-Container
|
||||||
|
just stop
|
||||||
|
# Zeigt die Beschreibung und URLs des Containers an
|
||||||
|
just describe
|
||||||
|
```
|
||||||
|
|
||||||
|
## Unterstützte Shop-Versionen
|
||||||
|
|
||||||
|
Da die JTL-Shop Core den Installer nicht mehr zur Verfügung stellt, ist es notwendig, die Installer-Dateien in diesem Repository im Ordner `tools/installer` zu hinterlegen. Die Dateien sind in den entsprechenden Versionen im Dateinamen `install_**X.X.X**.zip` hinterlegt. Die Installations-Dateien können von der [Webseite von JTL](https://www.jtl-software.de/) mit einem Kundenkonto bezogen werden.
|
||||||
|
|
||||||
|
Es ist außerdem notwendig, dass in dem Repository des JTL-Shops / Core die Versionen als Tags hinterlegt sind. Diese Tags müssen mit den Versionen im Dateinamen der Installer-Dateien übereinstimmen.
|
||||||
|
|
|
||||||
83
justfile
83
justfile
|
|
@ -1,13 +1,15 @@
|
||||||
shop_version := "5.5.2"
|
shop_version := "5.3.1"
|
||||||
shop_url := "jtl-shop.ddev.site"
|
php_version := "8.2"
|
||||||
install_demo := "true"
|
install_demo := "true"
|
||||||
install_demo_products := "10"
|
install_demo_products := "10"
|
||||||
install_demo_categories := "3"
|
install_demo_categories := "3"
|
||||||
install_demo_manufacturers := "3"
|
install_demo_manufacturers := "3"
|
||||||
|
|
||||||
# Installiert den Shop mit den angegebenen Werten (Standard)
|
# Installiert den Shop mit den angegebenen Werten (Standard)
|
||||||
|
[linux]
|
||||||
install:
|
install:
|
||||||
@echo "Installiere den Shop"
|
@echo "Installiere Abhängigkeiten (ddev, rsync, unzip, mkcert)"
|
||||||
|
just install-dependencies
|
||||||
just uninstall
|
just uninstall
|
||||||
mkdir -p ./shop
|
mkdir -p ./shop
|
||||||
@echo "Lade JTL-Shop v{{shop_version}} herunter"
|
@echo "Lade JTL-Shop v{{shop_version}} herunter"
|
||||||
|
|
@ -19,30 +21,79 @@ install:
|
||||||
cd ./shop && rsync -av core-*/* . && rm -rf core-*
|
cd ./shop && rsync -av core-*/* . && rm -rf core-*
|
||||||
@echo "Kopiere Installer in das Shop-Verzeichnis"
|
@echo "Kopiere Installer in das Shop-Verzeichnis"
|
||||||
just copy-installer
|
just copy-installer
|
||||||
|
@echo "Konfiguriere die Entwicklungsumgebung"
|
||||||
|
just ddev-configuration
|
||||||
@echo "Installiere den Shop automatisch und lösche das Installationsverzeichnis"
|
@echo "Installiere den Shop automatisch und lösche das Installationsverzeichnis"
|
||||||
just run-installer
|
just run-installer
|
||||||
|
|
||||||
|
[private]
|
||||||
|
[linux]
|
||||||
|
install-dependencies:
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y curl rsync unzip
|
||||||
|
curl -fsSL https://ddev.com/install.sh | bash
|
||||||
|
mkcert -install
|
||||||
|
|
||||||
# Deinstalliert den Shop. Löscht alle Dateien und Datenbanken
|
# Deinstalliert den Shop. Löscht alle Dateien und Datenbanken
|
||||||
|
[linux]
|
||||||
uninstall:
|
uninstall:
|
||||||
@echo "Deinstalliere den Shop"
|
|
||||||
@rm -rf ./shop/*
|
@rm -rf ./shop/*
|
||||||
|
@if [ -d ".ddev" ]; then \
|
||||||
run-installer:
|
echo "Entferne vorherige Installation" \
|
||||||
# Composer install
|
ddev delete -y; \
|
||||||
@echo "\r\nInstalliere Composer Abhängigkeiten..."
|
else \
|
||||||
@cd ./shop && composer install --working-dir=./includes
|
echo "Keine vorhandene Installation gefunden."; \
|
||||||
# Installer
|
|
||||||
@echo "\r\nInstalliere die Datenbank..."
|
|
||||||
@curl --silent -X POST -k -H 'Content-Type: application/x-www-form-urlencoded' -d 'admin[name]=admin&admin[pass]=admin&admin[locale]=de&wawi[name]=sync&wawi[pass]=sync&db[host]=db&db[pass]=db&db[socket]=&db[user]=db&db[name]=db&demoProducts={{install_demo_products}}&demoCategories={{install_demo_categories}}&demoManufacturers={{install_demo_manufacturers}}' https://{{shop_url}}/install/install.php?task=doinstall
|
|
||||||
@if [ {{install_demo}} = "true" ]; then \
|
|
||||||
curl --silent -X POST -k -H 'Content-Type: application/x-www-form-urlencoded' -d 'admin[name]=admin&admin[pass]=admin&admin[locale]=de&wawi[name]=sync&wawi[pass]=sync&db[host]=db&db[pass]=db&db[socket]=&db[user]=db&db[name]=db&demoProducts={{install_demo_products}}&demoCategories={{install_demo_categories}}&demoManufacturers={{install_demo_manufacturers}}' https://{{shop_url}}/install/install.php?task=installdemodata; \
|
|
||||||
fi
|
fi
|
||||||
@echo "Installation erfolgreich abgeschlossen."
|
|
||||||
@echo "Erreichbar unter: https://{{shop_url}}"
|
|
||||||
|
|
||||||
|
# Startet die Entwicklungsumgebung
|
||||||
|
[linux]
|
||||||
|
start:
|
||||||
|
@if [ -d ".ddev" ]; then \
|
||||||
|
ddev start; \
|
||||||
|
else \
|
||||||
|
echo "Keine Konfiguration gefunden, bitte zuerst 'just install' ausführen."; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fährt die Entwicklungsumgebung herunter
|
||||||
|
[linux]
|
||||||
|
stop:
|
||||||
|
@if [ -d ".ddev" ]; then \
|
||||||
|
ddev stop; \
|
||||||
|
else \
|
||||||
|
echo "Keine Konfiguration gefunden, bitte zuerst 'just install' ausführen."; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Zeigt Informationen zur Entwicklungsumgebung an
|
||||||
|
[linux]
|
||||||
|
describe:
|
||||||
|
@if [ -d ".ddev" ]; then \
|
||||||
|
ddev describe; \
|
||||||
|
else \
|
||||||
|
echo "Keine Konfiguration gefunden, bitte zuerst 'just install' ausführen."; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[private]
|
||||||
|
run-installer:
|
||||||
|
@echo "\r\nInstalliere die Datenbank..."
|
||||||
|
@curl --silent -X POST -k -H 'Content-Type: application/x-www-form-urlencoded' -d 'admin[name]=admin&admin[pass]=admin&admin[locale]=de&wawi[name]=sync&wawi[pass]=sync&db[host]=db&db[pass]=db&db[socket]=&db[user]=db&db[name]=db&demoProducts={{install_demo_products}}&demoCategories={{install_demo_categories}}&demoManufacturers={{install_demo_manufacturers}}' https://jtl-shop-{{shop_version}}.ddev.site/install/install.php?task=doinstall
|
||||||
|
@if [ {{install_demo}} = "true" ]; then \
|
||||||
|
curl --silent -X POST -k -H 'Content-Type: application/x-www-form-urlencoded' -d 'admin[name]=admin&admin[pass]=admin&admin[locale]=de&wawi[name]=sync&wawi[pass]=sync&db[host]=db&db[pass]=db&db[socket]=&db[user]=db&db[name]=db&demoProducts={{install_demo_products}}&demoCategories={{install_demo_categories}}&demoManufacturers={{install_demo_manufacturers}}' https://jtl-shop-{{shop_version}}.ddev.site/install/install.php?task=installdemodata; \
|
||||||
|
fi
|
||||||
|
clear
|
||||||
|
@echo "Installation erfolgreich abgeschlossen."
|
||||||
|
@echo "Erreichbar unter: https://jtl-shop-{{shop_version}}.ddev.site"
|
||||||
|
|
||||||
|
[linux]
|
||||||
[private]
|
[private]
|
||||||
copy-installer:
|
copy-installer:
|
||||||
cp ./tools/installer/install_{{shop_version}}.zip ./shop/install/installer.zip
|
cp ./tools/installer/install_{{shop_version}}.zip ./shop/install/installer.zip
|
||||||
unzip -o ./shop/install/installer.zip -d ./shop/install
|
unzip -o ./shop/install/installer.zip -d ./shop/install
|
||||||
rm ./shop/install/installer.zip
|
rm ./shop/install/installer.zip
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
[private]
|
||||||
|
ddev-configuration:
|
||||||
|
ddev config --php-version {{php_version}} --project-type php --docroot ./shop --project-name jtl-shop-{{shop_version}}
|
||||||
|
ddev start
|
||||||
|
ddev exec composer install --working-dir=./shop/includes
|
||||||
1
shop/plugins/dh_matomo_tracking
Submodule
1
shop/plugins/dh_matomo_tracking
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 969094aac02550c8b8699a25d91f42553164c1c8
|
||||||
1
shop/plugins/dh_sentry_loader
Submodule
1
shop/plugins/dh_sentry_loader
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 9e6472afbbd65c4e04a2796e1489d7515f2e6882
|
||||||
0
shop/templates/.gitkeep
Normal file
0
shop/templates/.gitkeep
Normal file
Binary file not shown.
Loading…
Reference in a new issue