# HG changeset patch # User wenzelm # Date 1576161778 -3600 # Node ID 197aa6b57a83a79ff242c4c45f29770205b3145f # Parent 74cabc06cf2dd37402a97476a9aab3590765609b more documentation; diff -r 74cabc06cf2d -r 197aa6b57a83 src/Doc/System/Phabricator.thy --- a/src/Doc/System/Phabricator.thy Thu Dec 12 13:55:03 2019 +0100 +++ b/src/Doc/System/Phabricator.thy Thu Dec 12 15:42:58 2019 +0100 @@ -202,6 +202,48 @@ \ +subsection \Public domain name and HTTPS configuration\ + +text \ + So far the Phabricator server has been accessible only on \<^verbatim>\localhost\ (via + the alias \<^verbatim>\lvh.me\). Proper configuration of a public Internet domain name + (with HTTPS certificate from \<^emph>\Let's Encrypt\) works as follows. + + \<^item> Register a subdomain (e.g.\ \<^verbatim>\vcs.example.org\) as an alias for the IP + address of the underlying Linux host. This usually works by some web + interface of the hosting provider to edit DNS entries; it might require + some time for updated DNS records to become publicly available. + + \<^item> Edit the Phabricator website configuration file in + \<^path>\/etc/apache2/sites-available/\ to specify \<^verbatim>\ServerName\ and + \<^verbatim>\ServerAdmin\ like this: @{verbatim [display] \ ServerName vcs.example.org + ServerAdmin webmaster@example.org\} + + Then reload (or restart) Apache like this: + @{verbatim [display] \ systemctl reload apache2\} + + \<^item> Install \<^verbatim>\certbot\ from \<^url>\https://certbot.eff.org\ following the + description for Apache and Ubuntu 18.04 on + \<^url>\https://certbot.eff.org/lets-encrypt/ubuntubionic-apache\. Run + \<^verbatim>\certbot\ interactively and let it operate on the domain + \<^verbatim>\vcs.example.org\. + + \<^item> Inform Phabricator about its new domain name like this: + @{verbatim [display] \ isabelle phabricator bin/config set + phabricator.base-uri https://vcs.example.org\} + + \<^item> Visit the website \<^verbatim>\https://vcs.example.org\ and continue Phabricator + configuration as described before. The following options are particularly + relevant for a public website: + + \<^item> \<^emph>\Auth Provider / Username/Password\: disable \<^emph>\Allow Registration\ to + avoid arbitrary registrants; users can be invited via email instead. + + \<^item> Enable \<^verbatim>\policy.allow-public\ to allow read-only access to resources, + without requiring user registration. +\ + + section \Global data storage and backups\ text \