GenieGate, Version 1.1.0 (PHP 5) manual

Directory Structure

GenieGate uses a special subdirectory (called ~/geniegate) in your HOME directory for it's libraries, configurations and files. Please note that this is NOT the same as the document root of your web server.

The web files are in a separate directory, these are small, simple scripts designed to do little more than locate and run procedures from within the program. This design allows most of the program code, passwords and files to be located safely out of web space, even if the web server should become mis-configured, your database settings will not be revealed to outside hackers.

  • ~/geniegate/

    For easier installation and general convenience, it is highly recommended that you place this in your HOME directory, ($HOME/geniegate/ for UNIX users). Under normal circumstances, this greatly simplifies the installation, as the other scripts will detect this and use it automatically.

    [Important] Important

    Many web based "control panels" disguise and even hide your HOME directory from view. 90% of problems can be attributed to confusion over where this home directory is located. If you are having difficulties, I suggest trying ftp. (preferably sftp).

    If in doubt, make sure you understand what the home directory is before giving up. Once this is determined, installation usually proceeds quite smoothly. Often, PHP reports errors when it cannot find files. These error messages can be very helpful when tracking down problems, look for the "include_path" message. It should say something along the lines "/home/user/geniegate/global". Look at the path leading up to the word "geniegate" this is most likely where GenieGate believes your home directory to be.

    Furthermore, please do not hesitate to contact us or check the web site in the event you are experiencing difficulties.

    It is extremely important that your private ~/geniegate is not accessible on the web because it contains your database login credentials and possibly passwords. It is recommended that no PHP script containing such information ever be placed in web server space, as a mis-configured web server could accidently allow such information to be made available to the public.

    Things to watch out for.  One not-so common problem is cases where the file ownerships are inaccurate. This can crop up when the login ID of the web files do not match the login ID of the home directory. In such cases you may need to specify the path to ~/geniegate/ manually or ensure the file ownerships correspond to your home directory.

    If you cannot use the HOME directory or if you are using a platform that does not support HOME directories, you may define GENIGATE_HOME in the common.php web files.

  • web/

    There are two subdirectories from here, web/admin and web/users these refer to the administrative and user portions of GenieGate

    These files are accessed by the web, you can place them most anywhere in web space you like, but make sure the file ownerships are the same as your own, as they use this information to locate ~/geniegate If you split the files into more directories, each one must have its common.php in the same directory.

Before we proceed to the "Quick Start" section, it is assumed that your web directory is some place in web space and can be reached through a web browser. Your ~geniegate/ has been placed some place outside web space, preferably in your HOME directory.