the source

I've installed and tested multiple instances of typo3, wordpress, drupal, laravel, cakephp on different operationg systems and I have to point out that running the latest typo3 or betas of others raised my stress level. Especially with typo3 and laravel it turned out using the LTS versions is the only solution. My personal experience showed me - template and plugin designers are much slower than the core developer team and so the stability suffers a lot on trying to be on bleeding etch.

I assume that apache2 is configured the dependencies of typo3 are installed and a folder for my typo3 is created. Last but not least also a database is needed.  Typo3 does allow core updates via backend nowaday, but honestly I don't do this - I prefer to install and upgrade new sources by myself!

the source:

  1. go to systems root folder
  2. download the latest LTS source tgz
  3. unpack and move the source to /opt
  4. link the source folder to typo3_src 

To keep the system clean I move manually installed software or source to /opt folder. Old UNIX admins will say - no - source needs to be kept in /usr/src or /usr/local/src - but hey if I allow a web-user to modify his typo3 source I won't give him access to /usr. The typo3_src link is obligative - if I have multiple instances of typo3 9 running I can do a minor update by just downloading and relinking the source folder, and don't have to do it for every instance by hand!

get LTS version 9
cd /root
curl -L -o typo3_src.tgz
tar xvzf typo3_src.tgz
mv typo3_src-9.* /opt/
cd /opt && ls
(out) typo3_src-9.5.10
ln -sf typo3_src-9.5.10 typo3_src
cd /var/www/z3r0
ln -sf /opt/typo3_src typo3_src
ln -sf typo3_src/index.php index.php
ln -sf typo3_src/typo3 typo3

the kickin

The installation process of typo3 is very easy and self explaining nowadays. But the website needs a folder where www-data has write permission and links to the typo3_src. We've already created the /var/www/z3r0 folder and linked base folders and files to the typo3_src in opt.

But we might have no database on our system. The following code is a shortcut to fast install database server, create a database and a database user. But first we need to define some variables ( for this session - don't forget to clear history !)

  1. dbname = <database name>
  2. dbuser = <database user>
  3. dbpwd = <choose a good password>
apt -y install php-mysql mariadb-server
read -p "DB username: " dbname
read -p "DB user password: " dbpwd
read -p "DB name: " dbuser
mysql -u root -e "create database $dbname"
mysql -u root -e "alter database $dbname character set utf8 collate utf8_general_ci"
mysql -u root -e "GRANT ALL ON $dbname.* TO '$dbuser'@'localhost' IDENTIFIED BY '$dbpwd' WITH GRANT OPTION"
mysql -u root -e "FLUSH PRIVILEGES"
unset dbname dbuser dbpwd
history -c

the finishline

All done! Follow the instruction on your personal typo3 CMS. If all is installed and configured right the final installation process is accessible under:


Finish the installation process and go to backend. Job is done.