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.

After extraction You can put a domain on the subdirectory and start the installation.

Installation

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.

  • For example at Winginx is a online converter from htaccess to nginx.conf (also at pagespeed.)

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


⚠️ **GitHub.com Fallback** ⚠️