savannah-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-cvs] [770] update documentation on Savane setup


From: ineiev
Subject: [Savannah-cvs] [770] update documentation on Savane setup
Date: Sat, 24 Feb 2024 12:16:37 -0500 (EST)

Revision: 770
          
http://svn.savannah.gnu.org/viewvc/?view=rev&root=administration&revision=770
Author:   ineiev
Date:     2024-02-24 12:16:36 -0500 (Sat, 24 Feb 2024)
Log Message:
-----------
update documentation on Savane setup

Modified Paths:
--------------
    trunk/sviki/FrontEnd.mdwn
    trunk/sviki/FrontEndSetup.mdwn
    trunk/sviki/SavaneReleases.mdwn
    trunk/sviki/back-page.mdwn

Added Paths:
-----------
    trunk/sviki/SavaneSetup.mdwn

Modified: trunk/sviki/FrontEnd.mdwn
===================================================================
--- trunk/sviki/FrontEnd.mdwn   2024-02-24 15:29:50 UTC (rev 769)
+++ trunk/sviki/FrontEnd.mdwn   2024-02-24 17:16:36 UTC (rev 770)
@@ -1,7 +1,7 @@
 # Savannah frontend
 
 The Savane frontend is installed on the 'frontend' virtual machine, in
-`/opt/savannah/savane/`, which pulls from the `administration/savane.git`
+`/opt/savane/`, which pulls from the `administration/savane.git`
 repository.
 
 See also: [[Savannah Frontend Setup|FrontEndSetup]]

Modified: trunk/sviki/FrontEndSetup.mdwn
===================================================================
--- trunk/sviki/FrontEndSetup.mdwn      2024-02-24 15:29:50 UTC (rev 769)
+++ trunk/sviki/FrontEndSetup.mdwn      2024-02-24 17:16:36 UTC (rev 770)
@@ -1,4 +1,4 @@
-# Savannah Frontend Setup
+# Savannah frontend setup
 
 This page describes the configuration needed for Savannah
 new frontend web server and PHP code.
@@ -7,16 +7,15 @@
 kicking off the server migration efforts. The existing server
 (which hosts <http://savannah.gnu.org>) is called `frontend`
 (`frontend.savannah.gnu.org`). The new server is currently
-called `frontend0` (<https://frontend0.savannah.gnu.org>).
+called `frontend2` (<https://frontend2.savannah.gnu.org>).
 
 Further reading about Savannah server:
 
-* [[SavannahArchitecture]] - overview of the current ('old') setup
-  (i.e. vcs0, mgt0, frontend0, internal0, download0).
+* [[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
-  (i.e. mgt0, vcs0, frontend0, internal0, download0).
+* [[SavannahHosts]] - Configuration of the new servers.
 
 Further reading about Savannah web frontend:
 
@@ -24,7 +23,6 @@
 * [[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.
@@ -36,43 +34,16 @@
 write-access: `git clone
 <USER>@git.sv.gnu.org:/srv/git/administration/savane.git`).
 
-As of September 2016, 'savane' is not 'installed' in a standard way
-(e.g. 'make install').  Instead, files and settings are copied
-from old servers (e.g. the old
-VM of 'frontend.sv.gnu.org' to the new VM 'frontend0').  The MySQL
-database is not created from scratch, but is copied from existing
-servers (e.g. DB on internal to internal0).  The configuration files
-(e.g `/etc/savane` or the local copy in `/home/foobar/projects/savane-etc`)
-are copied from existing servers, and tweaked until they 'just work'.
+The production machine run the head of the 'frontend'
+branch, see [[Releasing Savane|SavaneReleases]].
 
-The PHP code runs directly from the cloned and configured repository
-(i.e. if cloned into `$HOME/projects/savane`, Apache PHP configuration
-should point to `$HOME/projects/savane/frontend/php/`).
-`config.status --config` output may look like
-`'--prefix=/home/user/projects/' '--sysconfdir=/home/user/etc'`.
-The 'installation' above does not touch the PHP part.  When
-updating translations is needed, run 
+For details on how Savane is installed, see [[Savane setup|SavaneSetup]].
 
-   cd savane/po; make savane.pot-update update-po all install
-   git reset --hard
+## Apache/PHP configuration file location
 
-Generally, the production machines run the head of the master
-or i18n branch (see [[Releasing Savane|SavaneReleases]]).
-
-The current production website is <https://savannah.gnu.org>
-and is hosted on the 'old' VM (`frontend.sv.gnu.org`).
-
-The new production website is <https://frontend0.savannah.gnu.org>,
-and is hosted on the 'new' VM (`frontend0.sv.gnu.org`).
-The PHP code is in `frontend0:/usr/srv/savane`.
-The configuration is in `frontend0:/etc/savane`.
-
-
-## Apache/PHP Configuration File Location
-
 The environment variable `SAVANE_CONF` determines the location of the main
 PHP configuration file for savane. It could be set in Apache configurations
-file (`frontend0:/etc/apache2/sites-available/sv.inc`) or in an `.htaccess`
+file (`frontend2:/etc/apache2/sites-available/sv.inc`) or in an `.htaccess`
 file (`/usr/src/savane/frontend/php/.htaccess`) with
 `SetEnv SAVANE_CONF /etc/savane`
 

Modified: trunk/sviki/SavaneReleases.mdwn
===================================================================
--- trunk/sviki/SavaneReleases.mdwn     2024-02-24 15:29:50 UTC (rev 769)
+++ trunk/sviki/SavaneReleases.mdwn     2024-02-24 17:16:36 UTC (rev 770)
@@ -1,48 +1,46 @@
 # Releasing Savane
 
+## Releases for the Translation Project
+
+We do release tarballs in the [download area of the `administration`
+group](//download.savannah.nongnu.org/releases/administration/).
+These releases serve as references for the Translation Project
+where our UI is localized.  Nonetheless, we do make efforts to ensure
+that the tarballs look like real releases and e.g. can successfully
+pass distcheck.
+
+In the same area, we may also release auxiliary files like dumps of sample
+Savane database.
+
 ## Working branches
 
 [Our Savane
 repository](//git.savannah.gnu.org/cgit/administration/savane.git)
-has two permanent branches:
+has three permanent branches:
 <dl>
 <dt>master</dt>
-<dd>This is the "stable" branch: it doesn't accept non-fast-forward commits,
-it is the base for all other branches.</dd>
+<dd>The "stable" branch: it doesn't accept non-fast-forward commits,
+it is used as the base for all other branches.</dd>
 <dt>i18n</dt>
-<dd>This is where next development commits occur.  The commits may
-be amended in this branch until they are absorbed in the master
-branch.</dd>
+<dd>The branch where the development is done.  The commits are amended
+in this branch until they are absorbed in the master branch.</dd>
+<dt>frontend</dt><dd>The branch the frontend runs.</dd>
 </dl>
 
-When no development is going on, our production machines run
-in sync with head of the master branch.  When working on new
-features, the relevant machines may run the head of i18n
-(that is, where the head were at some specific moment).
-Since the AGPL requires that we provide
-the corresponding source code for frontend code, Savane links
-to the respective commit at our git server (the "Corresponding source code"
-link at the bottom of the page).  This implies that no uncommitted
-changes should be made in the running code on `frontend`&mdash;any
-modifications should come through Git.
+## Corresponding source code for specific machines
 
-Other machines where the users interact with Savane are the VCS servers
-and the download server.  For them, the source code of Savane is provided
-through RSYNC, which is one of the protocols offered for downloading
-the hosted data.
+The requirement of the AGPL to offer the corresponding source code
+is triggered in these cases:
 
-## Releases for the Translation Project
+- The PHP code of Savannah Web UI.  Savane links to the respective commit
+  at our Cgit instance (the "Corresponding source code" link at the bottom
+  of the page).  Keeping the frontend branch at the specific commit makes sure
+  that it is accessible and git gc doesn't remove it.
+- The sv_membersh script for SSH access, namely, VCS servers
+  and the download server.  The source code of Savane is provided
+  through RSYNC, which is one of the protocols offered for downloading
+  the hosted data.
 
-We do release tarballs in the [download area of the `administration`
-group](//download.savannah.nongnu.org/releases/administration/).
-These releases serve as references for the Translation Project
-where our UI is localized.  Nonetheless, we do make efforts to ensure
-that the tarballs look like real releases and e.g. can successfully
-pass distcheck.
-
-In the same area, we may also release auxiliary files like dumps of sample
-Savane database.
-
 ---
 
 Copyright &copy; 2024 Ineiev

Added: trunk/sviki/SavaneSetup.mdwn
===================================================================
--- trunk/sviki/SavaneSetup.mdwn                                (rev 0)
+++ trunk/sviki/SavaneSetup.mdwn        2024-02-24 17:16:36 UTC (rev 770)
@@ -0,0 +1,71 @@
+# Savane setup
+
+As of 2024-02, Savane is installed and runs on mgt1, download0,
+vcs0, vcs1, vcs2, frontend2.  The installation procedure
+is quite uniform.
+
+The bootstrapped Git repository is located at /opt/src/savane;
+the package is built in /root/build-savane/build.
+/root/build-savane has a link savane-bootstrapped pointing at
+/opt/src/savane.
+
+The configuration is maintained in /etc/savane: either Savane is
+configured with `--sysconfdir=/etc`, or /opt/savane/etc/savane
+contain links to the files from /etc/savane.
+
+Basic steps to update Savane after logging in as root
+the machine in question are:
+
+  cd ~/build-savane/savane-bootstrapped; git fetch origin
+  git diff --color=always HEAD origin/frontend
+  git reset --hard origin/frontend; autoreconf -vf
+  cd ~/build-savane/build; make all install{,check}
+
+Additional steps the admin does in certain cases are:
+
+- Check the command line of configure,
+
+    ~/build-savane/build/config.status --config
+
+  and add new options.
+
+- Backup the previous installation,
+
+    rm -fr /opt/savane~
+    cp -a /opt/savane{,~}
+
+- Update configuration files in /etc/savane.  When Savane is installed,
+  the existing configuration files are kept unchanged.
+
+## Common settings
+
+The existing database from the 'internal' VM is used, so the
+--disable-database configure option should be used.
+
+## Machine specifics
+
+### frontend
+
+The only machine where --disable-frontend and --enable-changelog
+are *not* used.
+
+### vcs
+
+The offer from sv_membersh suggests an rsync option that omits the '.git'
+directory, so --enable-changelog is used as a way to list the changes made
+in original software.
+
+### download
+
+In addition to --enable-changelog discussed in the preivous section,
+the configure script runs with --mirror-enabled, that switches on
+mirror-redirect and other mirror-related scripts.
+
+---
+
+Copyright &copy; 2024 Ineiev
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.  This file is offered as-is,
+without any warranty.

Modified: trunk/sviki/back-page.mdwn
===================================================================
--- trunk/sviki/back-page.mdwn  2024-02-24 15:29:50 UTC (rev 769)
+++ trunk/sviki/back-page.mdwn  2024-02-24 17:16:36 UTC (rev 770)
@@ -185,6 +185,7 @@
 - [[Tips on communications|CodeOfConduct]]
 - [[How Savannah data are archived|Backup]]
 - [[A few words about our database schema|SavannahDatabaseSchema]]
+- [[How Savane is updated|SavaneSetup]]
 
 ### Download
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]