TYPO3 is available in various “packages” and within each package normally a .zip or .tgz distribution (targeted at Windows- and Unix-server users respectively).
Here are some examples:
typo3_srcThis is the source files of the TYPO3 CMS which is mandatory in all TYPO3 systems. This is how the files might be named:
typo3_src-4.2.3.tgz (Contains “symlinks”, so download only for Unix servers where you are able to create symlinks!)
typo3_src-3.2.3.zip(This is the the safe-bet to download if the tgz-file is not your cup of tea. Works on both Unix and Windows servers, but contains a lot of redundant files.)
testsiteThe testsite is a “complete site” with a lot of default content for testing and learning. It's advisable to download the testsite to test TYPO3. This is how the filenames might be:
testsite-3.8.0.zip(This is both the source and site-specific files and is ready to upload, unzip and run out-of-the-box! Please try this if you are a newbee! Can be used on both Unix and Windows servers)
testsite-3.8.0.tgz(This does not contain the source files but only symlinks to the source following the generally recommended practice of symlinks. This is for experienced TYPO3 users only
This is a out-of-the-box package for ftp-upload. It is integrated with a testsite that will help you to get started with TYPO3. It contains these files and folders:
Figure 6 Contents of testsite package
media/, t3lib/, tslib/, typo3/ contains the TYPO3 source-code, files, images and scripts distributed by TYPO3.
index.php is the main script for the website frontend (same as tslib/index_ts.php).
showpic.php is a document used to display images on request (same as tslib/showpic.php).
clear.gif is a 1x1 clear-pixel gif-file. Used many places.
All these files are a part of TYPO3s core, you should never change them and you can write protect them if you like! They are the ones you must upgrade when you install a new version of TYPO3.
Don't change any of these!
fileadmin/ contains files of your choice, local to the website. You can put templates, user uploads, external scripts, external html and images here. Also used to store uploaded files by default.
typo3temp/ should be empty from the beginning. But gradually temporary files will appear here. The directory must be writeable.
uploads/ contains folders used to store documents attached to database records - hence they should be writeable!
typo3conf/ contains configuration for the local site, eg. localconf.php, extTables.php-files, user-defined modules, user-defined classes etc.
typo3conf/localconf.php contains local configuration for your site.
The tgz distribution is the 'source code only' and is not accompanied with any testsite. It's also intended for Linux/UNIX filesystems because the .tgz-file contains relative symlinks.
Figure 7 folders and files with arrow represent the symlinks
The main point is - compared to the .zip distribution - that the source directory is stored once in the file-structure (possibly writeprotected) on the UNIX server and then every site using this TYPO3 version symlinks the proper folders to the source. Thus you save space because you avoid redundant files and get easy maintenance if you do it right.
t3lib/, tslib/, tslib/media, and typo3/ are the main directories which should be symlinked to the actual website running TYPO3.
misc/ contains information from previous TYPO3 releases.
files in the root: Documents related to the current release, eg. changelog.
As I wrote the source distribution provides a minimum of space usage and maintenance if used intelligently. This is my suggestion:
Extract the .tgz file somewhere on your server
From the directory holding the root-directory of you site, create a symlink to the source folder. Call it 'typo3_src':
Figure 8 Symlinks
Afterwards create links to the index.php file and the t3lib and typo3 folder as shown in figure 8. Note that those just link to the first created typo3_src link. (In most current available packages these symlinks are included by default so you just have to create / change the typo3_src link to your source directory)
The advantages of this approach is apparently that when you wish to upgrade to a new TYPO3 version, you simply change one symlink and every distributed TYPO3 file is upgraded instantly - on as many sites as you like!