Out of the box Typo3 is a daunting experience - the helpfiles & tutorials are largely written by developers for developers. The Typo3 book follows the same path. We made several false starts with Typo3, abandoned it and switched to another CMS and reluctantly returned. Our content providers, who regularly use complex applications tolerate it. With these glowing words of introduction this how-to is intended to help other get something useful up & running as quickly as possible.
Howto follows a cook-book format.
While it will create a functional senvironment, this should only be your starting point. It is unwise to operate infrastructure key to your business if you do not really understand how it works or the implications of the settings that have been made.
Typo3 uses a model of core functionality and extensions. The basic install uses a number of extensions simply for Typo3 to run.
We use a number of standard extenions in all our Typo3-based websites.
Working assumption
You have a fully functioning server with Apache and PHP installed. Obviously, you will be using Webmin to manage the CentOS based server.
Install Typo3
- Planning
'Think About Website' contains a discussion of what to pre-plan, as well as things to think about. Topics will include: - Creating goals for your site
- Organizing the site structure
- Creating your design look
- Designing the navigation scheme
- Obtain Typo3 - How-to uses Typo3 4.1
Typo3 is available from www.typo3.org
You will need to combine both, the source AND the dummy package by extracting them to the same folder.
Note: This is the first of many head-shakes you will have with Typo3 - given both are required, why are they in separate files?
- Upload the source and dummy files to your web-server
For ease of management we place all our Typo3 virtual servers in their own directory under /var/www/html/typo3 - Change the symbolic links in the dummy files
This is not strictly necessary. As we have upgraded from 4 to 4.06 to 4.1 to 4.1.1 this change allows us to change our the underlying Typo3 source files for all the Typo3 sites. - Select Webmin Other Tab
- Select File Manager
- Navigate to the directory containing the Typo3 Dummy & Source files
/var/www/html/typo3
- Select the New Symbolic link button
Enter the file name & the target
Enter: - /var/www/html/typo3/typo3_src
- /var/www/html/typo3/typo3_src-4.1.1
Note: Change this path to match the name of the Typo3 version you have. At time of writing the current version was 4.1.1
- Navigate to the Typo3 Dummy Files
- Select the Symbolic link Typo3_src
- Select the 'Info' button
- Edit the target
It will be ../typo3_src-4.1.1
Enter:
../typo3_src
Note: Using this symbolic link you do not need to maintain the Typo3 source in the same path as your Typo3 virtual servers.
- Duplicate the dummy directory for the website you are creating
/var/www/html/typo3/qillaq
Note: This is not strictly necessary. You can have multiple websites within one Typo3 environment. To ensure that we are not caught wanting to make a global PHP, extension, database, etc... change we create a new directory for each website. There is no right choice. - Enable installation by creating a file
/var/www/html/typo3/qillaq/typo3conf/ENABLE_INSTALL_TOOL
Note: You may want to create this file in the Dummy folder, then every web-site created will be enabled out of the box.
Note: Every version of Typo3 has its own undocumented install lock. Do not expect to find the 4.1 lock in the Install.txt or Readme.txt files
While I appreciate the Typo3 developers working to make my site more secure this is at the same level as the Debian maintainer of Webmin disabling Webmin - why would I install download & install Typo3 if I didn't want to create a Typo3 site?
- Configure Apache
See Configure Apache TBD
[VirtualHost *:80]
DocumentRoot "/var/www/html/typo3/qillaq"
ServerName www.qillaq.com
[Directory "/var/www/html/typo3/qillaq"]
allow from all
Options -Indexes
[/Directory]
ServerAlias qillaq.com
[/VirtualHost]
Note: [brackets substituted for < brackets
Restart Apache - Create a MySQL database
Note: We use a functional naming scheme for MySQL databases - application_specific instance. In this case 'typo3_qillaq'. While some will worry about security, we are far more worried about administrator mistakes and the operational cost of confusion, extra effort and mistakes.
See Manage MySQL with PHPmyAdmin
GRANT USAGE ON * . * TO 'typo3_db@'localhost' IDENTIFIED BY '*' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
CREATE DATABASE `typo3_db` ;
GRANT ALL PRIVILEGES ON `typo3_db` . * TO 'typo3_db'@ 'localhost';
- Open your site: HTTP://www.qillaq.com
Note: By default the Typo3 v4.1 install tool is locked. If you don't see the Typo3 install screen follow Step 5 above
Congratulations you now have Typo3 running.

- Initial connection
Typo3, like virtually all Content Management Systems, uses a database to manage your website. The first thing you need to do is connect this site with the database that will be managing the site.
Above you created a database, database user and strong password. Enter the database user name here with the strong password.

- Database connection
The next step is to connect to the database
Do not follow the "recommended" path of creating a database here.
The next step is to perform basic configuration of your Typo3 infrastructure with the install script. Read & heed the warnings of the install script, it is quite powerful and can seriously expose your site.
- Select the reccomended option "continue to configure Typo3"
- On the next screen set a strong password for the configuration script
Note: if you forget this password, you can reset it by editing the /typo3conf/localconf.php and inserting the appropriate hash. - After setting this password you need to log-on to the configuration tool with the password you just set.
Here you have direct access to most of the Typo3 basic configuration options, complete with a short description and the ability to make choices you do not understand. Bluntly most of them are optimal at the default, or you won't use the functionality. When the choice matters you will have enough experience to understand the choice you are making.
There are a few choices that should be made.
- Select 1. Basic Configuration
- Scroll down until you find "Site Name"
Enter the base name of your site
"Qillaq - Black & White Photography" - Encryption Key
We always reset the encryption key.We are not clear what this does, but it makes us feel better. - [GFX][TTFdpi]
For every system we have worked on the correct value is 96
You can test it scrolling up and looking at the FreeType quick test
Take the time to look through "5: All Configuration" - it is worth having a sense of what your configuration options are. Despite the warning above, some of these options might be significant.
The Typo3 back-end uses a simple modular concept for navigation of the back-end. Functionality is divided into discrete modules - Page, User Admin, etc... Within a module you will have access to other functions. When in doubt right-click, left click & start again at the module. There are a few ways of seeing material that look the same, even though you are in a different module.
Note: In the bottom left are the Sanity restorers - Clear cache in typo3conf/ and Clear FE cache. When in doubt of your sanity follow a simple three step process:
- Clear both cache, if anomaly persists step 2
- Clear both cache & browser cache, if anomaly persists step 3
- Clear both cache, browser cache & log-out of Back End, if anomaly persists take a break and start at Step 1
Note: Yes, Hornford Associates infrastructure is multiplatform - Macintosh & Windows at the desktop, Windows 2003, CentOS & Red Hat on the servers.
Before going any further we are going to fix a major security hole - default admin passwords & using the 'admin account'
Select User Admin
We need to perform a couple of basic configuration steps in the back-end before going further.
Loginto the back-end with the standard administrative user name "admin" and the password "password"
Note: If this changes with a future version of Typo3 you can be confident we will be busy, miss the change and misdirect thousands of people. Read the messges that pop-up.
Immediately after connecting to the back-end you will see a bright yellow warning. There should be two things you need to fix:
- Change the admin password
- The ENABLE_INSTALL_TOOL file you created above is still there. Until you get rid of it Typo3 will warn you.
Note: Given this warning, and the ability of the back-end to generate other warnings, such as the exsitence of the install script, the lack of a die() function, and the ability of the back-end to automate fixing these security risks the need to jump through the hoop of creating the file is a poorly thought-out step. - Sometimes there is a third
Database update
This is common with upgrades - just follow the directions

Installing and configuring extensions enables functionality that is not available within basic out-of-the-box Typo3
Without a template your Typo3 site will be very ugly. This section will cover creation of a template from a HTML master page.
Extensions are used in this template.
There are a number of functions we use in Typo3 that maintained our interest in Typo3 despite the interface, limited introductory material, a large number of over-all annoyances and a vertical learning curve.