Installation - gtbu/Typesetter5.2 GitHub Wiki
Installation on Apache
The easiest way ist to extract the downloaded zip ( i.e. Master ) and copy it with Filezilla-portable into a subdirectory of the root of the webserver.
Other ways as copying the zip into a installation-directory and extraction with "unzip and parameters" at ssh commandline can sometimes lead to a corrupted extraction (gunzip -r /foo/bar). Some ftp-clients may evtl. omit certain file-types and may have problems with deep directory structures.
- Here is a example - installation - script
After extraction You can put a domain on the subdirectory and start the installation.
-
Under Xampp You should activate intl and zip and GD in the php.ini
Installation on Nginx
Nowadays many installations run with the nginx-Webserver (though Apache with the nginx-module-plugin is not much slower). With Nginx the automatic generated .htaccess - file (for Apache Webserver) has no effect.
Some further explainations are at Gist and at Nginx.
A htaccess - example is :
AddType application/x-javascript .js
AddType text/css .css
AddType text/xml .xml
AcceptPathInfo On
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase "/"
# Don't rewrite multiple times
RewriteCond %{QUERY_STRING} gp_rewrite
RewriteRule .* - [L]
# Redirect away from requests with index.php
RewriteRule index\.php(.*) "$1" [R=302,L]
# Add gp_rewrite to root requests
RewriteRule ^$ "/index.php?gp_rewrite" [qsa,L]
# Don't rewrite for static files
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_URI} \.(js|css|jpe?g|jpe|gif|png|ico)$ [NC]
RewriteRule .* - [L]
# Send all other requests to index.php
# Append the gp_rewrite argument to tell cms not to use index.php and to prevent multiple rewrites
RewriteRule /?(.*) "/index.php?gp_rewrite=$1" [qsa,L]
</IfModule>
<IfModule mod_deflate.c>
<filesMatch "\.(js|css|html|php)$">
SetOutputFilter DEFLATE
</filesMatch>
</IfModule>
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
Nginx-online-converter gives for above code (untested !!!)
location ~ ^"/"/(.*)$ { }
location ~ ^"/"/(.*)$ { }
location "/"/ {
if ($query_string ~ "gp_rewrite"){
rewrite index\.php(.*) "/"/"$1" redirect;
}
rewrite ^"/"/$ "/"/"/index.php?gp_rewrite" break;
if (-e $request_filename){
rewrite /?(.*) "/"/"/index.php?gp_rewrite=$1" break;
}
if ($request_method ~ "^TRACE"){
return 403;
}
}
or...pagespeed.com.....
server {
server_name example.com;
if ($query_string ~ "gp_rewrite") {
rewrite .* "/"- last;
}
rewrite index\.php(.*) "/""$1" last;
rewrite ^/$ "/"/"/index.php?gp_rewrite" last;
# !!! UNABLE TO REWRITE:
# RewriteCond %{REQUEST_FILENAME} -f [OR]
# RewriteCond %{REQUEST_FILENAME} -d [OR]
# RewriteCond %{REQUEST_URI} \.(js|css|jpe?g|jpe|gif|png|ico)$ [NC]
# RewriteRule .* - [L]
rewrite /?(.*) "/""/index.php?gp_rewrite=$1" last;
# !!! UNABLE TO REWRITE:
# RewriteCond %{REQUEST_METHOD} ^TRACE
# RewriteRule .* - [F]
}
After installation You should add some security features like CSP and a WAF.
- HTTP/3 - protocol
While HTTP/2, which compresses the traffic, is used by 25% of the webservers, the more advanced HTTP/3 with QUIC is now supported by Nginx and also with the Apache APISIX - Gateway - Plugin