[BUGFIX] Make recycler PHP 7.2 compatible
[Packages/TYPO3.CMS.git] / INSTALL.md
index 59d9ffe..00f6edb 100644 (file)
@@ -2,7 +2,7 @@ INSTALLING TYPO3
 ================
 
 TYPO3 is an open source PHP based web content management system released
-under the GNU GPL. TYPO3 is copyright (c) 1999-2015 by Kasper Skaarhoj.
+under the GNU GPL. TYPO3 is copyright (c) 1999-2016 by Kasper Skaarhoj.
 
 This document describes:
 
@@ -13,36 +13,36 @@ This document describes:
 Client browser support
 ----------------------
 
-The TYPO3 backend is accessed through a web browser. TYPO3 CMS 7
+The TYPO3 backend is accessed through a web browser. TYPO3 v8
 supports the following web browsers:
 
-* Internet Explorer 9 and later
-* Google Chrome (Windows, MacOS, Linux)
-* Firefox (Windows, MacOS, Linux)
-* Safari on MacOS
+* Internet Explorer 11 and later
+* Microsoft Edge
+* Google Chrome (Windows, MacOS X, Linux)
+* Firefox (Windows, MacOS X, Linux)
+* Safari on MacOS X
 * and other compatible modern browsers
 
 Server system requirements
 --------------------------
 
 TYPO3 requires a web server with a PHP environment and a database. The minimum
-system requirements for running TYPO3 CMS 7 are:
+system requirements for running TYPO3 v8 are:
 
 * Webserver capable of running PHP applications (Apache, Nginx, IIS or other)
-* PHP >5.5 up to 5.6
-* MySQL 5.5 up to 5.6 or compatible (no "strict mode", see below)
+* PHP 7.2
+* MySQL 5.5 up to 5.7 or compatible
 * more than 200 MB of disk space
 
+Note: If you use any other webserver than Apache, make sure you add the necessary configuration normally
+provided in the various `.htaccess` files inside the TYPO3 core. This configuration is security relevant,
+therefore only experienced server administrators should create such configuration.
+
 ### MySQL environment
 
 TYPO3 works with MySQL in the above mentioned versions. It will also work on
-compatible "drop-in" replacements like MariaDB or Percona.
-
-Note that MySQL "strict mode" is currently not supported by TYPO3. If your
-MySQL server is configured with either STRICT_TRANS_TABLES or
-STRICT_ALL_TABLES (especially true with MySQL 5.6, as this is a new default),
-you need to configure setDBinit in the Install Tool. See question 2 in the
-"Installation FAQ" below for more information.
+compatible "drop-in" replacements like MariaDB or Percona. The InnoDB engine
+is required to be enabled.
 
 ### MySQL required privileges
 
@@ -59,10 +59,7 @@ It is recommended to also grant the following privileges:
 ### PHP environment
 
 * memory_limit set to at least 64M
-* max_execution_time set to at least 30s (240s recommended)
-* register_globals disabled
-* disabled safe_mode (not supported)
-* disabled magic_quotes (not supported)
+* max_execution_time set to at least 30 (240 seconds recommended)
 * AllowOverride in the Apache configuration includes "Indexes" and "FileInfo"
   (see FAQ below)
 
@@ -72,13 +69,11 @@ Your PHP needs to support the following extensions. Install will
 check if these are available.
 
 * These are usually part of the standard PHP package on most distributions:
-  * fileinfo
   * filter
   * hash
   * openssl
-  * pcre >= 8.30
+  * pcre >= 8.38
   * session
-  * soap
   * SPL
   * standard
   * xml
@@ -87,6 +82,7 @@ check if these are available.
 
 * These might have to be installed separately:
   * gd
+  * intl
   * json
   * mysqli
 
@@ -106,18 +102,19 @@ functionality:
 * GraphicsMagick or ImageMagick v6 or newer installed on the server
 
 * PHP
-  * version 5.5 or later
+  * version 7.2 or later
   * memory_limit set to at least 128M
-  * max_execution_time set to at least 240s
+  * max_execution_time set to at least 240
+  * max_input_vars set to at least 1500
 
 * Additional PHP extensions:
-  * PHP opcode cache, i.e.: apc, xcache, eaccelerator, Zend Optimizer,
-    Zend OPcache, wincache (in case of an IIS installation)
-  * apc caching (with at least 100 MB of memory available)
+  * PHP opcode cache, i.e.: apc, xcache, eaccelerator, Zend Optimizer, wincache (in case of an IIS installation)
+  * apcu caching (with at least 100 MB of memory available)
   * curl
   * mbstring
   * FreeType 2 (usually included within the PHP distribution)
   * bcmath or gmp (needed if you'd like to use the openid system extension)
+  * fileinfo (mandatory for proper file type detection)
 
 * PHP access to /dev/urandom or /dev/random on Unix-like platforms for
   increased security. Make sure to add "/dev/random:/dev/urandom" to
@@ -125,21 +122,20 @@ functionality:
   will attempt to simulate random number generation. This is less secure,
   reduces performance and throws out warnings in the TYPO3 system log.
 
-* TYPO3 works with PHP's IPv6 support, which is enabled by default since
-  PHP 5.3. If you compile PHP on your own, be aware not to use option
-  "--disable-ipv6", because this will break the IPv6 support and the according
-  unit tests.
+* TYPO3 works with PHP's IPv6 support, which is enabled by default.
+  If you compile PHP on your own, be aware not to use option "--disable-ipv6",
+  because this will break the IPv6 support and the according unit tests.
 
 Installation
 ------------
 
-### Important note for upgrades from TYPO3 CMS versions **below 6.2 LTS**
+### Important note for upgrades from TYPO3 CMS versions **below 7 LTS**
 
-It is not possible to upgrade any version below 6.2 LTS to 7 directly,
-since some upgrade wizards are not available anymore on 7.
+It is not possible to upgrade any version below 7 LTS to 8 directly,
+since some upgrade wizards are not available anymore on 8.
 
-It is highly recommended to upgrade to 6.2 LTS first and continue with
-a second upgrade to 7.
+It is highly recommended to upgrade to 7 LTS first and continue with
+a second upgrade to 8.
 
 ### If SSH and symlinks are possible
 
@@ -147,19 +143,27 @@ If you have SSH access to your webserver and are able to create symlinks,
 this is the recommended way of setting up TYPO3 so that it can easily
 be upgraded later through the Install Tool:
 
-* Uncompress the `typo3_src-7.0.x.tar.gz` file one level above the Document
+* Uncompress the `typo3_src-8.x.x.tar.gz` file one level above the Document
   Root of your Web server:
 ```
 /var/www/site/htdocs/ $ cd ..
-/var/www/site/ $ tar xzf typo3_src-7.0.x.tar.gz
+/var/www/site/ $ tar xzf typo3_src-8.x.x.tar.gz
+```
+
+* Important: If you use GIT to fetch the sources, don't forget to run the following commands,
+otherwise your installation won't work!
+```
+cd typo3_src
+composer install --no-dev
+cd ..
 ```
 
 * Create the symlinks in your Document Root:
 ```
   cd htdocs
-  ln -s ../typo3_src-7.0.x typo3_src
-  ln -s typo3_src/index.php index.php
-  ln -s typo3_src/typo3 typo3
+  ln -s ../typo3_src-8.x.x typo3_src
+  ln -s typo3_src/index.php
+  ln -s typo3_src/typo3
 ```
 
 * In case you use Apache, copy the .htaccess to your Document Root:
@@ -167,14 +171,20 @@ be upgraded later through the Install Tool:
   cp typo3_src/_.htaccess .htaccess
 ```
 
+* In case you use IIS, install the URL Rewrite 2.x module and copy the web.config to your Document Root:
+```
+  cp typo3_src/_web.config web.config
+```
+
 You end up with the follow structure of files:
 
 ```
-  typo3_src-7.0.x/
-  htdocs/typo3_src -> ../typo3_src-7.0.x/
+  typo3_src-8.x.x/
+  htdocs/typo3_src -> ../typo3_src-8.x.x/
   htdocs/typo3 -> typo3_src/typo3/
   htdocs/index.php -> typo3_src/index.php
-  htdocs/.htaccess
+  htdocs/.htaccess (only on Apache)
+  htdocs/web.config (only on IIS)
 ```
 
 This allows you to upgrade TYPO3 later by simply replacing the symlink
@@ -183,16 +193,14 @@ be found in the Install Tool.
 
 ### Windows specifics
 
-On Windows Vista and Windows 7, you can create symbolic links using
-the `mklink` tool:
+#### Symlinks
+
+On Windows Vista and newer you can create symbolic links using the `mklink` tool:
 ```
-  mklink /D C:\<dir>\example.com\typo3_src C:\<dir>\typo3_src-7.0.x
+  mklink /D C:\<dir>\example.com\typo3_src C:\<dir>\typo3_src-8.x.x
+  mklink C:\<dir>\example.com\index.php C:\<dir>\typo3_src-8.x.x\index.php
 ```
 
-Users of Windows XP/2000 or newer can use the `junction` program by
-Marc Russinovich to create links. It can be downloaded at
-http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx
-
 Windows users might need to copy `index.php` from the source directory to the
 web site root directory in case the Windows version does not support links
 for files.
@@ -200,30 +208,47 @@ for files.
 TYPO3 Core upgrades through the Install Tool is not supported under
 Windows.
 
+#### Path length
+
+Up until PHP 7.0 Windows has had problems with lengths of a path.
+The TYPO3 core enforces a maximum path length of 160 characters in itself, leaving
+100 characters for your installation directory. Please note that these 100 characters
+are counted including the drive identifier (C:\ for example).
+
+In case you use composer to install your TYPO3 instance, be aware that composer will
+try to unpack TYPO3 into composer's cache dir first and then move the files to your
+target directory.
+Because composer's cache dir defaults to C:\Users\<user>\AppData\Local\Composer it is
+possible your full path becomes more than the 100 characters you're allowed to use.
+
+You can use the `cache-dir` directive to set a shorter directory specifically for
+your TYPO3 instance.
+
+See: https://getcomposer.org/doc/06-config.md#cache-dir
+
 ### No SSH and symlinks possible (not recommended)
 
 In case you only have FTP or SFTP access to your hosting environment, you
 can still install TYPO3, but you won't easily be able to upgrade your
-installation once a new patchlevel release is out.
+installation once a new patch-level release is out.
 
 Please note that this is not a recommended setup!
 
-* Uncompress `typo3_src-7.0.x.tar.gz` locally
+* Uncompress `typo3_src-8.x.x.zip` locally
 * Upload all files and subdirectories directly in your Document Root
   (where files that are served by your webserver are located).
-* In case your provider uses Apache:
-  * rename `_.htaccess` to `.htaccess`
+* In case your provider uses Apache, rename the file `_.htaccess` to `.htaccess`.
+* In case your provider uses IIS, rename the file `_web.config` to `web.config`.
 
 You end up with this files in your Document Root:
 
 ```
- .htaccess
- ChangeLog
- GPL.txt
+ .htaccess (only on Apache)
+ web.config (only on IIS)
+ CONTRIBUTING.md
  index.php
  INSTALL.md
  LICENSE.txt
- NEWS.txt
  README.md
  typo3/
 ```
@@ -240,10 +265,7 @@ and gives you some suggestions on what to change in case there are any
 discrepancies.
 
 The Install Tool will create the required directory structure for you
-(typo3conf, uploads, fileadmin, typo3temp).
-
-Former versions of TYPO3 required the download of a "Dummy Package"
-(or "Blank Package"). This is no longer required since version 6.2!
+(typo3conf, fileadmin, typo3temp).
 
 TYPO3 Security
 --------------
@@ -264,7 +286,7 @@ TYPO3 core and the extensions up to date.
   about security-related topics of TYPO3 CMS and the resources compiled by
   the Security Team.
   https://docs.typo3.org/typo3cms/SecurityGuide/
-  https://typo3.org/teams-committees/security/resources/
+  https://typo3.org/teams/security/resources/
 
 Installation FAQ
 ----------------