.. include:: /Includes.rst.txt .. index:: deployment, composer, production setup .. _deploytypo3: .. _deployment: =============== Deploying TYPO3 =============== .. _deployment-git-composer: Using Git and Composer on the webserver ======================================= * Check if Composer is available on the production server. If it is not available consider to use the `latest composer.phar `__. * Keep all development related files in a Git repository. * Clone this repository on your production server. * Copy the database to the production server. * Install TYPO3 without dev dependencies on the production server: .. code-block:: composer install --no-dev * Compare the database * Fix file permissions * Clear caches .. todo: Link these steps once documented If you do a `composer install` directly on the production server you might experience some problems. For this reason some developers and administrators decide not to do it: * There can be several minutes of downtime even if the installation goes smoothly. * The installation might fail if some packages are not available. * You might accidentally call `composer update` as is often done during development and do unintended, untested updates. * You might omit the `--no-dev` option and accidentally install packages that are not save to be used during production. Some of these problems can be fixed by using a symlink strategy where one directory is running on production and another one is being updated. .. _deployment-copy-files: Build locally and copy all files and symlinks to the server =========================================================== * Build the local environment (installing everything necessary for the website) * Run :bash:`composer install --no-dev` to install without development dependencies * Copy files to the production server * Copy the database to the production server * Compare the database * Fix file permissions * Clear caches .. todo: Link these steps once documented There can be several problems with this strategy: * Copying files or unzipping files can be slow, there can be several minutes of downtime. * A TYPO3 installation depends on symlinks. Make sure these symlinks are preserved during copying and or compressing files. .. _deployment-automatic: Automatic deployment ==================== There are multiple tools that can be used to automate deployment. Read more about it: :ref:`TYPO3 Explained, automatic deployment `.