One Page SiteUser Manual Visit One Page Site →
Getting started

System requirements

One Page Site runs on almost any shared hosting. Check this short list before you install.

Server requirements

RequirementDetails
PHPPHP 7.4 or newer. PHP 8.x is recommended. The script was developed and tested with PHP 8.2.
Web serverApache is recommended (the package includes .htaccess files). Nginx works too, but you must add equivalent rules, see below.
DatabaseNone. Data is stored in XML files.
Disk spaceAbout 3 MB for the script plus your uploaded images.

Required PHP extensions

  • gd: resizes uploaded images and creates thumbnails.
  • dom, SimpleXML and libxml: read and write the XML data files.
  • mbstring: correct handling of international characters.
  • json and session: normally enabled by default.

The optional exif extension lets the script rotate photos taken on a phone correctly. The optional fileinfo extension is not needed.

The admin dashboard shows a System status box that tells you whether the image extension is available and whether the important folders are writable.

Folder permissions

The web server must be able to write to these locations:

  • data/ (your content)
  • uploaded_images/ and thumbnails/ (pictures)
  • config.php (settings and the administrator account)

On most hosts permission 755 for folders and 644 for files works. If saving fails, try 775 / 664 or ask your hosting provider which user the web server runs as.

Apache settings

For the included .htaccess files to work, AllowOverride must be enabled for your website folder. Clean URLs (the optional "SEO friendly URLs" setting) also need mod_rewrite.

Nginx

Nginx ignores .htaccess files. Add rules that block direct access to the data/, include/ folders and to config.php, and prevent PHP execution inside uploaded_images/ and thumbnails/.

location ~ ^/(data|include)/ { deny all; }
location = /config.php { deny all; }
location ~ ^/(uploaded_images|thumbnails)/.*\.php$ { deny all; }

Never leave the data/ folder publicly readable. It contains your content files and the login attempt log.

Last updated