Basic requirements and recommendations
Before you get excited, make sure you have a working web development environment on either Windows or Linux, with at least Apache 2.x, MySQL 5.5.x and PHP 5.4.x up and running. You can either install Apache, MySQL and PHP separately or install an all-in-one WAMP or LAMP installation package.
I also recommend reading the installation guide on typo3.org before proceding to the download page of the packages on that same website. Below you can find a brief overview of the recommended packages for both Linux and Windows based webservers.
When choosing a TYPO3 package, I do not recommend to go with the latest major/minor versions of TYPO3. After build number 6 (for example x.x.6) it's pretty safe to say that most major bugs and security issues have been solved though.
Installing TYPO3 on Linux
TYPO3 4.5 and TYPO3 6.1
Download the source and the dummy separately. Extract the source to a directory of choice. Extract the dummy in a directory of choice, but not the same directory as the source. In the dummy directory, remove the typo3_src symbolic link and replace it with a symbolic link which points to the directory which contains the TYPO3 source. This way, multiple websites can use the same TYPO3 source.
TYPO3 6.2 and TYPO3 7.x
For TYPO3 6.2 and TYPO3 7.x, only the source is available (consisting of the index.php and typo3 folder). If you want to use a dedicated source for your website, just copy the contents of the folder in the source tar.gz/zip file into your website's document root.
If you want to use a centralized source which will be used by several websites, you need to store the source in a central place and create the following symlinks in the document root of your website:
- typo3_src -> folder where the source is in, for example /var/www/libraries/typo3/typo3_src-6.2.x/
- typo3 -> typo3_src/typo3
- index.php -> typo3_src/index.php
Please note that TYPO3 7 needs PHP 5.5 or higher.
Installing TYPO3 on Windows
When developing in Windows, you'll use the zipped package, as you'll not be able to use symbolic links. Extract the stuff into a folder of choice. A folder will be created, like "typo3_src-x.x.x" which will contain all the stuff you need. This also needs to be the document root of your website.
Issues with Apache on Windows
If the extension manager won't work (seems to keep loading forever), you might have to add ThreadStackSize 8388608 to your Apache configuration file httpd.conf.
Issues with PHP on Windows
When importing the default TYPO3 tables into the new database and the script ends prematurely, you might have to extend your script execution time (max_execution_time) to 240 in your PHP configuration file php.ini.
MySQL strict mode
Note for windows and Linux users: when you encounter errors while adding new content in TYPO3, like default values for certain fields are missing or that an incorrect integer value for column sys_language_uid is being inserted, you might want to turn off mysql strict mode.
You can extend the setDbInit field in the install tool, like mentioned here. Please note that the "setDBinit" variable seems to be removed from the default configuration file of TYPO3 6.1.7 and therefore does not show up in the install tool. Also, be advised that the setDBinit value is overridden by the TYPO3 6.0, 6.1 and 6.2 core. It is set to "SET NAMES utf8" regardless your changes in the setDBinit variable. We have found no other way than to edit the responsible file, which seems to be typo3/sysext/core/Classes/Core/Bootstrap.php. Search for "setDBinit".
Another way is to set the sql-mode right after a connection with the database is made by TYPO3. This happens in the typo3/init.php file. See this link for more info. This probably applies only to TYPO3 4.x.
You can also include sql-mode="" in the my.ini config file of MySQL, to get rid of that strict mode errors. As this will disable strict mode for the entire MySQL server, this is not recommended.
The install tool
We'll assume you'll be able to open your website locally with, for example, http://typo3buddy/. Need help with that? Search with your favorite search site on "setup virtual host windows/linux".
If your site works, the install tool will open automatically. If it does not open, put a file named "ENABLE_INSTALL_TOOL" in the typo3conf folder of your TYPO3 installation and try again. Please also make sure that the typo3conf and typo3temp folders are writeable by Apache. The install tool then will be used to set up and create the database and create an admin user.
After setting up the database, you'll have to edit the basic configuration of your website; make sure all folders that TYPO3 needs to write to are writeable, change the install tool password (joh316 by default), change the website name and save setttings. For now, that's all. You're ready to enter the TYPO3 backend (with user name "admin", password "password"). When you've installed TYPO3 7.x, use the username and password you've entered during the installation process.
Default configuration files
If you use a centralized TYPO3 source, you can edit the default configuration file, which will apply to all sites that use that TYPO3 source. This way you don't have to edit the configuration in the install tool each time you set up a new website. The location of the default configuration file:
- TYPO3 4.5-6.1: t3lib/config_default.php
- TYPO3 6.2-7.x: typo3/sysext/core/Configuration/DefaultConfiguration.php