
If you’re looking for a new Content Management System (CMS) that is flexible, user-friendly, powerful, and (best of all) mobile-friendly, look no further than Typo3. This particular CMS’s focus is on extensions. The installation gives you a base from, which you can install thousands of extensions to create the exact CMS to fit your data center needs. Typo3’s flexibility is hard to beat by any other CMS tool of its kind.
I want to show you how to install this system so that you can have an on-premises Content Management System perfectly tooled to serve your business. I’ll demonstrate the process on Ubuntu Server 16.04 (as the install on Ubuntu 18.04 isn’t viable at the moment, thanks to PHP dependencies).
SEE: Quick glossary: Storage (Tech Pro Research)
What you need
The only things you will need are a working Ubuntu Server 16.04 and a user account with sudo privileges. With those in check, let’s install.
Update/upgrade
The first thing to do is update and upgrade your server. Know that, should your kernel be upgraded during this process, you will need to reboot the server (for the updates to take effect). Because of this, I highly recommend you run these commands during a time when a reboot can be taken care of, without a stoppage of work.
To run the update/upgrade, open a terminal window and issue the following two commands:
sudo apt-get update
sudo apt-get upgrade
Install Apache and MySQL
Let’s assume you do not have either Apache or MySQL installed on the server (both of which are necessary). To install Apache, issue the following command:
sudo apt-get -y install apache2
Next, install MySQL with the command:
sudo apt-get -y install mysql-server
During the installation of MySQL, you will be asked to create an admin password. Make that a strong password.
Start and enable both services with the following commands:
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysql
sudo systemctl enable mysql
Install and configure PHP
Next we need to install PHP and a number of modules. This is accomplished with the following command:
sudo apt-get -y install php php-gd php-json php-mysqli php-curl php-cli php-apcu php-soap php-xml php-zip php-mbstring libfreetype6 php-bcmath php-fileinfo imagemagick libapache2-mod-php7.0
Before we move on, there’s a quick configuration that must be done in the php.ini file. Issue the command:
sudo nano /etc/php/7.0/apache2/php.ini
In that file, look for the following lines:
max_execution_time = 30
; max_input_vars = 1000
Change the above lines to:
max_execution_time = 240
max_input_vars = 1500
Save and close that file.
Create the database
Now we must create a database for Typo3. Gain access to the MySQL prompt with the command:
mysql -u root -p
Once at the MySQL prompt, issue the following commands:
CREATE DATABASE typo3_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'typo3_user'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON typo3_data.* TO 'typo3_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
where PASSWORD is a unique, strong password.
Install Typo3
We’ve finally reached the installation portion. Change into the Apache web root with the command:
cd /var/www/html
Download the Typo3 installer with the command:
wget --content-disposition get.typo3.org/8
Unpack the archive with the command:
sudo tar xvzf typo3*.tar.gz
Rename the newly created file with the command:
sudo mv typo3_src-XXX typo3
Where XXX is the release number.
Rename the .htaccess file with the command:
sudo mv typo3/_.htaccess typo3/.htaccess
Create a blank FIRST_INSTALL file with the command:
sudo touch typo3/FIRST_INSTALL
Create the proper ownership with the following command:
sudo chown -R www-data:www-data typo3
Configure Apache
We now must create our virtual host. Create an empty configuration file with the command:
sudo nano /etc/apache2/sites-available/typo3.conf
Paste the following content into that new file:
ServerName cms.example.com
DocumentRoot /var/www/html/typo3
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Save and close that file. Activate the new configuration with the command:
sudo a2ensite typo3.conf
Finally, restart Apache with the command:
sudo systemctl restart apache2
Finish the installation
Finally, you can point your browser to http://SERVER_IP/typo3 (where SERVER_IP is the IP address of your server). You will be greeted by a user-friendly web installer where you can complete the installation.
The Typo3 web installer is a simple-to-use wizard.
For the web installer, you will be asked to configure the following:
- Database connection
- Select the database
- Create an admin user
- If you want to create a pre-configured site
That’s it. When this completes, you can log in and set up your Typo3 CMS. Congratulations, you now have an incredibly powerful Content Management System ready to serve your business.