Expert Topics

Install TYPO3 on an Apache web server

4 Comments // Reading Time: 6 min.

TYPO3 is a content management system (CMS) which is mainly based on the scripting language PHP and uses MySQL as database and thanks to Extbase and Fluid it can also be used as PHP framework.

A user and developer community from all over the world takes care of this multilingual system. TYPO3 is one of the best-known content management systems in the field of free software. This system is used particularly frequently in German-speaking countries.

For the configuration of the TYPO3 system on a web server, the server must have an up-to-date PHP environment and database. Apache is a cross-platform server that can be used on different operating systems such as Windows or Ubuntu. Apache is also one of the most popular web servers and is actively updated and maintained as open source.

But now to why you actually read here.

Install TYPO3

First you have to download the TYPO3 Source. I have chosen TYPO3 CMS 6.2 LTS.
In the directory /var/www/ I have the subfolder "html". In this folder I created the folder Example123 and unpacked the source into it. Use these commands:

Now you have to create the symlinks.

Once you've done that, create a new virtual host. Instead of Example123, use a name of your choice.


Do you want to talk to web development specialists at eye level?

 


In this file you enter the following now. It is important that the further information is written there.

Virtual Host: Virtual hosting means running more than one web page on a single server. Virtual hosts can be "IP-based", meaning that each web site has a different IP, or "name-based", meaning that multiple names run under each IP address.

Of course you have to define the first two points for yourself. At "DocumentRoot" you have to choose the directory where you unpacked the sources of TYPO3 (in my case this would be /var/www/html/Example123/).

To group directives (instructions/commands) so that they only apply to that directory, you need to enter the following. The path has to be changed here again. 

Options: Durch diese Direktive wird gesteuert, inwiefern Eigenschaften und Funktionen in den Verzeichnissen verfügbar sind.

Indexes: Falls eine URL, ein Verzeichnis aufruft, das keine durch DirectoryIndex definierte Indexdatei (z.B. index.html ) beinhaltet, so wird mod_autoindex eine formatierte Auflistung des Verzeichnisses zurück senden.

FollowSymLinks: Der Server folgt symbolischen Links in diesem Verzeichnis.

MulitViews: Sobald in einem Verzeichnis z.B. auf eine “index.html”,  zugegriffen werden soll, in diesem Verzeichnis allerdings keine entsprechende Datei vorliegt, sucht der Apache selbstständig nach einer Datei im selben Format („index.”) und gibt diese zurück.

AllowOverride: Die Datei .htacces darf Anweisungen überschrieben. Diese Direktive legt fest welche sie überschrieben darf und welche nicht. In TYPO3 ist dies beispielsweise für RealUrl zwingend erforderlich.

Order und allow from: Diese Direktiven erlauben wer auf den Server zugreifen darf.

Options: This directive controls the extent to which properties and functions are available in the directories.

Indexes: If a URL calls a directory that does not contain an index file defined by DirectoryIndex (e.g. index.html ), mod_autoindex will return a formatted listing of the directory.

FollowSymLinks: The server follows symbolic links in this directory.

MulitViews: As soon as an "index.html", for example, is to be accessed in a directory, but there is no corresponding file in this directory, Apache automatically searches for a file in the same format ("index.") and returns it.

AllowOverride: The .htacces file may overwrite statements. This directive specifies which ones may and may not be overwritten. In TYPO3, for example, this is mandatory for RealUrl.

Order and allow from: These directives allow who can access the server.

Now the "ErrorLog" and the "CustomLog" have to be inserted.

ErrorLog: The collection point for errors of Apache and its modules.

CustomLog: Saves the requests: Stores the requests sent to the server.

This is what my Example123.conf. looks like now:

After that, you'll have to use those commands:

If you complete the following entry, you can also test your VirtualHost without DNS entry.

As you can see in Figure 2, you need to add the following line with your own server name.

If you call your page (in my case Example123.de), you should get figure 3:

The file "FIRST_INSTALL" can be created with the command "touch".

Troubleshoot installation

If you get the following pictures after reloading the page, I'll explain how to fix the bugs.

The upper half is not important at the moment. We'll take care of the bugs now.

You have to change to the folder with your TYPO3 installation and update the permissions there so that the web server has access to it.

Then you have to add yourself to the group www-data.

If you don't want to restart your system, I recommend the following command:

There should be this:

Of course again with your path. If you reload the page the bug is fixed.

To fix this error, you have to open this file:

Searches the file for these keywords:

The first two must be set to 10M and "memory_limit" at least to 32M, otherwise an error will occur again.

Not directly an error but a warning. The warning can be fixed by opening the php.ini above again and searching for the following information:

Now change the specification from 30 to 240 (as specified in the warning) and execute the following command:

And already the bugs are fixed and we can go on.

After troubleshooting continue with the installation

Next you log in with your MySQL data.

At point 3 you create a new database, or select an existing database.

Once you have created or selected the database, you will need to create a backend administrator.

After this point you are almost done.
Now open the backend of your page by clicking on the button below.

Now log in with your previously selected data.

Contact us!

We are a digital agency, which is specialized in the development of digital products. Our core topics are websites and portals with TYPO3, eCommerce with Shopware and Android and iOS-Apps. In addition, we deal with many other topics in the field of web development. Feel free to contact us with your concerns!

Comments

  • Enttäuschter

    Enttäuschter

    at 19.08.2016

    Diese Anleitung ist wirklich verbesserungswürdig... Als Newbie kann man durch die mangelnde Beschreibung absolut nicht nachvollziehen wieso manche Schritte vorgenommen werden müssen. Diese Anleitung ist wirklich verbesserungswürdig... Als Newbie kann man durch die mangelnde Beschreibung absolut nicht nachvollziehen wieso manche Schritte vorgenommen werden müssen.

  • Jemand

    Jemand

    at 21.11.2016

    An meinen Vorredner:

    Das stimmt schon, bloß wenn diese Schritte unklar sind die oben genannt werden, brauchen sie wahrscheinlich auch nicht in TYPO3 einsteigen sondern sich erstmal etwas mit dem [...] An meinen Vorredner:

    Das stimmt schon, bloß wenn diese Schritte unklar sind die oben genannt werden, brauchen sie wahrscheinlich auch nicht in TYPO3 einsteigen sondern sich erstmal etwas mit dem Grundbaustein Unix/Linux Systeme beschäftigen.

  • nach langem Probieren erfolgreich

    nach langem Probieren erfolgreich

    at 11.11.2017

    Die Anleitung enthält eine Abfolge von Schritten, die auch 3 Jahre später noch zielführend sind. Jedoch gibt es so viele Systeme und Varianten, dass ich vermute, dass ein Linux-Anfänger damit nicht [...] Die Anleitung enthält eine Abfolge von Schritten, die auch 3 Jahre später noch zielführend sind. Jedoch gibt es so viele Systeme und Varianten, dass ich vermute, dass ein Linux-Anfänger damit nicht zurecht kommt.
    Es ist Vorwissen oder viel Gespür für die Konfiguration von apache2 erforderlich. Bei meiner Distribution (open suse tumbleweed) hiessen viele Files anders und waren in anderen Verzeichnissen. Mein Datenbankserver lief nicht automatisch mit und ich hatte auch die Kommandos nicht präsent, mit denen ich den mysql-Dienst starten kann.
    Insgesamt hat mich die Installation einen Nachmittag gekostet und ich bin Software-Architekt mit 25 Jahren Berufserfahrung. Ich mache das als Vorbereitung auf ein typo3-Seminar in einer Woche.

    Notwendige Voraussetzungen sind eine funktionierende php-Installation, ein laufender Apache2-Server, Kenntnisse über mysql-Datenbanken, Kenntnisse zum Einrichten eines virtual hosts (das ist oben benutzt) und ein Wissen, wie man einen Benutzer in einer mysql-Datenbank anlegt, dafür einen Typo3-Root Benutzer anlegt, so dass die Sicherheit der sonstigen Datenbank-Installation nicht durch überflüssige Rechte für typo3 korrumpiert wird.
    Auch sind nach über drei Jahren andere Versionen aktuell und die Oberflächen sehen (bei mir)anders aus.

    Information darüber, welches System und welche Pakete für die obige Installationsanleitung benutzt wurden, wären gut!

    Trotzdem vielen Dank für die Informationssammlung.

  • olidev

    olidev

    at 23.03.2020

    Performance of typo3 also depends on the server specs. On shared hosting, typo3 won't perform that fast. Typo3 hosting (https://www.cloudways.com/en/typo3-hosting.php ) on cloud or vps will be [...] Performance of typo3 also depends on the server specs. On shared hosting, typo3 won't perform that fast. Typo3 hosting (https://www.cloudways.com/en/typo3-hosting.php ) on cloud or vps will be much faster because of dedicated resources in server.