For local development, the best approach is DDEV with Composer. It helps you create a development environment that is closer to production, makes collaboration easier, and reduces setup issues when testing changes or preparing deployments.
If you are working on shared hosting or do not have SSH and Composer access, the classic source package method is still a practical option. In this guide, you will learn how to prepare your environment, choose the right installation method, configure the database, and access the TYPO3 backend for the first time.
Quick Answer: Best Way to Install TYPO3 in 2026
Here is the best option for each setup.
Best method for production
Use Composer.
- best for live websites
- easier updates
- better long term setup
Best method for local development
Use DDEV with Composer.
- best for local testing
- close to production setup
- good for team work
Best method for shared hosting
Use the classic source package.
- works without SSH
- upload with FTP
- useful for limited hosting
Do you need a Composer?
No, but it is the best choice for production.
- use Composer if possible
- use classic install only if needed
Choose Your TYPO3 Installation Method
TYPO3 offers different install methods based on your setup.
Option 1: Composer installation
This is the main method for production.
- needs SSH
- easier updates
- better maintenance
Option 2: DDEV + Composer for local development
This is the best method for local work.
- good for development
- stable local setup
- useful for testing
Option 3: Classic installation without Composer
This method works for shared hosting.
- no Composer needed
- no SSH needed
- manual setup
Mini comparison table
This table shows the main difference.
Method | Best for | Access |
Composer | Production | SSH |
DDEV + Composer | Local development | Local machine |
Classic install | Shared hosting | FTP or panel |
Choose the Right TYPO3 Version Before You Install

Before you install TYPO3, choose the right version for your project. For most new websites, the latest LTS version is the best choice. Also, always check official compatibility before install.
LTS
LTS is the best option for most projects.
- long term security support
- stable for production
- easier to maintain
ELTS
ELTS is useful for older TYPO3 websites that cannot upgrade yet.
- paid extended support
- useful for old enterprise setups
- not for new projects
Sprint Releases
Sprint releases are not meant for most live websites.
- short support period
- focused on new features
- better for testing
PHP Compatibility
Each TYPO3 version supports only specific PHP versions.
- check official TYPO3 requirements before install
- make sure your PHP version matches
- wrong PHP version can break TYPO3 and extensions
Recommendation
Keep the decision simple.
- use the latest LTS for new projects
- use ELTS only if upgrade is not possible
- avoid sprint releases for production
If you are using an older TYPO3 version, review upgrade needs before installing or migrating.
What You Need Before Installing TYPO3
Before you install TYPO3, make sure your server and access setup are ready. This helps avoid errors during setup.
Server requirements
TYPO3 needs the right PHP version, database, and server setup.
PHP
Use a PHP version supported by your TYPO3 version.
- check official TYPO3 requirements first
- TYPO3 v13 needs PHP 8.2+
- common extensions include:
- curl
- fileinfo
- mbstring
- openssl
- intl
- pdo
- json
Database
TYPO3 supports these database systems.
- MySQL 8.0+
- MariaDB 10.4+
- PostgreSQL 10+
- SQLite for development only
Use utf8mb4 if possible.
Web server
TYPO3 works with common web servers.
- Apache
- NGINX
- IIS
- Caddy
The document root should point to /public.
Composer
Composer is needed for modern TYPO3 installs.
- use Composer 2.x
- recommended for production
Access requirements
You also need the right access before you start.
- SSH access for Composer and CLI
- FTP or SFTP for classic install
- hosting panel for database setup and document root
- web browser for install tool and backend
Pre-install checklist
Use this checklist before starting.
- TYPO3 version selected
- supported PHP version ready
- required PHP extensions enabled
- database created
- document root set to /public
- Composer available if needed
- SSH or FTP access ready
- browser access confirmed
Pre-Installation Checks That Prevent Most TYPO3 Errors
Before you start, check a few basics. These small checks can prevent common setup problems.
Confirm /public docroot control
TYPO3 should run from the /public folder.
- make sure you can set the document root
- do not point the domain to the project root
Confirm writable paths
TYPO3 needs write access to some folders.
- check
var/ - check
config/ - check
public/fileadmin/
Confirm supported PHP extensions
TYPO3 needs required PHP extensions to run properly.
- confirm the needed extensions are enabled
- check the official requirements for your TYPO3 version
Confirm database credentials are ready
Keep your database details ready before setup.
- database name
- username
- password
- host
Confirm empty target directory for Composer install
For Composer install, start in the right place.
- use an empty target directory
- avoid mixing TYPO3 with old files
TYPO3 Installation Methods Explained

TYPO3 can be installed in different ways. The right method depends on your hosting, access, and project type.
Composer installation
Composer is the best choice for most live TYPO3 websites.
- best for production
- good for long term projects
- easier updates and maintenance
See the full steps in the Install TYPO3 with Composer section below.
Classic source package
This method is useful when Composer or SSH is not available.
- best for shared hosting
- uses manual file upload
- updates are more manual
See the full steps in the TYPO3 Installation via Source Package section below.
Local development
Local installation is best for testing and development before launch.
- best for local work
- good for testing changes
- safer before going live
See the full steps in the Installing TYPO3 Locally section below.
DDEV
DDEV is the recommended method for local TYPO3 development.
- close to production setup
- good for teamsFIRST_INSTALL vs ENABLE_INSTALL_TOOL
- better for modern workflows
XAMPP
XAMPP can be used for simple local testing.
- easy to start
- okay for basic testing
- not the best for bigger projects
Installation method overview
This table shows when to use each method.
Method | Best for | Hosting | Maintenance |
Composer | Production websites | VPS, cloud, dedicated server | Easy and structured |
Source package | Shared hosting | Limited server access | Manual |
DDEV or XAMPP | Local development | Local machine | Safe for testing |
Recommendation
For most TYPO3 projects, keep it simple.
- use Composer for production
- use DDEV for local development
- use source package only if needed
Install TYPO3 with Composer (Step-by-Step)

Composer is the best way to install TYPO3 for most live websites. It gives you a clean setup and easier updates.
Create the project
First, connect to your server with SSH and go to the folder where you want to install TYPO3.
composer create-project typo3/cms-base-distribution my-typo3-sitecd my-typo3-site
This will:
- download TYPO3
- install dependencies
- create the standard project structure
- create the
/publicfolder
Verify the project structure
After installation, check that the main project folders are there. This helps confirm the install completed correctly.
Look for:
/publicconfig/var/var/
Set document root to /public
TYPO3 should run only from the /public folder. This is important for security.
Set your web server document root to:
/path-to-your-project/publicMake sure:
- your domain points to
/public - it does not point to the project root
Create the database
Before setup starts, create your database and user. Keep the login details ready.
You need:
- database name
- username
- password
- host
Use utf8mb4 if possible.
FIRST_INSTALL for fresh setup

For a fresh TYPO3 setup, create the FIRST_INSTALL file in the project root. This allows the initial setup to start.
Make sure:
- the file is empty
- it is placed in the project root
Run setup in browser
The easiest way to finish the install is through your browser.
Open your domain:
https:// yourdomain.com
Then complete these steps:
- run the system check
- enter database details
- create database tables
- create the admin account
- set the site name
After setup, open the backend at:
https:// yourdomain.com/typo3
Run setup via console
If needed, TYPO3 setup can also be done with the console. This is useful for server-based workflows.
Use this if:
- you prefer CLI setup
- you work in a managed server environment
- you want a more technical setup flow
How to know the install succeeded
After setup, check a few basics. This confirms TYPO3 is ready.
- the frontend loads
- the backend login opens
- the database connection works
- no install errors are shown
- TYPO3 backend is accessible at
/typo3
TYPO3 Setup via Console vs Web Installer
TYPO3 setup can be done in two ways. Choose based on your setup and comfort level.
When to use console
Use console when you prefer command line or work on servers.
- good for developers
- useful for automation
- works well with Composer setups
- faster for repeated installs
When browser setup is easier
Use browser setup if you want a simple guided process.
- easy for beginners
- step by step UI
- no command line needed
- good for quick setup
Key difference in workflow
Both methods do the same setup, but the process is different.
- console uses commands and is faster
- browser uses UI and is easier to follow
- console is better for automation
- browser is better for manual setup
TYPO3 Installation via Source Package (Manual Method)

This method is useful if you do not have SSH or Composer access. It is often used on shared hosting.
Download the archive
First, download the TYPO3 source package.
- choose the latest LTS version
- download the
.zipor.tar.gzfile
Upload and extract

Next, upload the archive to your server and extract it.
- use FTP or your hosting file manager
- place the files in your project folder
- make sure all TYPO3 files are extracted properly
Set /public docroot
TYPO3 should run from the /public folder.
- set the document root to
/your-project-folder/public setzen - do not point the domain to the project root
File permissions
TYPO3 needs write access to some folders.
Check these paths:
var/config/public/fileadmin/
Also keep this in mind:
- avoid
777 - make sure the server user can write to these folders
FIRST_INSTALL placement
To start the install, create an empty FIRST_INSTALL file.
- place it in the project root
- keep the file empty
Launch the installer
After that, open your domain in the browser to start setup.
During setup, you will:
- enter database details
- run system checks
- create the admin account
Shared hosting notes
This method works well for limited hosting setups.
- useful when SSH is not available
- good when Composer cannot be used
- often managed through FTP and hosting panel
When classic mode is the right choice
Classic install is the right option in simple cases.
- shared hosting
- no SSH access
- no Composer support
- manual setup is acceptable
Classic TYPO3 Install Variants
Classic install can be done in different ways. Choose based on your access level.
FTP or cPanel archive install
This is the most common method on shared hosting.
- upload archive via FTP or file manager
- extract files in project folder
- no SSH needed
- simple setup
Use this when:
- you only have FTP or panel access
- hosting is shared
- Composer is not available
SSH and symlink install
This method is used on servers with SSH access.
- download TYPO3 via SSH
- use symlinks for core files
- better file management
- easier to update core
Use this when:
- you have SSH access
- you want better control than FTP
- you are not using Composer but still need structure
When each one makes sense
Choose based on your setup.
- use FTP or cPanel for basic hosting
- use SSH method for more control
- use Composer if possible for production
Configure Database & Complete Installation

After the installer starts, TYPO3 will guide you through the final setup steps. This is where your database, admin account, and site setup are completed.
Database credentials
First, enter your database details. TYPO3 will use them to create the needed tables.
Keep these ready:
- host
- database name
- username
- password
Use utf8mb4 if possible.
Environment scan
TYPO3 will then check your server setup. This helps catch problems before the install finishes.
It checks:
- PHP version
- required PHP extensions
- file permissions
- database connection
- memory settings
Fix important errors before moving on.
Admin user creation
Next, create your TYPO3 admin account. This account gives full backend access.
You will need:
- username
- strong password
- email address
Use a secure password from the start.
Blank vs Introduction Package
TYPO3 may ask which setup type you want. Choose based on your goal.
Introduction Package
- includes demo content
- useful for learning
- not for real projects
Blank Installation
- clean TYPO3 setup
- no demo content
- best for production
For most websites, choose Blank Installation.
Backend URL and first login
After setup, TYPO3 will take you to the backend login page.
The backend URL is usually:
https:// yourdomain.com/typo3
Log in with the admin account you just created.
Common setup decisions made during installation
A few choices during setup affect the next steps. Keep them simple.
- correct database connection
- secure admin login
- blank or introduction package
- working backend access
Once these are done, your TYPO3 install is ready for basic configuration.
Installing TYPO3 Locally (Recommended for Development)
A local TYPO3 setup is useful for testing before you go live. It helps you work safely without affecting your live website.
Why local install matters
Local setup is a good choice for development work.
- test updates safely
- build and check extensions
- prepare websites before launch
- work with your team more easily
DDEV overview
DDEV is the best option for local TYPO3 development. It gives you a stable setup that is close to a live server.
- uses Docker
- works well with Composer
- good for team projects
- easier to manage than manual local setups
Step by step DDEV install
You can install TYPO3 locally with DDEV in a few steps.
ddev config --project-type=typo3
ddev start
ddev composer create-project typo3/cms-base-distribution.
After that:
- open the local URL from DDEV
- start the TYPO3 installer
- complete the setup in your browser
DDEV is for local only
DDEV is made for local development, not for live websites.
- use it for testing
- use it for development
- do not use it as production hosting
XAMPP
XAMPP can also be used for local TYPO3 setup, but it is a simpler option.
- okay for basic testing
- easier for beginners
- not ideal for larger projects
Install TYPO3 with DDEV (Quick Start)
If you want a modern local TYPO3 setup, DDEV is the better choice. It is faster to manage and closer to production.
Exact local workflow
This is the basic local install flow with DDEV.
- create a project folder
- run
ddev config --project-type=typo3 - run
ddev start - run
ddev composer create-project typo3/cms-base-distribution . - open the local URL
- finish setup in the browser
When to choose DDEV over XAMPP
DDEV is better when you want a more stable and modern setup.
- better for TYPO3 development
- better for team use
- better for testing real project setups
Use XAMPP only for simple local testing.
Common local pitfalls
A few small issues can break local setup.
- Docker not running
- wrong project folder
- port conflicts
- missing Composer inside DDEV
- local database setup not starting properly
FIRST_INSTALL vs ENABLE_INSTALL_TOOL
This table shows what each file does and when you need it in TYPO3. FIRST_INSTALL starts a fresh installation, while ENABLE_INSTALL_TOOL unlocks the Install Tool for setup or maintenance tasks
Item | FIRST_INSTALL | ENABLE_INSTALL_TOOL |
What it does | Starts fresh TYPO3 installation | Unlocks Install Tool access |
When to use | New TYPO3 setup | When you need to access Install Tool later |
When not needed | After installation is complete | Not needed for first install |
Use together? | Not required with ENABLE_INSTALL_TOOL in most cases | Used separately for maintenance |
Common confusion | People think it unlocks Install Tool | People think it installs TYPO3 |
Security note | Remove after install | Temporary file, auto disables or remove manually |
Quick takeaway
Use this simple rule:
- use
FIRST_INSTALLfor a brand new TYPO3 setup - use
ENABLE_INSTALL_TOOLwhen you need to unlock the Install Tool later - do not treat them as the same file or the same step
If you want, I can make this into a shorter 2-column content block for the page.
Post-Installation Security Hardening

After installation, secure TYPO3 before the site goes live. A few simple checks can reduce risk and prevent unwanted access.
Remove temporary flag files
Temporary install files should not stay in place after setup.
- remove
FIRST_INSTALLafter first setup - remove
ENABLE_INSTALL_TOOLwhen it is no longer needed - keep these files only for setup or maintenance access
Protect Install Tool
The Install Tool gives deep system access, so it should be protected.
- use a strong Install Tool password
- allow access only when needed
- protect it at server level if needed
Use HTTPS
Backend access should run over HTTPS from the start.
- use HTTPS for
/typo3 - avoid insecure logins on live sites
Enable 2FA
Two factor authentication adds extra backend security.
- enable MFA for backend users
- use it for admin accounts first
Configure trusted hosts
Trusted hosts help prevent host header issues.
- set
trustedHostsPattern - allow only your real domain
- avoid wide wildcard patterns
Review file permissions
Only needed folders should be writable.
- check
var/ - check
config/ - check
public/fileadmin/ - never use
777permissions
Secure backend access
Backend access should be limited as much as possible.
- use strong, unique passwords
- avoid generic usernames like
admin - restrict access by IP if your setup allows it
Enable Clean URLs & SEO Basics
Clean URLs need proper site setup and routing. Without that, TYPO3 may show URLs like index.php?id=1 instead of clean paths.
Configure site in TYPO3
Start with site configuration in the backend. TYPO3 site handling is the base for routing and clean URLs.
Set these basics:
- base URL
- default language
- error handling
Apache configuration
Apache must be set correctly for clean URLs to work. Composer-based TYPO3 installs should point the web server to the public/ folder only.
Check these points:
mod_rewriteis enabled- document root points to
/public public/.htaccessstays activeAllowOverride Allis enabled if needed
NGINX configuration
NGINX needs its own rewrite setup. TYPO3 routing depends on requests being passed to index.php correctly.
Check these points:
- root points to
/public try_filesforwards requests toindex.php
Example:
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
Verify routing works
After setup, test a few pages in the frontend. If routing works, TYPO3 should open normal page URLs without query strings like index.php?id=1. This follows TYPO3’s routing system and site configuration model.
What to do if URLs still show index.php?id=1
If you still see index.php?id=1, something in the routing setup is missing or wrong. TYPO3 needs both valid site configuration and correct web server handling for readable URLs.
Check these first:
- site configuration exists
- base URL is correct
- document root points to
/public - Apache rewrite or NGINX
try_filesis working
Enable XML sitemap
TYPO3 can generate XML sitemaps without a third-party plugin. By default, TYPO3 creates a sitemap index with one or more sitemaps for the current site and language.
Check these basics:
- SEO system extension is active
- sitemap is configured
- sitemap URL works on the live domain
For most sites, the sitemap is available at:
https:// yourdomain.com/sitemap.xml
What to Check Immediately After Installation
After installation, do a quick check before you move on. This helps confirm TYPO3 is working as expected.
Backend access works
First, make sure you can log in to the TYPO3 backend. The backend is normally available at /typo3.
- backend login page opens
- admin login works
Site configuration exists
TYPO3 routing depends on site configuration. Without it, many frontend features will not work correctly.
- base URL is set
- site is created in backend
Clean URLs work
Open a few frontend pages and check the URLs. TYPO3 should use readable URLs when routing is set up correctly.
- pages open normally
- no
index.php?id=1in URLs
Install Tool is no longer exposed
After setup, temporary Install Tool access should not stay open. TYPO3 treats the Install Tool as sensitive system access.
- remove temporary access files
- do not leave Install Tool open
Cache and logs are clean
TYPO3 uses caching as part of normal system operation. After install, check that there are no obvious errors or warning signs.
- no major errors shown
- caches work normally
- logs do not show setup problems
XML sitemap is reachable if configured
If you have enabled the TYPO3 XML sitemap, test that it opens correctly on the live domain. TYPO3 supports XML sitemaps as part of its SEO features.
- sitemap URL opens
- pages are included correctly
Common TYPO3 Installation Errors & Fixes
Most TYPO3 install errors come from server setup, access, or missing requirements. TYPO3 supports both Composer and classic installs, and both can fail if the environment is not set correctly.
Error | Common cause | Fix |
500 Internal Server Error | Wrong docroot, rewrite issue, missing PHP extension | Point root to |
Database connection failed | Wrong DB name, user, password, or permissions | Recheck DB credentials and privileges |
White screen | PHP fatal error or low memory | Check logs, raise |
Clean URLs not working | Missing site config or rewrite issue | Check site config and Apache or NGINX rules |
Permission denied | Wrong file permissions | Make sure needed folders are writable |
Install Tool locked | Install Tool access is not enabled | Use |
Wrong flag file or wrong file location |
| Use the right file for the right purpose and place it correctly |
Composer install finishes but installer does not start | Docroot is wrong or setup trigger is missing | Confirm |
Archive extract fails on shared hosting | Hosting limits or incomplete extraction | Reupload, extract again, and confirm all files exist |
TYPO3 uploads fine but does not run | PHP version is not supported | Check official TYPO3 compatibility before install |
Always check PHP and server logs first. They usually show the real cause faster than guessing.
Performance Baseline Setup

A fresh TYPO3 install should be checked before launch. This is not full tuning. It is just the basic setup needed for a stable live site. TYPO3’s install and deployment docs also separate development setup from production-ready setup.
Enable caching
Caching should stay active on live sites.
- keep TYPO3 caches enabled
- avoid development-only settings
- do not flush cache too often in production
Enable OPcache
OPcache helps PHP run faster.
- enable OPcache in PHP
- make sure memory is set properly
Check PHP limits
Low PHP limits can cause backend and install issues.
- set enough
memory_limit - review
max_execution_time - check
upload_max_filesize
Use production context
Live websites should run in production mode, not development mode.
- use production context for live sites
- disable debug output before launch
Quick TYPO3 Installation Checklist

Use this checklist before you call the install complete. TYPO3 supports different install methods, so it helps to separate local setup from production setup.
Local or development checklist
Use this for DDEV, XAMPP, or other local setups.
- TYPO3 version selected
- supported PHP version ready
- required extensions enabled
- local database ready
- local install opens correctly
- backend login works
Production checklist
Use this before launch.
- latest suitable TYPO3 version selected
- PHP compatibility checked
- document root points to
/public - database connection works
- admin account created
- correct install method used
FIRST_INSTALLremoved if used- Install Tool not left exposed
- site configuration exists
- clean URLs work
- HTTPS is active
- trusted hosts configured
- required folders are writable
- caches are enabled
- OPcache is active
- production context is set
If all of these are done, the TYPO3 install is ready for the next setup stage.
Conclusion
Installing TYPO3 is not just about finishing the setup. It also depends on choosing the right version, method, and server setup from the start.
For most projects, the steps in this guide are enough to create a stable TYPO3 setup.
Choose your next step based on your setup. You can install TYPO3 locally for testing, set it up on a live server, check if your hosting meets the requirements, and secure the system before going live.
A Structured Start for TYPO3 Projects
Use this guide to avoid common mistakes and lay a solid foundation for your TYPO3 project from the beginning.
FAQs
You can install TYPO3 using Composer for production, DDEV with Composer for local development, or the source package method for shared hosting.
Composer is not required, but it is recommended for production because it makes updates and maintenance easier.
Yes, you can install TYPO3 without SSH by uploading the source package using FTP or a hosting control panel.
Yes, TYPO3 can run on shared hosting using the classic source package installation method.
TYPO3 requires a supported PHP version, a database like MySQL or MariaDB, required PHP extensions, and a web server such as Apache or NGINX.
FIRST_INSTALL is a file used to start the initial TYPO3 installation process for a new setup.
ENABLE_INSTALL_TOOL is a file that temporarily unlocks access to the TYPO3 Install Tool for setup or maintenance.
You should use DDEV for most development work, while XAMPP is suitable only for simple local testing.
The TYPO3 backend is usually available at yourdomain.com/typo3.
TYPO3 may not load due to incorrect document root, unsupported PHP version, missing extensions, or database issues.
After installation, you should check backend access, set up site configuration, enable clean URLs, activate HTTPS, and secure the system.
Contact for Internet agency and TYPO3 projects
Sven Thelemann
Service Partner - Germany

Be the First to Comment