Savannah frontend setup
This page describes the configuration needed for Savannah
current frontend web server and PHP code. The server is
called frontend2
(https://frontend2.savannah.gnu.org).
Further reading about Savannah server:
- SavannahArchitecture - overview of the current setup (i.e. vcs, mgt, frontend, internal, download).
- SavannahServices - services/daemons available on Savannah hosts.
- SavannahInternals - Savannah inner-workings.
- SavannahHosts - Configuration of the new servers.
Further reading about Savannah web frontend:
- RunningSavaneLocally - Running Savannah PHP code locally.
- FrontEnd - Notes about the current frontend setup.
- FrontEndDevelopmentSite - Setting up development sites for Savannah.
General information
Savannah web frontend (i.e. https://savannah.gnu.org)) is written in PHP.
It uses a MariaDB database running on internal0
.
The code repository is called 'savane', available at http://git.savannah.gnu.org/cgit/administration/savane.git.
The production machine runs the head of the 'frontend' branch, see Releasing Savane.
For details on how Savane is installed, see Savane setup.
Apache/PHP configuration file location
init.php
accepts a fallback variable SV_LOCAL_INC_PREFIX
, which
is referenced in sites-available/vhosts-nongnu.inc:
SetEnv SV_LOCAL_INC_PREFIX /etc/savane/nongnu-conf
.
For savannah.gnu.org as opposed to savannah.nongnu.org, init.php
uses
the configured default.
"Site-specific" files
Several sections of the displayed HTML on the Savannah website are taken from files in frontend/site-specific/.
Savannah license list offered when registering new groups is also stored in one of those files.
Mail messages
Savannah PHP code runs under apache as www-data
user.
Mail messages sent to www-data
(cron and email errors)
are now aliased to root
(http://lists.gnu.org/archive/html/savannah-hackers-public/2016-05/msg00058.html).