Getting everything in the right place


These documents describe: how and where the different parts of the server software are installed, the declarative syntax used in configuring the server, and the required configuration settings for a minimal web server.

Download HTTP/2 Server

Grab all the goodness — in your favorite package flavor!

HTTP/2 server with modular JavaScript plugins, available for Linux in PKG and DEB formats: CentOS / Fedora / RedHat / Ubuntu / Debian
Read Write Serve, RWSERVE, download, Fedora, RedHat, CentOS, Ubuntu, Debian, rpm, pkg, tar.gz, rwserve, HTTP/2 server, Read Write Tools


Server dependencies

This note documents the software required by the server for successful website hosting.
RWSERVE, prerequisites, dependencies, Node.js


Supplemental information about proper server setup

These notes provide additional information about the proper installation of the RWSERVE software.
RWSERVE, installation, prerequisites, registration, standard directories, file permissions, systemd


Best practices for configuring, monitoring, and extending

This is a high performance tool, and like all such engineering efforts, you can get yourself into trouble when you try out new features. Here are some best practices to follow as you build out your server.
RWSERVE, troubleshooting, configuration syntax, modules, rwserve verify, information headers, logging, journalctl, permissions, SSL certificates, registration, developing plugins

Standard Directories

The location of server files

This note provides documentation on the files and directories used by the server.
RWSERVE, standard directories, etc/rwserve, etc/systemd/system, usr/lib/node_modules/rwserve, /usr/lib/systemd/system, var/www, encoding-cache, dynamic-cache, custom-errors

Configuration Syntax

Getting started with BLUEPHRASE

This note describes the syntax used within server configuration files.
RWSERVE, configuration syntax, version pragma, include pragma, comments, sections, subsections, single-line entries, sourcerefs, attributes

Config Hierarchy

A bare-bones look at configuration settings

This note provides a summary of the keywords used in host settings and server settings, and the hierarchy used to configure RWSERVE.
RWSERVE, configuration hierarchy, server settings, host settings, keywords, hierarchy

File Permissions

File system enforcement of process privileges

This note describes the checks taken by the server's file system to limit the server's ability to access devices files outside its scope.
RWSERVE, file permissions, document-root, encoding-cache, dynamic-cache, readable, writable, read-write


Parallel processes to handle simultaneous requests

This note describes the server's ability to handle concurrent requests through a single address and port.
cluster, concurrent requests, simultaneous requests, round-robin, cluster-size, considerations, queue-related delays


Required settings for each server

This note lists the required entries in the server section that every configuration file must have.
RWSERVE, server settings, IP address, port, SNI, cluster size, registration, customer-number, access-key

Server Name Indication

Allowing one IP address to serve multiple hostnames

This note describes how the server makes use of the Server Name Indication (SNI) protocol to allow more than one HTTPS hostname per IP address.
SNI, Server Name Indication, TLS, SSL, ip-address, port, hostname, tls, IETF RFC 3546


Required configuration settings for named hosts

This note describes the required settings needed by the server to configure an HTTP/2 socket, TLS certificates, the paths to documents and caches, acceptable mime-types, and allowed methods.
hosts, document-root, tls, private-key, certificate, encoding-cache, dynamic-cache, landing-page

Merged Configurations

Common settings for multiple named hosts

This note describes how the server and host sections can be configured with merged settings to avoid repetition when configuring multiple hosts.
server section, host section, merge attribute, join, override, reduce, repetition


Determining which steps are active during the request-response cycle

This note describes how the server is modularized and how it can be configured to behave differently by enabling and disabling individual modules.
modules, ip-access, forbidden, RBAC, cross-origin, accept-language, content-encoding, etag, cache-control, user-agent, resource-masks, router, push-priority, information-headers, custom-errors, counters

Path Patterns

Specification of path-pattern globbing rules

This note documents the rules used by the server for all configuration entries that use the path-pattern idiom.
path-patterns, globstar, asterisk, question mark, wildcard, GRAVE-ACCENT delimiters


Legitimizing your copy of the server software

This note describes how to specify your customer number and access key in the configuration file.
RWSERVE, registration, customer number, access key

Getting everything in the right place

🔗 🔎