Web Server Utility Sources

 [image of the typing GNU webmaster]

(This page needs updating. Please update it.)

To maintain the GNU project web server, we use a lot of different free software. Most of them are already available on the Internet, but we also have some software which has been developed by GNU volunteers and has never been released as GNU software, because they are somewhat specific to our needs. Still, we feel that those programs should also be made available so that others can make use of them. This page is a list of such programs.

CVS Tree

We recommend storing the scripts in the usual www CVS tree. This allows easier sharing between GNU machines that maintain a full or partial image of the www.gnu.org web. See the Savannah CVS page, the “Webpages repository” information.

rotate-log

This is a shell script with the purpose of rotating accounting logs and to optionally compress old log files. A somewhat more limited script similar in operation to this is included in most Debian GNU/Linux distributions.

diffmon

This is another shell script with the purpose of making diff's of files when they change and to send an email informing about the change to a list of recipients. This script is used to keep administrators aware of changes to the configuration of the webserver and other servers. It is also used to inform editors of translations of GNU web pages into other languages about changes to the original English document.

webref

This is a program made in Emacs LISP that is used to check references in HTML documents. It takes the file input.txt as input which contains a list of HTML documents and outputs te file output.txt. The output file contains information of documents which can not be reached at all and documents which can only be reached by following more than two links. We use this to make sure that all important documents can be reached fairly easy from the main page.

new-software

This shell script creates a webpage with a list of the last 25 software releases and their ChangeLog on the FSF's FTP server.

symlinks

The primary goal is to cope with the inability of CVS to deal with symbolic files. By adding special files (".symlinks") into the CVS tree that are interpreted as specficiations to build symbolic links. The "symlinks" script can be run immediately after a "cvs update" to fix the symbolic links according to the specifications included in the ".symlinks" files.

More information about .symlinks files can be found in the Symbolic Links section of the GNU Webmaster Guidelines.

This script is not used on the live web site. Instead, the .symlinks files are transformed into RewriteRule directives.

savannahusers

It is convenient to use Savannah (savannah.gnu.org) to manage accounts on a machine that is completly unrelated to Savannah itself. For instance, the project http://savannah.gnu.org/projects/fsffr/ lists all the users who should have a shell account on the france.fsfeu-rope.org machine.

A cron job on the target machine (france.fsfeurope.org in this case) can fetch the list of users from Savannah and update the password files accordingly. Adding a user to the machine can then simply be done by adding the user as a developer of the project.

By default savannahusers only use a limited range of uid (10000 to 20000) to avoid interferences with existing users.

Complete information about this script can be found in the manual page.

LINC

LINC stands for “LINC Is Not Checklink”. It scans the website (or any other website) for broken links, generating reports. It runs on Thursdays on fencepost from user wwj's cron; output goes to /home/w/wwj/linc/reports.

planetrss.pl

This perl scripts fetches & saves 'n' feeds from planet.gnu.org using RSS feed link http://planet.gnu.org/rss20.xml in html format where it is then included in the homepage. Each feed is truncated to 'm' characters.

update-license.php

This script can be ran from the webroot to traverse through english html files replacing the old "Verbatim coping" text with the new CC license.

The Free Software Foundation is the principal organizational sponsor of the GNU Operating System. Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users. Support GNU and the FSF by buying manuals and gear, joining the FSF as an associate member or by making a donation, either directly to the FSF or via Flattr.

back to top

Translations of this page