TYPO3 is a free, open-source enterprise Content Management System (CMS) based on PHP. It's flexible, reliable, and scalable with a wide variety of possible customizations. In addition, it supports several different operating systems with easy installation. Some important features are:
Supports management of multiple sites.
Smart content management enables creating and delivering content across all digital channels.
Digital marketing to integrate digital marketing tools.
Provides multilingual installations for global use.
This article describes how to install TYPO3 CMS on Ubuntu 20.04 server.
Deploy a fully updated Vultr Ubuntu 20.04 Server.
Create a non-root user with sudo access.
PHP >= 7.4.1 <= 8.0.99.
MySQL 5.7+ / MariaDB / Postgres / SQLite support.
SSH to your server as a non-root user with sudo access.
Update the system package list to update all packages to the latest available versions.
$ sudo apt update
Install PHP 7.4 and more modules.
$ sudo apt install apache2 mysql-server php7.4 libapache2-mod-php7.4 php7.4-json php7.4-common php7.4-gmp php7.4-curl php7.4-mysql php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-cli php7.4-xml php7.4-zip php7.4-imap wget unzip -y
List available time zones and choose your preference.
$ sudo timedatectl list-timezones
Edit the PHP configuration file.
$ sudo nano /etc/php/7.4/apache2/php.ini
Change the following values, and replace Africa/Nairobi
with your timezone save and close the file. To search for a specific line, use CTRL+W, enter search phrase then press ENTER.
max_execution_time = 240
memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 100M
max_input_vars = 1500
date.timezone = Africa/Nairobi
Restart Apache2 service for all changes made to take effect.
$ sudo systemctl restart apache2
Log in to MySQL shell. At the password prompt, just press ENTER to continue.
$ sudo mysql -u root -p
Create a database called typo3
.
CREATE DATABASE typo3;
Create a database user called typo3user
with a password StrongPassword
.
CREATE USER 'typo3user'@'localhost' IDENTIFIED BY 'StrongPassword';
Grant the user full access to the database.
GRANT ALL ON typo3.* TO 'typo3user'@'localhost' WITH GRANT OPTION;
Save the changes made to the database.
FLUSH PRIVILEGES;
Exit MySQL shell.
exit;
Install curl
.
$ sudo apt install curl -y
Download the latest release version of TYPO3 CMS. To find the latest version, visit the official download page.
$ sudo curl -L -o typo3_src.tgz https://get.typo3.org/11.5.1
Extract the downloaded files.
$ sudo tar -xvzf typo3_src.tgz
Create the installation directory /var/www/html/typo3
.
$ sudo mkdir /var/www/html/typo3
Move the extracted files into the installation directory.
$ sudo mv typo3_src-11.5.1/* /var/www/html/typo3
For a fresh TYPO3 CMS server install, create a file named FIRST_INSTALL
on the web root directory.
$ sudo touch /var/www/html/typo3/FIRST_INSTALL
Change ownership of the installation directory.
$ sudo chown -R www-data:www-data /var/www/html/typo3
Change access permissions for the directory.
$ sudo chmod -R 755 /var/www/html/typo3
Create a new Apache configuration file called typo3.conf
.
$ sudo nano /etc/apache2/sites-available/typo3.conf
Add the following code to the file. Save and close the file.
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/typo3
ServerName example.com
ServerAlias www.example.com
<Directory /var/www/html/typo3/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Disable Apache default configuration file.
$ sudo a2dissite 000-default.conf
Enable TYPO3 CMS Apache configuration file.
$ sudo a2ensite typo3.conf
Enable Apache rewrite mode.
$ sudo a2enmod rewrite
Restart Apache service.
$ sudo systemctl restart apache2
To access the TYPO3 CMS Web Interface, go to your browser and visit http://Server_IP/
. For example:
http://192.0.2.11/
You have installed TYPO3 CMS on your server. Access the Installation Wizard screen to complete installation by connecting to the database you created, creating an administrator account. You can now access the Dashboard and add content to manage.
To learn more about using TYPO3 CMS, go to the official documentation page.