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:
- PHP extensions
- PDO
- json
- pcre >= 8.38
- session
- xml
- filter
- hash
- mbstring
- SPL
- standard
- fileinfo
- gd
- zip
- zlib
- openssl
- intl
- mysqli
- 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:
- From the LSWS WebAdmin Console, go to Configuration > Virtual Hosts and select the Virtual Host that will be used.
- Go to General > HTAccess and click Edit.
- 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>