[TASK] Require PHP setting register_globals set to Off
[Packages/TYPO3.CMS.git] / INSTALL.txt
1 *******************************************************************************
2 INSTALLING TYPO3
3 *******************************************************************************
4
5 This document is a part of the TYPO3 project. TYPO3 is an open source web
6 content management system released under the GNU GPL. TYPO3 is copyright
7 (c) 1999-2011 by Kasper Skaarhoj.
8
9 This document describes the system requirements for TYPO3 and the installation
10 routine.
11
12
13 ===============================================================================
14 System requirements
15 ===============================================================================
16
17 TYPO3 requires a web server with a PHP installation and a database. While TYPO3
18 can be configured to run on many web servers with different databases, this
19 document assumes that Apache and MySQL will be used. This document does not
20 cover using TYPO3 with other databases or web servers.
21
22 The following configuration is the minimum required:
23 - a web server capable of running PHP
24 - PHP 5.3.0 or newer with the following extensions:
25         - fileinfo
26         - filter
27         - GD2
28         - JSON
29         - mysql
30         - openssl
31         - pcre
32         - session
33         - SOAP
34         - SPL
35         - standard
36         - xml
37         - zlib
38         Some extensions can be optionally compiled into PHP. A list of loaded
39         extensions can be checked using the phpinfo() function.
40 - memory_limit set to at least 64M in php.ini
41 - register_globals is disabled in php.ini
42 - MySQL 5.0 or newer
43 - 200 MB of disk space
44 - AllowOverride in the Apache configuration includes "Indexes" and "FileInfo"
45   (see FAQ below)
46
47 The following configuration is recommended:
48 - Apache 2.x
49 - mod_expires and mod_rewrite enabled in the Apache configuration
50 - PHP 5.3.0 or newer with the following extensions:
51         - cURL
52         - filter
53         - GD2
54         - hash
55         - JSON
56         - mbstring
57         - mysql
58         - openssl
59         - pcre
60         - session
61         - SOAP
62         - SPL
63         - standard
64         - xml
65         - zlib
66         Some extensions can be optionally compiled into PHP. A list of loaded
67         extensions can be checked using the phpinfo() function.
68 - Safe mode is not supported, thus it must not be activated
69 - Magic Quotes is deprecated, thus it should be deactivated
70 - memory_limit set to 128M or more in php.ini
71 - MySQL 5.1 or newer
72 - GraphicsMagick or ImageMagick v6 or newer
73 - 200 MB or more of disk space
74 - AllowOverride in the Apache configuration includes "Indexes" and "FileInfo"
75   (see FAQ below)
76
77 TYPO3 uses /dev/urandom or /dev/random on Unix-like platforms for security
78 purposes. Access to these files is highly recommended and increases TYPO3
79 security. Make sure to add "/dev/random:/dev/urandom" to open_basedir
80 settings if you use it. If these paths are unavailable, TYPO3 will attempt to
81 simulate random number generation. This is less secure, causes performance
82 issues and warnings in the TYPO3 system log.
83
84 TYPO3 relies on IPv6 support, which is by default enabled since PHP 5.3.
85 Take care not to compile PHP 5.3 with the option "--disable-ipv6", because
86 this will break the IPv6 support and the according unit tests.
87
88 ===============================================================================
89 Obtaining TYPO3
90 ===============================================================================
91
92 To get TYPO3, navigate to the following location:
93         http://typo3.org/download/packages/
94
95 TYPO3 consists of two packages: source and dummy. The source package contains
96 files that are the same for every TYPO3 web site. The dummy package contains
97 files unique to each TYPO3 installation.
98
99 To install TYPO3, both packages must be downloaded.
100
101
102 ===============================================================================
103 Installation: simple (not recommended!)
104 ===============================================================================
105
106 This procedure is not recommended because it makes upgrades harder. However, it
107 can be the only option if you hosting company does not provide SSH access to
108 the web server.
109
110 To install TYPO3, unpack the source package locally. Unpacking will produce a
111 directory with a name like typo3_src-x.y.z, where x, y and z correspond to the
112 TYPO3 version. For example, the TYPO3 x.y.z source package will create a
113 directory named typo3_src-x.y.z.
114
115 Next unpack the dummy package. This will create a directory with the name
116 dummy-x.y.z. Now create a new directory and copy all files and folders from
117 within typo3_src-x.y.z and dummy-x.y.z into this new directory.
118
119 Use a FTP or SFTP program or any other available way to upload all files to
120 the web server.
121
122 Change permissions of the directories and files. The following directories and
123 files should be read-only for the web server:
124         t3lib/
125         typo3/
126         index.php
127
128 All other directories should be writable for the web server. If in doubt,
129 contact your hosting company and ask them to assist in adjusting permissions.
130
131
132 ===============================================================================
133 Installation: recommended
134 ===============================================================================
135
136 To install TYPO3, unpack the source package outside of the web site root
137 directory on your server. The location must be accessible to the web server.
138 Unpacking will produce a directory with a name like typo3_src-x.y.z, where x,
139 y and z correspond to the TYPO3 version. For example, the TYPO3 4.6.0 source
140 package will create a directory named typo3_src-4.6.0.
141
142 Unpack the dummy package in the temporary location on the server. This will
143 create a dummy-x.y.z directory. Move all files and directories from the
144 dummy-x.y.z directory to the web site root directory.
145
146 Linux, Unix and Mac OS X users should use the tar.gz packages and unpack them
147 using:
148         tar xzf source-x.y.z
149         tar xzf dummy-x.y.z
150
151 Windows users can use Windows built-in unpacker on unpack ZIP versions of
152 packages.
153
154 On Linux, Unix or Mac OS X systems create a symbolic link named typo3_src
155 pointing to the source package:
156         ln -s /var/www/typo3_src-4.6.0 /var/www/example.com/typo3_src
157
158 On Windows Vista or Windows 7 create a symbolic link named typo3_src
159 pointing to the source package:
160         mklink /D C:\<dir>\typo3_src-4.6.0 C:\<dir>\example.com\typo3_src
161
162 Users of Windows XP/2000 or newer can use the "junction" program by
163 Marc Russinovich to create links. The program can be obtained at:
164         http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx
165
166 Next create links for the typo3/ and t3lib/ directories:
167 cd /var/www/example.com
168         ln -s typo3_src/t3lib
169         ln -s typo3_src/typo3
170
171 Linux, Unix and Mac OS X users also create a symbolic link to index.php
172         ln -s typo3_src/index.php
173
174 Windows users must copy index.php from the source directory to the web site
175 root directory because Windows does not support links for files.
176
177 Change permissions and ownership of the directories. This usually requires the
178 "sudo" command. Assuming that the web server user is in the group named
179 "apache", execute the following commands in the web site root directory:
180         sudo chgrp -R apache fileadmin typo3temp typo3conf uploads
181         sudo chmod -R g+rwX,o-w fileadmin typo3temp typo3conf uploads
182
183 If "sudo" is not available, ask your hosting company to change the permissions.
184
185
186 ===============================================================================
187 Setting up TYPO3
188 ===============================================================================
189
190 To set up TYPO3, navigate to your web site. The TYPO3 installer will run in the
191 1-2-3 mode to easily guide you through the installation.
192
193
194 ===============================================================================
195 Troubleshooting
196 ===============================================================================
197
198 For troubleshooting read the FAQ below. If your problem is not listed, feel
199 free to ask questions in the TYPO3 mailing lists:
200         http://typo3.org/community/mailing-lists/
201
202
203 ===============================================================================
204 FAQ
205 ===============================================================================
206
207 Q:      Why do I get "500 Server error" when I navigate to my TYPO3 web site
208         immediately after installation?
209 A:      Make sure that AllowOverride allows "Indexes" and "FileInfo" in the Apache
210         configuration. If you cannot ensure this, rename .htaccess files to
211         _.htaccess. TYPO3 will run but considerably slower.
212         Here is the list of the files to rename:
213                 typo3/contrib/.htaccess
214                 typo3/gfx/.htaccess
215                 typo3/mod/user/ws/.htaccess
216                 typo3/sysext/.htaccess
217                 typo3/sysext/t3skin/stylesheets/.htaccess
218         If the error does not disappear, web server error logs should help. For
219         Apache, the error log is usually located in /var/log/apache2 or
220         /var/log/httpd. Check with your hosting provider if you are in doubt where
221         the logs are located.
222
223 Q:      Backend or Installer looks strange, no images just black and white?
224 A:      Maybe you missed some configuration in your .htaccess file.
225         Have a look at typo3_src/misc/advanced.htaccess to find the options
226         you might need.
227
228 Q:      I went through the setup process and created an admin user. Why can't I log
229         in now?
230 A:      If you use MySQL 5.x or newer, try setting it to "compatible" mode. Open the
231         TYPO3 Install tool under http://example.com/typo3/install/ (where example.com
232         is the web site domain), navigate to "All configuration". find "setDBinit",
233         and add this line to the top of the input field:
234                 SET SESSION sql_mode='MYSQL40'
235
236 Q:      What do I have to do regarding security?
237 A:      You have to make sure that you keep your TYPO3-core and the extensions
238         up to date.
239         * Subscribe to the announcement mailing list. This will inform you about new
240           releases of the TYPO3 core and security bulletins of core and community
241           extensions.
242           http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-announce
243         * Use the scheduler task "Update Extension List (em)" to update the list of
244           available extensions regularly. You should check regularly, if new versions
245           of these extensions are available and install them respectively.
246         * For further reading regarding securing TYPO3, please read the TYPO3 security
247           cookbook and other resources. Please visit
248           http://typo3.org/teams/security/resources/