:navigation-title: Project Structure .. include:: /Includes.rst.txt .. _project-structure: ================= Project structure ================= The following introduction refers to a Composer-based installation. .. directory-tree:: :level: 2 :show-file-icons: true * config * sites * system * packages * public/ * _assets/ * fileadmin/ * typo3/ * typo3temp/ * assets/ * var/ * cache/ * labels/ * log * vendor * composer.json * composer.lock .. _files-and-directories: Files and directories on project level ====================================== The :file:`composer.json` contains the requirements for the TYPO3 installation and the :file:`composer.lock` contains information about the concrete installed versions of each package. For further information see :ref:`here `. .. _directory-config: :file:`config/` ~~~~~~~~~~~~~~ This directory contains installation-wide configuration. .. _directory-config-sites: :file:`config/sites/` ~~~~~~~~~~~~~~~~~~~~~ The folder :file:`config/sites/` contains subfolders for each site. The following files are processed: * :file:`config.yaml` for the :ref:`site configuration ` * :file:`settings.yaml` for the :ref:`site settings ` .. _directory-config-system: :file:`config/system/` ~~~~~~~~~~~~~~~~~~~~~~ The folder :file:`config/system/` contains the installation-wide * :file:`settings.php`: :ref:`Configuration ` written by the :guilabel:`Admin Tools > Settings` backend module * :file:`additional.php`: :ref:`Manually created file ` which can override settings from :file:`settings.php` file .. _directory-packages: :file:`packages/` ----------------- .. todo: Link sitepackage Each website running on TYPO3 should have a site package - a specialized an :ref:`extension ` that contains all the templates, styles, images and other assets required for the theme. The sitepackage is typically stored locally and then linked inte the :file:`vendor` folder via a symlink. Many projects also require custom extensions, which can also be stored in this location. .. _directory-public: :file:`public/` --------------- This folder contains all files that are publicly available. Your webserver's web root **must** point here. This folder contains the main entry script :file:`index.php` created by Composer and might contain publicly available files like a :file:`robots.txt` and files needed for the server configuration like a :file:`.htaccess`. .. _directory-public-fileadmin: :file:`public/fileadmin/` ~~~~~~~~~~~~~~~~~~~~~~~~~ This is a directory in which editors store files. Typically images, PDFs or video files appear in this directory and/or its subdirectories. .. _directory-public-typo3: :file:`public/typo3/` ~~~~~~~~~~~~~~~~~~~~~ This directory contains the two PHP files for accessing the TYPO3 backend (:file:`typo3/index.php`) and install tool (:file:`typo3/install.php`). .. _directory-var: :file:`var/` ------------ Directory for temporary files that contains private files (e.g. cache and logs files) and should not be publicly available. .. _directory-var-log: :file:`var/log/` ~~~~~~~~~~~~~~~~ This directory contains log files like the TYPO3 log, the deprecations log and logs generated by extensions. .. _directory-vendor: :file:`vendor/` --------------- In this directory all extensions (system, third-party and custom) are installed as Composer packages. For more information see :ref:`here `.