TYPO3 is a free and open source enterprise content management system. It is written in PHP and uses MySQL to store its data. TYPO3 is a responsive, mobile ready, multilingual and secure CMS. It can be easily customized and extended without writing any code.
In this tutorial, you will learn to install TYPO3 CMS on CentOS 7.
A Vultr CentOS 7 server instance.
A sudo user.
Before installing any packages on the CentOS server instance, it is recommended to update the system. Log in using the sudo user and run the following commands to update the system.
sudo yum -y install epel-release sudo yum -y update sudo shutdown -r now
Once the system has rebooted, log in again as the sudo user and proceed to the next step.
Install the Apache web server.
sudo yum -y install httpd
Start Apache and enable it to automatically run at boot time.
sudo systemctl start httpd.service sudo systemctl enable httpd.service
TYPO3 requires PHP greater than 7. In this tutorial, we will use PHP 7.1 to obtain maximum security and stability. First, add and enable the Remi repository.
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum -y install yum-utils sudo yum-config-manager --enable remi-php71
Install the latest version of PHP along with the modules required by TYPO3.
sudo yum -y install php php-gd php-json php-mysqli php-curl php-cli php-apcu php-soap php-xml php-zip php-mbstring freetype php-bcmath php-fileinfo ImageMagick
php.ini using any text editor of your choice.
sudo nano /etc/php.ini
Find the following lines and change their values according to the instructions provided.
max_execution_time = 30 // change it to 240 max_input_vars = 1000 // Uncomment and change the value to 1500
MariaDB is a fork of the MySQL database server. Install MariaDB.
sudo yum -y install mariadb mariadb-server
Start MariaDB and enable it to automatically start at boot time.
sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
Before configuring the database, you will need to secure MariaDB first. You can secure it by running the
You will be asked for the current MariaDB root password. By default, there is no root password on a fresh MariaDB installation. Press the "enter" key to proceed. Set a strong password for the root user of your MariaDB server and answer "Y" to all of the other questions. The questions asked are self-explanatory.
Log into the MySQL shell as the root user by running the following command.
mysql -u root -p
Provide the password for the MariaDB root user to log in.
Run the following queries to create a database and a database user for TYPO3 installation.
CREATE DATABASE typo3_data CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'typo3_user'@'localhost' IDENTIFIED BY 'StrongPassword'; GRANT ALL PRIVILEGES ON typo3_data.* TO 'typo3_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
You can replace the database name
typo3_data and username
typo3_user according to your choice. Be sure to change
StrongPassword to a very strong password.
Switch to the Apache web root directory by running:
Download the TYPO3 archive using:
sudo wget https://get.typo3.org/8.7.3 -O typo3.tar.gz
You can always find the link to the latest version of software on the TYPO3 download page.
Extract the archive:
sudo tar xzf typo3.tar.gz
Rename the extracted directory for convenience.
sudo mv typo3*/ typo3/
.htaccess file by running:
sudo mv typo3/_.htaccess typo3/.htaccess
Create an empty file with filename
FIRST_INSTALL. The web installer checks for this file before starting the installation.
sudo touch /var/www/typo3/FIRST_INSTALL
Provide the appropriate ownership by running:
sudo chown -R apache:apache /var/www/typo3
Allow HTTP traffic on port 80 through the firewall.
sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --reload
Run the following command to create a virtual host for your TYPO3 site.
sudo nano /etc/httpd/conf.d/cms.example.com.conf
Populate the file with:
<VirtualHost *:80> ServerName cms.example.com DocumentRoot /var/www/typo3 <Directory /var/www/typo3> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
sudo systemctl restart httpd
Your TYPO3 CMS installation is now complete. You can finish configuring TYPO3 through your web browser. Open your web browser and navigate to the URL
http://cms.example.com with the actual domain name pointed towards your Vultr VPS.