Files and File Permissions
Introduction
Admin expects many files and directories to have write permissions. None of these write permissions are necessary for THIS to work once fully set-up and configured, except that some functionality will be limited.
Also, some files and directories are only used while "learning" the application and will not be needed after set-up.
Setup File
The one file that must have write permission for set-up is:
dat/defines.php
Out of the archive that file is empty (except for the PHP start-tag). During set-up some PHP defines are written to it.
Configuration Files
Admin can be used to edit all of the configuration files and the HTML templates file — or not. These files are:
config.ini error.ini rules.ini sections.ini translate.php htm/html.ini htm/usercode.ini htm/templates.php
These files need write permissions only if they are wanted to be editable via Admin. Otherwise they can be read-only. No sensitive data is stored in any of these files.
The main program does have evaluations in place to survive syntax errors in the other configuration files. Still, one must be careful when remotely editing a live site — but again, doing so is not a requirement and we are working on a more robust Admin editor.
Sitemap
Admin has a sitemap.xml
generator. The initial file is in the base directory and is empty and needs to be writeable. Using the Admin command sitemap
for the first time will create the sitemap file. Any time a post is added the command can be used to up date the lastmod
value for that section.
Directories
There are some directories that need to be writeable to support the functionality of uploading images, for adding/editing "pages" and for exporting and importing posts. These directories are:
files pages import
The directory for the documentation and the directories for the highlighted source files are writeable because we use a PHP application to generate them. None of those files are at all required to be used (see file TEMPLATES for how to remove the links to them from the navigation menu).