How to Install Typo3 CMS 9.5.5 on Centos 7.6

Installation Of Typo3 CMS 9.5.5 on Centos 7.6

Requirements:

Apache 2.4+
MariaDB 5.5
PHP 7.2+

Check the version of Centos

[root@linuxhelp ~]# lsb_release -d
Description:	CentOS Linux release 7.6.1810 (Core)

Install the Apache And MariaDB server by using the below command

[root@linuxhelp ~]# yum install httpd mariadb-server -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.myfahim.com
 * extras: centos.myfahim.com
 * updates: centos.myfahim.com
base                                                                                                                  | 3.6 kB  00:00:00     
extras                                                                                                                | 3.4 kB  00:00:00     
updates                                                                                                               | 3.4 kB  00:00:00     
(1/2): extras/7/x86_64/primary_db                                                                                     | 187 kB  00:00:00     
(2/2): updates/7/x86_64/primary_db                                                                                    | 3.4 MB  00:00:07     
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-88.el7.centos will be installed
--> Processing Dependency: httpd-tools = 2.4.6-88.el7.centos for package: httpd-2.4.6-88.el7.centos.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-88.el7.centos.x86_64
.
.
.
.
.
Installed:
  httpd.x86_64 0:2.4.6-88.el7.centos                                  mariadb-server.x86_64 1:5.5.60-1.el7_5                                 

Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7_4.1                 apr-util.x86_64 0:1.5.2-6.el7                httpd-tools.x86_64 0:2.4.6-88.el7.centos         
  mariadb.x86_64 1:5.5.60-1.el7_5              perl-DBD-MySQL.x86_64 0:4.023-6.el7          perl-DBI.x86_64 0:1.627-4.el7                    
  perl-Net-Daemon.noarch 0:0.48-5.el7          perl-PlRPC.noarch 0:0.2020-14.el7

Enable And start the service of Apache And MariaDB Server as follows

[root@linuxhelp ~]# systemctl enable httpd mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@linuxhelp ~]# systemctl start httpd mariadb

Check the status of Apache And MariaDB

[root@linuxhelp ~]# systemctl status httpd mariadb
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2019-04-02 08:47:48 IST; 12s ago
● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2019-04-02 08:47:52 IST; 9s ago

Secure the mariaDB service with the below installation.

[root@linuxhelp ~]# mysql_secure_installation 
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): 
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
- Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

Configure the mariadb database for Typo3 CMS.

[root@linuxhelp ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
MariaDB [(none)]> create database typo3;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| typo3              |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]> use typo3;
Database changed
MariaDB [typo3]> create user user@localhost identified by 'linuxc';
Query OK, 0 rows affected (0.01 sec)
MariaDB [typo3]> grant all on  typo3.* to user@localhost;
Query OK, 0 rows affected (0.00 sec)
MariaDB [typo3]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [typo3]> exit
Bye

To install php, we need to Install three third party repositories

Install epel-release repository using the Following Method

[root@linuxhelp ~]# yum install epel-release yum-utils -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.myfahim.com
 * extras: centos.myfahim.com
 * updates: centos.myfahim.com
Package yum-utils-1.1.31-50.el7.noarch already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be installed
--> Finished Dependency Resolution
.
.
.
.
.
. Running transaction
  Installing : epel-release-7-11.noarch                                                                                                  1/1 
  Verifying  : epel-release-7-11.noarch                                                                                                  1/1 
Installed:
  epel-release.noarch 0:7-11                                                            

Download and Install webtatic repository

[root@linuxhelp ~]# wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
--2019-04-02 08:51:37--  https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Resolving mirror.webtatic.com (mirror.webtatic.com)... 46.101.64.32
Connecting to mirror.webtatic.com (mirror.webtatic.com)|46.101.64.32|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13152 (13K) [application/x-redhat-package-manager]
Saving to: ‘webtatic-release.rpm’
100%[===================================================================================================>] 13,152      --.-K/s   in 0s      
2019-04-02 08:51:38 (289 MB/s) - ‘webtatic-release.rpm’ saved [13152/13152]
[root@linuxhelp ~]# ll
total 24
-rw-------. 1 root root  2097 Dec  9  2017 anaconda-ks.cfg
drwxr-xr-x. 2 root root     6 Dec 12  2017 Desktop
drwxr-xr-x. 2 root root     6 Dec 12  2017 Documents
drwxr-xr-x. 2 root root     6 Dec 12  2017 Downloads
-rw-r--r--. 1 root root  2128 Dec 12  2017 initial-setup-ks.cfg
drwxr-xr-x. 2 root root     6 Dec 12  2017 Music
drwxr-xr-x. 2 root root     6 Dec 12  2017 Pictures
drwxr-xr-x. 2 root root     6 Dec 12  2017 Public
drwxr-xr-x. 2 root root     6 Dec 12  2017 Templates
drwxr-xr-x. 2 root root     6 Dec 12  2017 Videos
-rw-r--r--  1 root root 13152 Oct  9  2014 webtatic-release.rpm
[root@linuxhelp ~]# rpm -Uvh webtatic-release.rpm 
warning: webtatic-release.rpm: Header V4 RSA/SHA1 Signature, key ID 62e74ca5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:webtatic-release-7-3             ################################# [100%]

Download And Install remi-release repository

[root@linuxhelp ~]# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
--2019-04-02 08:52:42--  http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Resolving rpms.remirepo.net (rpms.remirepo.net)... 195.154.241.117, 2001:bc8:33a1:100::1
Connecting to rpms.remirepo.net (rpms.remirepo.net)|195.154.241.117|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16004 (16K) [application/x-rpm]
Saving to: ‘remi-release-7.rpm’
100%[===================================================================================================>] 16,004      --.-K/s   in 0s      
2019-04-02 08:52:43 (41.8 MB/s) - ‘remi-release-7.rpm’ saved [16004/16004]
[root@linuxhelp ~]# ll
total 40
-rw-------. 1 root root  2097 Dec  9  2017 anaconda-ks.cfg
drwxr-xr-x. 2 root root     6 Dec 12  2017 Desktop
drwxr-xr-x. 2 root root     6 Dec 12  2017 Documents
drwxr-xr-x. 2 root root     6 Dec 12  2017 Downloads
-rw-r--r--. 1 root root  2128 Dec 12  2017 initial-setup-ks.cfg
drwxr-xr-x. 2 root root     6 Dec 12  2017 Music
drwxr-xr-x. 2 root root     6 Dec 12  2017 Pictures
drwxr-xr-x. 2 root root     6 Dec 12  2017 Public
-rw-r--r--  1 root root 16004 Mar  8 13:10 remi-release-7.rpm
drwxr-xr-x. 2 root root     6 Dec 12  2017 Templates
drwxr-xr-x. 2 root root     6 Dec 12  2017 Videos
-rw-r--r--  1 root root 13152 Oct  9  2014 webtatic-release.rpm
[root@linuxhelp ~]# rpm -Uvh remi-release-7.rpm 
warning: remi-release-7.rpm: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
1:remi-release-7.6-2.el7.remi      ################################# [100%]

Enable the remi repo with php72 version

[root@linuxhelp ~]# yum-config-manager --enable remi-php72
Loaded plugins: fastestmirror, langpacks
============================================================= repo: remi-php72 ==============================================================
[remi-php72]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl = 
cache = 0
cachedir = /var/cache/yum/x86_64/7/remi-php72
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
.
.
.
.
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert = 
sslclientcert = 
sslclientkey = 
sslverify = True
throttle = 0
timeout = 30.0
ui_id = remi-php72
ui_repoid_vars = releasever,
basearch
username =

Install the php modules that are required for Typo3 CMS

[root@linuxhelp ~]# yum install php php-gd php-pdo php-mysql php-mbstring php-mcrypt php-simplexml php-pecl-zip php-intl -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.myfahim.com
 * epel: ftp.jaist.ac.jp
 * extras: centos.myfahim.com
 * remi-php72: fr2.rpmfind.net
 * remi-safe: fr2.rpmfind.net
 * updates: centos.myfahim.com
 * webtatic: uk.repo.webtatic.com
remi-php72                                                                                                            | 3.0 kB  00:00:00     
remi-php72/primary_db                                                                                                 | 220 kB  00:00:08     
Package php-mysql is obsoleted by php-mysqlnd, trying to install php-mysqlnd-7.2.16-1.el7.remi.x86_64 instead
Package php-mcrypt is obsoleted by php-pecl-mcrypt, trying to install php-pecl-mcrypt-1.0.2-2.el7.remi.7.2.x86_64 instead
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:7.2.16-1.el7.remi will be installed
.
.
.
.
.
Installed:
  php.x86_64 0:7.2.16-1.el7.remi                   php-gd.x86_64 0:7.2.16-1.el7.remi       php-mbstring.x86_64 0:7.2.16-1.el7.remi           
  php-mysqlnd.x86_64 0:7.2.16-1.el7.remi           php-pdo.x86_64 0:7.2.16-1.el7.remi      php-pecl-mcrypt.x86_64 0:1.0.2-2.el7.remi.7.2     
  php-pecl-zip.x86_64 0:1.15.4-1.el7.remi.7.2      php-xml.x86_64 0:7.2.16-1.el7.remi     
Dependency Installed:
  gd-last.x86_64 0:2.2.5-8.el7.remi               libargon2.x86_64 0:20161029-2.el7             libmcrypt.x86_64 0:2.5.8-13.el7             
  libwebp7.x86_64 0:1.0.2-1.el7.remi              libzip5.x86_64 0:1.5.2-1.el7.remi             php-cli.x86_64 0:7.2.16-1.el7.remi          
  php-common.x86_64 0:7.2.16-1.el7.remi           php-json.x86_64 0:7.2.16-1.el7.remi          
Complete!

Check the version of php

[root@linuxhelp ~]# php -v
PHP 7.2.16 (cli) (built: Mar  5 2019 14:45:10) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Check the modules of php

[root@linuxhelp ~]# php -m
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
intl
iconv
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
.
.
.
.
.
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]

Download and Install The typo3 CMS

[root@linuxhelp ~]# cd /var/www
[root@linuxhelp www]#  wget --content-disposition get.typo3.org/9
--2019-04-02 15:48:12--  http://get.typo3.org/9
Resolving get.typo3.org (get.typo3.org)... 88.99.248.52, 136.243.44.172, 2a01:4f8:10b:5d8::196, ...
Connecting to get.typo3.org (get.typo3.org)|88.99.248.52|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://get.typo3.org/9 [following]
--2019-04-02 15:48:14--  https://get.typo3.org/9
Connecting to get.typo3.org (get.typo3.org)|88.99.248.52|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://typo3.azureedge.net/typo3/9.5.5/typo3_src-9.5.5.tar.gz [following]
--2019-04-02 15:48:14--  https://typo3.azureedge.net/typo3/9.5.5/typo3_src-9.5.5.tar.gz
Resolving typo3.azureedge.net (typo3.azureedge.net)... 117.18.232.200, 2606:2800:147:120f:30c:1ba0:fc6:265a
Connecting to typo3.azureedge.net (typo3.azureedge.net)|117.18.232.200|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 27231372 (26M) [application/octet-stream]
Saving to: ‘typo3_src-9.5.5.tar.gz.1’
100%[===================================================================================================>] 27,231,372  1.07MB/s   in 24s    
2019-04-02 15:48:38 (1.08 MB/s) - ‘typo3_src-9.5.5.tar.gz.1’ saved [27231372/27231372]

Assign writable and ownership permissions to access the typo3 CMS

[root@linuxhelp www]# chmod -R 775 typo3/
[root@linuxhelp www]# chown -R apache. typo3/

Edit the configuration of php as follows

[root@linuxhelp www]# vim /etc/php.ini
max_input_vars=1500
max_execution_time=240

Create An empty file named FIRST_INSTALL which is essential to load the welcome page

[root@linuxhelp www]# cd typo3
[root@linuxhelp typo3]# touch FIRST_INSTALL

Create a customised Configuration File for typo3 CMS

[root@linuxhelp typo3]# vim /etc/httpd/conf.d/typo3.conf
<Virtualhost *:80>
servername www.linuxhelp1.com
documentroot /var/www/typo3/
<directory /var/www/typo3/>
allowoverride all
allow from all
</directory>
</virtualhost>

Restart the service of Apache

[root@linuxhelp typo3]# systemctl restart httpd

Open the browser and enter the hostname Click continue to complete the installation step 1 and give database details

Select existing database and choose typo3 database in the dropdown list Enroll admin details and website name details Click yes to download the list of distribution to enter into the login credentials page The admin account of linuxhelp website has been created. Thus,Installation of typo3 CMS 9.5.5 on centos 7.6 comes to end

FAQ
Q
Does typo3 CMS integrate with third-party applications?
A
It does integrate with third-party applications.
Q
What is GDPR in typo3 CMS?
A
General data Protection Regulation protects the privacy and personal data.
Q
What is the use of metadata in metadata management in typo3 CMS?
A
Metadata makes users to find the text documents easier.
Q
What is SEO In typo3 CMS?
A
SEO is a technique that is used to increase the visibility of a website and improves rankings.
Q
What is the use of smart content management in typo3 CMS?
A
Typo3 CMS helps us to create and publish content that delivers results across all digital channels.