Web-Site Technical Information

Server Hardware

After a number of incarnations based on PC hardware (configured to run Linux server software), all of which eventually gave up due to failing hardware, the web-site is now hosted on a Raspberry Pi (see also https://www.raspberrypi.org/) the credit-card sized microcomputer. Thus the hardware costs somewhere in the region of £30.00 depending on the specific Raspberry Pi model used.

In fact a number of Raspberry Pi devices are used, each configured to host an Apache web-server, and these are run in a warm stand-by configuration:

  1. primary: Raspberry Pi Model 2 (Quad-core CPU, 1Gb RAM, external 128Gb SSD to store web-site), PIco UPS battery backup, 100Mbps Ethernet LAN
  2. secondary: Raspberry Pi Model 2 (Quad-core CPU, 1Gb RAM, 64Gb micro-SD card to store bulk of the web-site), 100Mbps Ethernet LAN
  3. fallback: Raspberry Pi Model B (Single core CPU, 512Mb RAM, external USB 200 Gb HDD to store web-site), Pi UPS battery backup, 100Mbps Ethernet LAN

As the above information indicates the server can comfortably run on a single 64Gb micro-SD card (storing all the operational software plus the web-site data).

The photos below show the main items.

Main Servers

RaspberryPiStack-Top

Both main servers in stacked case
Primary A upper (with battery backed UPS on top)
Secondary B lower
(click on picture)

Main Servers

RaspberryPiStack-Side

Both main servers in stacked case (side view)
Primary A upper (with battery backed UPS on top)
Secondary B lower
(click on picture)

Fallback Server

RaspberryPi-Fallback

Fallback server
Fallback server C (with battery backed PiUSV on top and to the right-hand side of RPi unit) with digital display
(and other, unrelated, add-ons)
(click on picture)

The servers are all attached to a 10/100/1000 LAN and have access to a Network Attached Storage (NAS) device. The NAS system contains two Hard Disk Drives (HDD), in a RAID configuration.

Server Software

The web-site is running on a Linux server running LAMP. LAMP is a model of web service solution stacks, named as an acronym of the names of its original four open-source components:

The information about service men, operations, aircraft, etc, is stored as data that is held in a MySQL database. The web-pages used to display this information are written as PHP pages which generate the reports at run-time, so that the data displayed is always the most up-to-date. There is some use of bash shell scripts. A variety of cron jobs are used to maintain the system. The database, report scripts and shells scripts are all written locally and the copyright is retained by the Squadron Association.

It should be noted that the web-pages have been defined/implemented principally for viewing on PC (laptop or desktop) on web browsers, and have not been adapted for viewing on mobile devices (smart-phones, tablets). Re-engineering pages for better viewing on mobile devices remains a future aspiration.

All of the web-site pages, documents and data are maintained in a Subversion version control system. Apache Subversion (SVN) is a software versioning and revision control system distributed as free software.

The Subversion repository is stored on the Network Attached Storage (NAS) device described in the hardware section above.

Internet Connectivity

Internet connectivity is provided by a FTTC 12 Mb upload (40 Mb download) broadband link. A 4G USB WiFi dongle provides secondary backup in the event that the main internet connection goes down.

Other

The following is a summary of the initial effort and resources (historical information) expended in putting the 550 Squadron and RAF North Killingholme Association web-site on-line:

There is obviously an on-going activity to maintain the system in addition to activities around increasing the information in the database of squadron information.