This guide installs Shopware 6.7.7.1 on a self-hosted Linux server.
Current Version: 6.7.7.1 (released February 4, 2026)
⚠️ Important: Shopware 6.7 requires Elasticsearch for product search. Redis is recommended for production.
| Component | Requirement |
|---|---|
| PHP | 8.2, 8.3, or 8.4 |
| Database | MySQL 5.7+ or MariaDB 10.3+ |
| Search Engine | Elasticsearch 7.x or 8.x (required) |
| Web Server | Apache 2.4+ or Nginx 1.x |
| PHP Extensions | curl, dom, fileinfo, gd, intl, json, mbstring, openssl, pdo, pdo_mysql, zip, zlib |
| Memory | 2GB RAM minimum (4GB+ recommended) |
# Required PHP extensions for Shopware 6
curl dom fileinfo gd intl json mbstring openssl pdo pdo_mysql zip zlib
Ubuntu/Debian:
apt update
apt install apache2 mariadb-server git unzip curl
# Install PHP 8.2 and required extensions
apt install php8.2 libapache2-mod-php8.2 php8.2-mysql php8.2-curl php8.2-gd \
php8.2-intl php8.2-mbstring php8.2-xml php8.2-zip php8.2-opcache php-composer2
RHEL/Rocky Linux:
dnf install httpd mariadb-server git unzip curl
# Install PHP 8.2 and required extensions (requires EPEL/Remi repositories)
dnf install php php-mysqlnd php-curl php-gd php-intl php-mbstring php-xml \
php-zip php-opcache php-composer2
Shopware 6 requires Elasticsearch for product search:
# Install Elasticsearch (follow official Elasticsearch installation guide)
# Or use Docker for development:
docker run -d --name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e "xpack.security.enabled=false" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
elasticsearch:8.11.0
Note: For production, follow the official Elasticsearch installation guide for your distribution.
Create a database and user for Shopware:
mysql -u root -p -e "CREATE DATABASE shopware CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p -e "CREATE USER 'shopware'@'localhost' IDENTIFIED BY 'strong-password-here';"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON shopware.* TO 'shopware'@'localhost';"
mysql -u root -p -e "FLUSH PRIVILEGES;"
Option A: Composer (Recommended)
cd /var/www/html
composer create-project shopware/production:~6.7 shopware
cd shopware
Option B: Download Archive
cd /var/www/html
wget https://github.com/shopware/production/archive/refs/tags/v6.7.7.1.tar.gz
tar -xzf v6.7.7.1.tar.gz
mv production-6.7.7.1 shopware
chown -R www-data:www-data /var/www/html/shopware
find /var/www/html/shopware -type d -exec chmod 755 {} \;
find /var/www/html/shopware -type f -exec chmod 644 {} \;
chmod +x /var/www/html/shopware/bin/console
Option A: Web Installer
Open http://YOUR-SERVER/shopware in your browser and follow the installation wizard.
Provide:
localhost, port: 9200Option B: CLI Installation (Recommended for automation)
cd /var/www/html/shopware
# Install with database and Elasticsearch
bin/console system:install \
--database-host=localhost \
--database-name=shopware \
--database-user=shopware \
--database-password=strong-password-here \
--elasticsearch-host=localhost \
--elasticsearch-port=9200 \
--shop-url=http://your-domain.com \
--admin-email=admin@example.com \
--admin-password=admin-password-here \
--admin-locale=en-GB \
--no-interaction
Shopware requires cron jobs for scheduled tasks:
crontab -e -u www-data
Add:
* * * * * cd /var/www/html/shopware && /usr/bin/php bin/console scheduled-task:run
* * * * * cd /var/www/html/shopware && /usr/bin/php bin/console messenger:consume async
cd /var/www/html/shopware
bin/console cache:clear
bin/console asset:install
For production, always use HTTPS. Configure via Apache/Nginx or place behind a reverse proxy with Let’s Encrypt.
After installation, verify Elasticsearch connection:
bin/console elasticsearch:status
If needed, update Elasticsearch configuration in .env file:
ELASTICSEARCH_HOSTS=http://localhost:9200
Prefer automation? See Shopware Ansible Setup for an example playbook.
Prefer containers? See Shopware Docker Setup.
Any questions?
Feel free to contact us. Find all contact information on our contact page.