1.2.1 Copying files

Before Kiriwrite can be used, the files need to be copied to the correct place. After extracting the archive, the structure of the extracted archive should be like this:

Documentation – Documentation that is available in several languages.
cgi-files – The main Kiriwrite script, associated modules, installer script and language files.
 Modules – Modules for Kiriwrite are stored here.
  Database – Database modules are stored here.
  Presentation – Presentation modules are stored here.
 db – Default database directory (for file based Database modules).
 lang – The directory for language files in Kiriwrite.
 lib - Library files that are used by Kiriwrite.
 output – The output directory when pages are compiled.
misc – Miscellaneous files (mainly for developers).
non-cgi-files – Non CGI files that need to be placed outside of the cgi-bin folder.

The files in the cgi-files folder should be copied to the cgi-bin1 folder2 and the files in the non-cgi-files folder should be copied to a folder which can be accessed from the web server.

1.2.2 Setting Permissions

The following permissions should be set for the files that have been copied to the cgi-files directory (the following file list should apply to those running *nix/BSD systems):

Filename Owner Group Others
(Top Directory) RWX RX None
Modules RX RX None
Modules/Database RX RX None
Modules/Database/MySQL.pm R R None
Modules/Database/SQLite.pm R R None
Modules/Presentation RX RX None
Modules/Presentation/HTML4S.pm R R None
db RWX RX None
output RWX RX None
lang RX RX None
lang/*.lang R R None
lib R R None
lib\*.lib R R None
kiriwrite.cgi RWX R None
install.cgi RWX R None
page.html R R None


R = Read, W = Write, X = Execute/Allow directory listing

For the non-cgi files folder, read only permissions should be set on all files (and read and allow directory listings for directories) as no writing should be needed.

Once this is done, the installer script can be run by browsing to URI location of where the files in the cgi-files directory were in place and adding install.cgi to the end of it.

1The cgi-bin folder is used for storing scripts that use the Common Gateway Interface (CGI). CGI scripts are typically associated with Perl scripts but can also be C++, C, Python, shell script and many others.
2Some servers are configured so that CGI scripts can run from any directory so in this case Kiriwrite doesn't have to be placed in the cgi-bin directory.