Contents

    Video

    Installing JTL-Shop

    In this video we explain how to install JTL-Shop.

    Initial installation of JTL-Shop

    System requirements

    Please note: The system requirements represent the officially approved, recommended and supported setup for the operation of JTL-Shop. Operation with a similar setup (Windows, FreeBSD, sunOS, nginx web server, PHP FPM) is generally possible, but we cannot offer support for these setups and/or any resulting problems with the software. Alternative HTTP servers (e.g. NGINX): Please note that the .htaccess rules (e.g. for directory protection!) must be manually added to these servers via the corresponding rules.

    Please make sure that your web server meets the following system requirements:

    • JTL-Wawi: At least version 1.0, for full UTF-8 support at least JTL-Wawi 1.6
    Note: JTL-Wawi 1.6 or higher requires at least JTL-Shop version 4.06.
    • Operating system: Linux (Debian, Ubuntu etc.). Please note the information listed above.
    • 64-bit Apache web server (PHP mode: FCGI or Apache Module) 2.2 or 2.4 with mod_rewrite module, .htaccess support. (The web server must allow for default rules to be overwritten and added.)
    • Database: MySQL 5 version 5.7 or later or MariaDB version 10.1 up to and including 10.9.6; as of JTL-Shop 5.2.3 even up to and including 10.11 (LTS); as of JTL-Shop 5.1 also MySQL 8.0
    • PHP version: JTL-Shop 5 requires at least PHP 8.1 from version 5.2. However, we recommend using PHP 8.2 from 5.2.3.

    Shop version

    PHP 7.0

    PHP 7.1

    PHP 7.2

    PHP 7.3

    PHP 7.4

    PHP 8

    PHP 8.1

    PHP 8.2

    4.00 to 4.05

    Yes

    No

    No

    No

    No

    No

    No

    No

    4.06 to 4.06.15

    Yes

    Yes

    Yes

    No

    No

    No

    No

    No

    4.06.16

    Yes

    Yes

    Yes

    Yes

    No

    No

    No

    No

    4.06.17+

    Yes

    Yes

    Yes

    Yes

    Yes

    No

    No

    No

    5.0.*

    No

    No

    No

    Yes

    Yes

    No

    No

    No

    5.1.*

    No

    No

    No

    Yes

    Yes

    Yes

    No

    No

    5.2.0

    No

    No

    No

    No

    No

    No

    Yes

    No

    5.2.3+

    No

    No

    No

    No

    No

    No

    Yes

    Yes

    • Mail server: Accessible locally or via SMTP
    • PHP modules:
    • SimpleXML
    • Imagick
    • Curl
    • Iconv
    • MBString
    • Tokenizer
    • Intl
    • PDO (MySQL)
    • IonCube Loaders (http://www.ioncube.com/loaders.php): JTL-Shop 5 is delivered with open source code and is ready for operation without IonCube Loader. However, IonCube Loader may be required for the operation of third-party plug-ins.
    • PHP settings:
    • PHP script execution time (max_execution_time) of at least 120 seconds
    • PHP memory limit (memory_limit) of at least 128 MB
    • Maximum PHP transfer size (FILE / upload_max_filesize) of at least 6 MB
    • Maximum PHP transfer size (POST / post_max_filesize) of at least 8 MB
    • allow_url_fopen enabled

    Required webspace

    How much web space is needed for how many items can only be determined theoretically by calculation. The decisive factors are not the items themselves, but mainly their images. Item images are stored in their original size on the webspace and additionally scaled in four different sizes for each shop language.

    Thus, depending on the target image sizes and quality, one shop language results in a webspace 2-3 times larger than the original image file sizes.

    • One shop language
    • Average original size of 200 KB
    • Think about the image sizes you want to make available to customers. If you want to provide full HD images, you should not save 4k images that require a lot of storage space.
    • Item images that are stored in items in JTL-Wawi
    • Make sure that the images are well compressed (permissible file formats for item images are .jpg/.jpeg and .png).
    • In JTL-Shop, a setting specifies that the largest display option for item images matches that of JTL-Wawi.

    Under these conditions, 10 GB of web space would be enough for about 17,000 to 25,000 item images.


    Note on the online shop domain: We strongly advise against using a domain with umlauts/special characters for your online shop. These have often led to problems in the past. Unfortunately, error-free operation cannot be guaranteed. Instead, we recommend using a domain without umlauts/special characters as the main domain and only using the other domains as alias domains that forward to the main domain.

    Web-hosting-specific requirements:

    In our experience, problems with servers running sunOS and the IonCube loader are likely! Before installing the shop, please enquire with your hosting provider which operating system is used on the server. We recommend using Linux web servers.

    Information for Hosting customers of 1&1: Hosting customers of 1&1 need to carry out some additional steps after installing JTL-Shop to enable ionCube. Please see Running JTL-Shop on a 1&1 or Strato server for more information.

    Information for Strato Managed Virtual Server customers: When installing JTL-Shop/IonCube, “PHP mode and accelerator” must be set to CGI. To use the SEO module, the mode must then be set to “Fast CGI + APC” again.

    Test whether JTL-Shop is running on your server

    JTL-Software provides a free downloadable test script that you can use to easily check whether your web server meets the system requirements for operating the online shop.

    1. Download the test script
    2. Unzip the downloaded file and upload all unzipped files to your web server in the folder “shop4-systemcheck” with an FTP programme. Punkt
    3. Call up the test script in your browser (e.g. http://Your-Domain.de/shop4-systemcheck/). If the script was unpacked into another subdirectory, adjust the call accordingly.
    4. After the test script was run successfully, remove the folder from your web server again.

    The new installation of JTL-Shop is divided into three essential steps that must be completed one after the other:

    1. Download the shop package and unzip and upload the contents to your own web space.
    2. Define the file rights.
    3. Start the installation process with the installer.

    In the following paragraph, we will take you through the individual points to be considered.

    Step 1: Download the shop package and unzip and upload the contents to your own web space.

    Depending on the version used, the process for purchasing a licence and the download differ. Further reading:

    Unzip the zip file locally into a directory on your computer.

    The folder containing the unpacked shop files has the following directory structure:

    • admin
    • bilder (images)
    • classes
    • dbeS
    • downloads
    • export
    • gfx
    • includes
    • install
    • jtllogs
    • media
    • mediafiles
    • templates
    • templates_c
    • update
    • uploads
    • + additional individual files

    Uploading the unzipped files to the web server:

    The directories and files you have just unpacked must now be transferred to your web space via FTP.

    Please set your FTP programme to transfer PHP files in binary format.

    Step 2: Define the file rights.

    The installation as well as the operation of JTL-Shop requires granting certain access rights to certain folders/directories and files. You can set permissions for folders and files using your FTP programme. In most cases, folders must be given permission 755 and files must be given the permission 644. However, this may differ for some servers.

    When installing JTL-Shop initially, the file includes/config.JTL-Shop.ini.php has not usually been created yet. Important database connection settings are written to this file during installation as well as the encryption password for sensitive customer data. The file config.JTL-Shop.ini.php is not available in the folder includes; rename the file config.JTL-Shop.ini.initial.php to config.JTL-Shop.ini.php For the installation, please also give this file write access (in case of doubt 777).

    Please ensure that the following folders (and the folders/files they contain) are writable by the web server:

    • admin/includes/emailpdfs
    • admin/templates_c
    • dbeS/tmp
    • dbeS/logs
    • bilder (images) (and all subdirectories)
    • includes/config.JTL-Shop.ini.php
    • install/logs
    • export
    • jtllogs
    • mediafiles (as well as all subdirectories)
    • media (as well as all subdirectories)
    • rss.xml
    • shopinfo.xml
    • templates_c
    • uploads

    If you are operating a root server, you can set the rights with the following command:

    chmod -R 755 bilder/* dbeS/tmp dbeS/tmp dbeS/logs admin/templates_c jtllogs install/logs templates_c includes/config.JTL-Shop.ini.php mediafiles admin/includes/emailpdfs shopinfo.xml rss.xml uploads export media
    With some hosts, the assignment of access right 755 is not sufficient for the web server to be able to write to files; in this case, set the access rights to 777.

    Step 3: Start the installation process with the installer.

    1. In your browser, call up the page <YOUR-SHOP-URL>/install. The page Welcome to the installation of your new JTL-Shop opens.
    2. Select Continue to step 1. You will be taken to the Existing installation page, where JTL-Shop checks whether an installation already exists. If this is the case, please read the instructions on Updating JTL-Shop.
    1. Click Next to go to the page Permission check. Here, JTL-Shop checks whether you have set all file rights correctly and notifies you of any incorrectly set rights.
    2. Click on Continue to Step 3. You will now be taken to the Server configuration page. Here JTL-Shop shows you whether your server has been configured correctly. If you have previously carried out the system check, no errors should be displayed here.

    If all server requirements and file permissions are displayed as OK, you can now create a database for JTL-Shop with a database management programme such as phpMyAdmin and enter the database connection data.

    Further information on the database form fields:
    The DB host is the server name on which the database runs. Usually, this is localhost. You will mostly receive the DB user name from your hosting provider unless you have root rights for the database and can create your own database users. Please note that the database user needs the following rights for the database: SELECT, CREATE, ALTER, INSERT, UPDATE, DELETE, INDEX, DROP. You will also receive the DB password for the database user from your hosting provider. The database name is the name of the database that was created for JTL-Shop and for which the database user has the above-mentioned rights.

    1. Click Next to go to the page Database parameters. Enter the access data and the name of your database here.
    2. Click Verify to see if the data has been entered correctly. Click Continue. The page Admin user opens.

    Install demo data? Fragezeichen statt : You can activate this check box if you would like to populate your JTL-Shop with demo data. This way you can get an idea of JTL-Shop relatively quickly without connecting it to JTL-Wawi and loading your own items into the shop. You can reset JTL-Shop at a later date to remove the demo data from the system again.

    1. Write down the user data. You will need them to log in to the back end of JTL-Shop. Click Continue. The Import scheme page opens.
    2. Click Next to complete the installation. You will see a summary of the installation.
    1. After successful installation, remove the install/ directory from your shop. Remove write access for the file includes/config.JTL-Shop.ini.php. 644 is sufficient for this file from now on.

    After successful installation, you can continue with the basic configuration of JTL-Shop, i.e. transfer settings, categories, and items to JTL-Shop.

    Setting up a domain redirect

    This is not a JTL-Shop-specific setting, but a very general web space setting. This step is not necessary for the successful installation of JTL-Shop, but it is strongly recommended. For search engines, it is important that the same content is not accessible via different domains (keyword: duplicate content). Domains are already considered different when they differ in the subdomain. In particular, www.myshop.com is a different domain than just myshop.com. If your web space is accessible via both domains, you should urgently follow the instructions in this section and install a domain redirect. A redirect prevents the occurrence of duplicate content, which is detrimental to search engine rankings.

    Attention: Doppelpunkt When you set up a redirect, make sure that the desired domain is also in the file includes/config.JTL-Shop.ini.php under URL_SHOP. If this is not the case, please correct it, otherwise there will be an unnecessary redirect with every click.

    In order to set up a redirect (technically, this is a rewrite), one of the following sections must be inserted directly under the line RewriteEngine On in the .htaccess file located in the root directory of the shop. Please replace the example domain myshop.com with your actual domain! Since JTL-Shop 3.03, premade commented out rules are already integrated into .htacces files (#REWRITE ANPASSUNG 2 (redirection to www.mydomain.com)). This means that you only need to comment out the rules (remove #) and adjust the domain.

    Redirect from myshop.com to www.myshop.com

    Probably the most common rule is the rewrite to www.

    RewriteCond %{HTTP_HOST} ^myshop.com
    RewriteRule ^(.*)$ http://www.myshop.com/$1 [r=301,L]

    The effect of this redirect is that when http://myshop.com/myitem is entered, the visitor is redirected to http://www.myshop.com/myitem.

    Redirection form www.myshop.com to myshop.com

    For some online shops, the version without www is preferred.

    RewriteCond %{HTTP_HOST} ^www.myshop.com
    RewriteRule ^(.*)$ http://myshop.com/$1 [r=301,L]

    Redirect from myshop.eu and www.myshop.eu to www.myshop.de

    You can also set up several rules that are separated by [OR] .

    RewriteCond %{HTTP_HOST} ^myshop.eu [OR]
    RewriteCond %{HTTP_HOST} ^www.myshop.eu
    RewriteRule ^(.*)$ http://www.myshop.com/$1 [r=301,L]

    Redirect from mysecondshop.com and www.mysecondshop.com to www.myshop.com

    Of course, domains with completely different names can also be redirected:

    RewriteCond %{HTTP_HOST} ^mysecondshop.com [OR]
    RewriteCond %{HTTP_HOST} ^www.mysecondshop.com
    RewriteRule ^(.*)$ http://www.myshop.com/$1 [r=301,L]
    Please note: You can also store redirections for individual item pages. For more information, please see:

    After the installation: Next steps

    After the installation, the Setup wizard opens. Follow the steps of the wizard. Afterwards, please read Setup and basic configuration for the setup of JTL-Wawi and JTL-Shop.

    Video

    Installing JTL-Shop

    In this video we explain how to install JTL-Shop.