docs/back/index.en.md

74 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

# ServNest backend documentation
* [Source code architecture](architecture)
* [`config.ini` configuration reference](configuration)
* [Installation](installation)
* [Translation](translation)
## Service naming convention
ServNest identifies its services using the following short names:
`common`
: not specific to a service
`auth`
: account management
`reg`
: domain name registry
`ns`
: zone hosting
`dns`
: both `reg` and `ns`
`ht`
: HTTP hosting
## Software used by ServNest
[PHP](https://www.php.net/)
: main language
[SQLite](https://www.sqlite.org/index.html) (as a PHP extension)
: store relation between an account and the resources it created
[gettext](https://www.gnu.org/software/gettext/) (as a PHP extension)
: translation
[libsodium](https://doc.libsodium.org/) (as a PHP extension)
: hash/encrypt usernames
### For `dns` only
[Knot DNS](https://www.knot-dns.cz/)
: DNS server for both registry and DNS hosting
Cronie (or another cron daemon)
: periodically run script to sync registry records with child zones and pseudo-CNAMEs at apex
### For `ht` only
[sudo](https://www.sudo.ws/) 1.9.10+
: execute actions that match a regex as privileged or specific users
[SFTPGo](https://github.com/drakkan/sftpgo)
: upload sites files using SFTP
[Apache HTTP Server](https://httpd.apache.org/)
: static HTTP server, with content negotiation and `.htaccess` dynamic configuration
[nginx](https://nginx.org/)
: HTTP reverse proxy for Apache; terminates TLS and enforces security headers
Tor
: [Onion services](https://community.torproject.org/onion-services/)
[Certbot](https://certbot.eff.org/)
: get [Let's Encrypt](https://letsencrypt.org/) certificates for TLS
[GNU Core Utilities](https://www.gnu.org/software/coreutils/) or [BusyBox](https://www.busybox.net/)
: manipulate the filesystem through sudo