The Server, PHP & Permissions
la.plume Micro CMS will function correctly on most 'shared' web hosting packages such as are readily available to the public at low cost. It may—or may not—on free hosting packages with more limited services or web space provided by an intermediary: an academic institution for example.
At the very least the CMS must have 'permission' to create, write and delete files. The ideal is the popular combination of Apache Web Server running on a UNIX-based operating system with the mod_rewrite module enabled and PHP as CGI/FastCGI. PHP must be Version 5.2.0 or later.
The web server
la.plume Micro CMS runs on web servers with PHP (the scripting language). The server can be UNIX-based (Linux, FreeBSD, Ubuntu) with Apache Web Server, or Windows-based with Microsoft Internet Information Services (IIS). However, the CMS is primarily designed for Apache Web Server with the mod_rewrite module enabled.
This has nothing to do with the personal computer you use (unless you happen to be running it as a web server). It refers to the type of computer where the website is located, typically a web hosting package rented from a web hosting provider. Apache Web Server is the most popular server software on the World Wide Web and Apache web hosting packages are readily available at low cost.
The mod_rewrite module is for Apache and is typically enabled by web hosting providers. If your web space is free, or provided by, for example, an academic institution, the mod_rewrite module and even Apache may not be available and the server may be Windows IIS—in which case la.plume Micro CMS may run but not all features will be available.
During setup, the CMS attempts to detect some information about the server and install the system in one of three modes:
(1) Apache Web Server with the mod_rewrite module enabled: the CMS should be fully functional.
(2) Apache Web Server without the mod_rewrite module enabled: the CMS will be functional but the 'public' web page ULRs (addresses) will include a subfolder 'cms' and all pages except the home page will include .php at the end of the URL.
(3) Windows IIS: as (2) but visitor comments will not work and the contact page will display the webmaster's email address instead of a contact form.
la.plume Micro CMS requires write permissions. During setup, the CMS attempts to detect the server's write permissions and if they don't exist the system should not install. It will not work. However, most web hosting packages rented from mainstream web hosting providers will have the required write permissions regardless of whether the server is Apache or Microsoft IIS.
Write permissions are necessary for the CMS to write new files each time you create a new web page. This doesn't just apply to la.plume Micro CMS but blogging and content management systems in common use (WordPress for example). The recommended permissions are:
Folders: 0755 [ CHMOD ]
Files: 0644 [ CHMOD ]
When Apache is configured to run PHP as CGI/FastCGI, the folders and files are normally 'owned' by the FTP user "username" who uploaded the folders and files to the server. Effectively, it means PHP (the CMS) can create and write files as necessary. If PHP is running as an Apache module rather than CGI/FastCGI, Apache is the user—typically "apache" or "nobody" and PHP cannot write files unless the permissions are elevated (eg: 0775 for folders and 0666 for files) —a potential security issue. la.plume Micro CMS does not attempt to elevate write permissions.
If PHP (the CMS) can create files it then becomes their 'owner' and can write to files it has created. la.plume Micro CMS therefore attempts to create the files that must be writable, either on setup or when a new page is created. If that fails there isn't much that can be done other than to contact the server administrator (if you are running or managing your own server, you probably know the fix).