Table of Contents

Typo3 9 Installation

This guide explains how to get up and running with Typo3 on LiteSpeed Web Server.

Prerequisites

The following are required and should already be set up before proceeding:

  1. PHP extensions
    • PDO
    • json
    • pcre >= 8.38
    • session
    • xml
    • filter
    • hash
    • mbstring
    • SPL
    • standard
    • fileinfo
    • gd
    • zip
    • zlib
    • openssl
    • intl
    • mysqli
  2. MySQL
    NOTE: There are many different variations of MySQL and each variation and distro does things differently. There are many guides online to install MySQL for the specific distro where Typo3 will be installed.

Step by Step Instructions

Enable .htaccess

Make sure .htaccess is enabled for the virtual host where Typo3 will be installed:

  1. From the LSWS WebAdmin Console, go to Configuration > Virtual Hosts and select the Virtual Host that will be used.
  2. Go to General > HTAccess and click Edit.
  3. For the Allow Override setting, check everything except for the None option and set .htaccess as the Access Name.

Download Typo3

Download the Typo3 software and extract the files into the document root of the virtual host.

curl -L -o typo3_src.tgz get.typo3.org/9
tar -zxvf typo3_src-9.*.tar.gz
mv typo3_src-9.5.4/* $PATH_TO_Doc_Root

Change Permissions

Change file permissions to match LSWS' user:group, e.g. chown -R nobody:nobody $PATH_TO_Doc_Root

Extract Files

Extract the files, then open a (command line || terminal), cd into the document root and create a file called FIRST_INSTALL.

Set up Typo3

Using a web browser, visit the virtual host via its URL, and follow the on-screen instructions to set up Typo3.

Once Typo3 is all set up, you can visit the backend by adding /typo3/ to your web site's URL. Be sure to check out our Typo3 Cache rules to speed it up even more!

Front Page

Admin Page

Compatibility Issue

If you see 403 error right after installation, then vi .htaccess under the document root. Starting from line 321, replace the following:

# Apache ≥ 2.3
<IfModule mod_authz_core.c>
    <If "%{REQUEST_URI} =~ m#(?i:/\.|/\x23.*\x23|/(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|/composer\.(?:json|lock)|/ext_conf_template\.txt|/ext_typoscript_constants\.txt|/ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|typoscript|tsconfig|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sw[op]|git.*)|.*(?:~|rc))$#">
         Require all denied
    </If>
</IfModule>

with:

# Apache ≥ 2.3
#<IfModule mod_authz_core.c>
#    <If "%{REQUEST_URI} =~ m#(?i:/\.|/\x23.*\x23|/(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|/composer\.(?:json|lock)|/ext_conf_template\.txt|/ext_typoscript_constants\.txt|/ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|typoscript|tsconfig|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sw[op]|git.*)|.*(?:~|rc))$#">
#         Require all denied
#    </If>
#</IfModule>
<IfModule LiteSpeed>
    RewriteCond %{REQUEST_URI} (?i:/\.|/\x23.*\x23|/(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|/composer\.(?:json|lock)|/ext_conf_template\.txt|/ext_typoscript_constants\.txt|/ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|typoscript|tsconfig|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sw[op]|git.*)|.*(?:~|rc))
    RewriteRule ^(.*) - [R=403,NC,L]
</IfModule>