== Introduction == This project enables to easily build and deploy the GNU Boot website. == Local deployments == Here's how to deploy the website in a local webserver: $ ./autogen.sh $ ./configure $ make test Then you can point a browser to http://localhost:8080/software/gnuboot/test/web/ == Deployment on https://gnu.org/software/gnuboot/ == The deployment to https://gnu.org/software/gnuboot/ uses rsync. As gnu.org machine is behind a firewall, so you need to workaround that. A way to do that is to get a shell account on fencepost.gnu.org, and use SSH to forward the connection to gnu.org. This can be done with something like that in your SSH configuration: Host gnu.org User wwwcvs Port 2224 HostName 127.0.0.1 Host fencepost.gnu.org LocalForward 127.0.0.1:2224 gnu.org:22 User gnutoo In the example above you will need to adjust the fencepost username, and modify it to suit your SSH setup if needed (for instance if you use keys in different locations, or if the port 2224 is already taken, etc). See https://www.gnu.org/software/README.accounts.html for more details about Fencepost accounts, the SSH fingerprints, etc. For gnu.org, it's easier if you use an ED25519 key for gnu.org as I have the fingerprints below. See [1] for other options. Once everything is setup you can then SSH into fencepost: $ ssh fencepost.gnu.org [...] gnutoo@fencepost:~$ Once this is done you can then open a new shell and add the SSH fingerprint. Here's the ED25519 SSH fingerprints: $ ssh gnu.org The authenticity of host '[127.0.0.1]:2224 ([127.0.0.1]:2224)' can't be established. ED25519 key fingerprint is SHA256:pmCf0NrBzSSYfg6DdgmlMzPWZzGpXXcPEz6LP1+o5Jc. This host key is known by the following other names/addresses: ~/.ssh/known_hosts:306: [127.0.0.1]:4444 Are you sure you want to continue connecting (yes/no/[fingerprint])? You can then confirm by pasting the fingerprint like that[2]: Are you sure you want to continue connecting (yes/no/[fingerprint])? SHA256:pmCf0NrBzSSYfg6DdgmlMzPWZzGpXXcPEz6LP1+o5Jc Warning: Permanently added '[127.0.0.1]:2224' (ED25519) to the list of known hosts. Note that it is normal for the connection to gnu.org to block at this point. You can exit it with the Ctrl+D or Ctrl+C key combinations. At this point everything is setup. To deploy the website you then need to make sure that you still have an SSH connection to fencepost.gnu.org and you can then deploy the website with the following commands: $ ./autogen.sh $ ./configure $ make deploy Then you can point a browser to https://gnu.org/software/gnuboot/test/web/ References: ----------- [1]If you want to use RSA the easiest way is probably to contact the FSF system administrator that will install your key on #fsfsys and also ask that person for the server fingerprint. In that case it would be a good idea to also contribute a patch to add the fingerprint here. [2]The 'SHA256:pmCf0NrBzSSYfg6DdgmlMzPWZzGpXXcPEz6LP1+o5Jc' fingerprint was confirmed to me the 24 October 2023 on the #fsfsys IRC channel on liberachat by Ian Kelling, a system administrator that has access to the gnu.org machine: "18:07 < iank> i see that SHA256:pmCf0NrBzSSYfg6DdgmlMzPWZzGpXXcPEz6LP1+o5Jc exists on the server". == Dependencies == * autoconf * automake * coreutils * guix * lighttpd: optional: for testing the website if you don't have Guix. * make * tar == License == This project is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.