Genesis Web Authoring System v2.1.0.0033

Manual Install Instructions

Last modified on Tuesday, November 04, 2003.

This product has been designed for fast and easy installation. Follow these simple steps to get the script up and running in just a few minutes.

  1. Download - English only

    genesis.2.1.0.0033.en.tar.gz - 130 kb

    Download - All languages

    genesis.2.1.0.0033.tar.gz - 647 kb

    On Unix, the archive can be decompressed with the command:

    tar -fxz genesis.2.1.0.0033.tar.gz

    On Windows, it can be decompressed with Winzip from www.winzip.com.

    If you install a version other than 2.1.0.0033, follow the install file included with it, rather than this one.

    Access the download folder by HTTP or FTP for other versions and other archive formats, such as zip.


  2. Build Directory Structure

    The script uses a specific directory structure to organize its libraries and data files. When the downloaded archives are expanded, they will automatically expand into the desired structure. You must retain that structure when transferring files between computers.

    For your reference, Appendix II contains a detailed list of all files and folders, describing what they do and where they belong.

    Note: this script uses relative paths extensively, and so its very demanding about its directory structure. It does not use absolute paths at all, however. That means you don't need to enter the absolute path into the script configuration files (if it needs to know its absolute path, it will auto-detect it).


  3. Customize Script

    In this step, you customize the CGI script files. Some library and data files also use the ".pl" extension, but those files must not be renamed or edited. The only files that you should edit are:

    • genesis/index.pl

    99% of this script is configured after the install is complete, using the admin control panel. Only two things need to be configured during installation:

    1. Path to Perl

      In 99% of cases, the default path to Perl of "/usr/bin/perl" will work and you won't need to edit the source code at all. In the remaining cases, you must edit the first line of each script file to point the appropriate path. Common alternate locations include "/usr/local/bin/perl" and "/usr/bin/perl5".

      How do you know if you will need a custom path? Your web hosting provider should tell you. Or if you have existing Perl CGI scripts that work, you can copy the first line from them. Or if, after following all the instructions here, the script returns "Internal Server Error" when you visit it with a browser, the problem may be the path to Perl, and you may want to experiment with the alternate locations. Internal Server Error can mean a lot of things and the path to Perl is only one of them.

      When you open the script file to edit the path to Perl, use the most hardcore text editor you have. Like, Wordpad on Windows, Simple Text on Mac, vi on Unix. Do not use high-level editors like Microsoft Word or HTML editors like FrontPage. There is a risk that these high-level editors will damage the code.

    2. Perl CGI File Extension

      In 99% of cases, the default CGI file extension of ".pl" will work and you won't need to change it. In the remaining cases, you must rename the CGI script files to use the appropriate file extension for your system. Some require ".cgi", and others require weird extensions like ".plx".

      How do you know what extension is needed? Your web hosting provider should tell you. Or, if you have existing Perl CGI scripts that work, you can copy whatever extension they use. Or if, after following all other instructions listed here, your script returns its own source code when you visit it with a browser, or returns some other error, then the problem may be the extension. You may want to experiment with both ".pl" and ".cgi".

    There are loose standards for these values - /usr/bin/perl and .pl - but not all web hosts adhere to them. This is not our fault. If your web host requires you to use /usr/foo/perl and the .cgi extension, please take this into account while reading program documentation that continues to make reference to /usr/bin/perl and "script.pl". Our docs are centralized and are not aware of what kind of strange values you've been forced to use. When our docs say "script.pl", and on your system you've been forced to use "script.cgi", then you need to treat "script.pl" as "script.cgi" while reading the document.


  4. Transfer Files

    Unless you're doing all of your work on the web server itself, you must transfer the files and folders over to your web server. When transferring script files or data files in FTP, always use ASCII mode.

    If your web server requires that CGI scripts be installed into a special folder, like "cgi-bin" or "cgi", then install all of the files to that folder.


  5. Set Permissions

    The easiest way to set permissions is to run the "setperms" script appropriate for your platform. Run "setperms.bat" on Windows and either "setperms.sh" or "/bin/sh setperms.sh" on Unix.

    If you have only FTP access to a Unix server, then you can set the permissions with FTP while you're transferring. Use the permissions guide in Appendix II below.

    If you have a Windows web server without shell access, then typically you won't be able to run "setperms.bat" from the command line nor set permissions via FTP. In this case, the best approach is to try an install anyway (the server file system is often read/write/exec by default). If this doesn't work then contact the tech support people and ask them to run setperms.bat for you. If tech support can't help, you can use the Auto Installer process. It will attempt a few work-arounds to remotely set Windows file permissions. The methods don't always work so keep your tech support people as a backup.

    Advanced:

    CGI processes are usually executed under a user context different than your login account. Your login account owns the files and folders that store data. Because CGI processes are only allowed to write to files and folders which they own, or for which they've been given special permission, we take the extra step to make all data files and folders world-writable (any and all processes are allowed to write to them). That way, data can be saved by any user/process, and thus the script will work no matter how your CGI privileges have been configured.

    Obviously, if your web server runs CGI processes under your login account context and not a separate context, then you may apply more restrictive permissions. Data folders can have permission 755 instead of 777; data files can have permission 744 instead of 766. If you are using CGI Wrap, or if you are installing to Hypermart.net or Netfirms.com, then this applies to you and you may use the more restrictive permissions.


  6. Test

    Visit the URL "genesis/index.pl" to get started.

    (In this example we use the ".pl" file extension for Perl CGI scripts. As mentioned earlier, some web servers require the ".cgi" extension or some other. Use whatever file name you decided upon earlier in section 3 part 2.)

    Your default username and password are "webmaster" and "658uwantit". If you had previously installed this product, use your previously-configured password.


Manual Install Complete!



Appendix I: Error Handling

If you run into trouble, consider an automated install. The automatic install can self-heal from most common error conditions.

Free custom installs are available from the script author (as of Tuesday, November 04, 2003). To take advantage of this service, first attempt an automatic install. If it fails, you will have the option to forward an install request. Installs are usually finished within 24 hours.

You can also visit the Discussion Forum with a description of your problem. It stays very busy and there are many helpful people there.

The Auto-Installer is here: install.xav.com


Appendix II: Directory Structure and File Descriptions


This file manifest applies to version 2.1.0.0033. If you are installing a different version, use the install.html file included with it.

The file permissions are modeled on the default Apache or Microsoft IIS permissions system, where a user account owns the files and a separate, unprivileged account, executes the CGI scripts. This is not the most secure configuration in the world, but it is the default that has been established, and so these file permissions follow it. If you have a system where your CGI scripts are executed under your user account context (as when using CGIWrap, when using setuid Perl, using Hypermart.net or many other free web hosts, etc.) then you can and should replace all permissions with 755/rwxr-xr-x.


Icons
folder
script file
data file
optional file
Required
Required file or folder
Optional file or folder
Permissions
755 / rwx r-x r-x read and execute
766 / rwx rw- rw- read and write
777 / rwx rwx rwx read, write, and execute


Is Required Object

Permissions File / Folder Description
755 / r-x genesis main product folder
755 / r-x     index.pl Main CGI script file
755 / r-x     install.html Manual install instructions
755 / r-x     license.html License agreement
755 / r-x     setperms.bat Windows batch file for setting all NTFS permissions
755 / r-x     setperms.sh Unix shell script for setting all file permissions
777 / rwx genesis/script_data hold system settings, account settings, templates
755 / r-x        .htaccess prevents web access to data folder
755 / r-x        default.htm prevents web access to data folder
755 / r-x        index.html prevents web access to data folder
766 / rw-        security.txt stores system settings
777 / rwx genesis/script_data/accounts holds user account preferences and passwords
766 / rw-           webmaster.txt default account
755 / r-x genesis/script_data/libs holds Perl libraries which aren't needed for each request
755 / r-x           html_editor.pm Contains the HTML Editor interface
755 / r-x           manage_users.pm Contains the Manage Users interface
755 / r-x           my_account.pm Contains the My Account interface
755 / r-x           network.pm Contains email and HTTP network libraries
755 / r-x           system_settings.pm Contains System Settings, Event Log, Update License
755 / r-x           template_editor.pm Contains the Template Editor interface
755 / r-x           user_defined.pm user-defined subroutines
777 / rwx genesis/script_data/powerusr dev tools
755 / r-x           af.txt
755 / r-x           ar.txt
755 / r-x           ca.txt
755 / r-x           cn.txt
755 / r-x           cz1250.txt
755 / r-x           cz88592.txt
755 / r-x           de.txt
755 / r-x           dk.txt
755 / r-x           english.txt
755 / r-x           es.txt
755 / r-x           fr.txt
755 / r-x           function_spec.txt extracted code comments
755 / r-x           global_no_translate.txt translator data file
755 / r-x           hacksubs.pl dev tool
755 / r-x           hu.txt
755 / r-x           it.txt
755 / r-x           lang.pl dev / translate tool
755 / r-x           lib.pl dev lib
755 / r-x           nl.txt
755 / r-x           no.txt
755 / r-x           pt.txt
755 / r-x           pt_br.txt
755 / r-x           ru.txt
755 / r-x           translate.pl translator
777 / rwx genesis/script_data/sample_sites stores Genesis Templates
755 / r-x           Advanced_6_Page_Site.template Advanced six-page site template
755 / r-x           Basic_Home_Page.template Basic Home Page template
755 / r-x           Fairy_Home_Page.template Fairy Home Page template
755 / r-x           Intermediate_6_Page_Site.template Intermed six-page site template
755 / r-x           Magazine.template template for creating a web-based magazine
755 / r-x           Multi_Upload.template demonstration of using multiple uploads in a template
755 / r-x           Stylesheet.template Stylesheet template
755 / r-x           default_html_page.txt the document text appearing in the "Edit File" window when creating a new text file
777 / rwx genesis/script_data/sample_sites/images stores binary files referenced by Templates
755 / r-x              fairy_bg.jpg misc image for Fairy Home Page template
755 / r-x              fd_blank.gif misc image for Corporate Site template
755 / r-x              luna.gif misc image for Fairy Home Page template
777 / rwx genesis/script_data/sample_sites/start_site holds the default HTML that is installed with each new user site
755 / r-x              .Stylesheet.template Template editor data file for style sheet
755 / r-x              genesis.html default website
755 / r-x              style.css style sheet for default website
777 / rwx genesis/script_data/temp temp folder used during file upload
766 / rw-           readme.txt placeholder file
777 / rwx genesis/script_data/templates templates for creating Admin User Interface
755 / r-x           template.html standard template for all HTML in UI
777 / rwx genesis/script_data/templates/af Afrikaans language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/ar Arabic language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/ca Catalan language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/cn Chinese language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/cz1250 Czech 1250 language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/cz88592 Czech ISO-8859-2 language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/de German language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/dk Danish language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/english English language-specific files for User Interface
755 / r-x              account_notify_email_2.txt template message for new account requests
755 / r-x              account_request_email_2.txt template message for new account requests
755 / r-x              strings.txt extracted language-specific strings
755 / r-x              tips.txt a few tips to start you out
755 / r-x              welcome_email_2.txt template welcome message emailed to new accounts
777 / rwx genesis/script_data/templates/es Spanish language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/fr French language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/hu Hungarian language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/it Italian language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/nl Dutch language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/no Norwegian language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/pt Portuguese language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/pt_br Portuguese (Brazilian) language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/script_data/templates/ru Russian language files
755 / r-x              account_notify_email_2.txt
755 / r-x              account_request_email_2.txt
755 / r-x              strings.txt
755 / r-x              tips.txt
755 / r-x              welcome_email_2.txt
777 / rwx genesis/web_pages default folder for user web pages
755 / r-x        htaccess.tmp Apache access control file - prevents CGI access from working by default
777 / rwx genesis/web_pages/images includes all images used by User Interface
766 / rw-           .is_user_dir protects the image file from being deleted
766 / rw-           bar_black.gif used to generate disk usage graph
766 / rw-           bar_red.gif used to generate disk usage graph
766 / rw-           icon_dir.gif file type icon
766 / rw-           icon_dir_secure.gif file type icon
766 / rw-           icon_generic.gif file type icon
766 / rw-           icon_hqx.gif file type icon
766 / rw-           icon_html.gif file type icon
766 / rw-           icon_image.gif file type icon
766 / rw-           icon_music.gif file type icon
766 / rw-           icon_pdf.gif file type icon
766 / rw-           icon_pl.gif file type icon
766 / rw-           icon_sound.gif file type icon
766 / rw-           icon_tar.gif file type icon
766 / rw-           icon_text.gif file type icon
766 / rw-           icon_zip.gif file type icon

Permissions File / Folder Description
Is Required Object



Appendix III: Upgrade

To upgrade over a previous installation, without losing data, replace only these files:

genesis/index.pl Main CGI script file
genesis/script_data/libs/html_editor.pm Contains the HTML Editor interface
genesis/script_data/libs/manage_users.pm Contains the Manage Users interface
genesis/script_data/libs/my_account.pm Contains the My Account interface
genesis/script_data/libs/network.pm Contains email and HTTP network libraries
genesis/script_data/libs/system_settings.pm Contains System Settings, Event Log, Update License
genesis/script_data/libs/template_editor.pm Contains the Template Editor interface
genesis/script_data/powerusr/af.txt
genesis/script_data/powerusr/ar.txt
genesis/script_data/powerusr/ca.txt
genesis/script_data/powerusr/cn.txt
genesis/script_data/powerusr/cz1250.txt
genesis/script_data/powerusr/cz88592.txt
genesis/script_data/powerusr/de.txt
genesis/script_data/powerusr/dk.txt
genesis/script_data/powerusr/english.txt
genesis/script_data/powerusr/es.txt
genesis/script_data/powerusr/fr.txt
genesis/script_data/powerusr/function_spec.txt extracted code comments
genesis/script_data/powerusr/global_no_translate.txt translator data file
genesis/script_data/powerusr/hacksubs.pl dev tool
genesis/script_data/powerusr/hu.txt
genesis/script_data/powerusr/it.txt
genesis/script_data/powerusr/lang.pl dev / translate tool
genesis/script_data/powerusr/lib.pl dev lib
genesis/script_data/powerusr/nl.txt
genesis/script_data/powerusr/no.txt
genesis/script_data/powerusr/pt.txt
genesis/script_data/powerusr/pt_br.txt
genesis/script_data/powerusr/ru.txt
genesis/script_data/powerusr/translate.pl translator
genesis/script_data/templates/af/strings.txt
genesis/script_data/templates/ar/strings.txt
genesis/script_data/templates/ca/strings.txt
genesis/script_data/templates/cn/strings.txt
genesis/script_data/templates/cz1250/strings.txt
genesis/script_data/templates/cz88592/strings.txt
genesis/script_data/templates/de/strings.txt
genesis/script_data/templates/dk/strings.txt
genesis/script_data/templates/english/strings.txt extracted language-specific strings
genesis/script_data/templates/es/strings.txt
genesis/script_data/templates/fr/strings.txt
genesis/script_data/templates/hu/strings.txt
genesis/script_data/templates/it/strings.txt
genesis/script_data/templates/nl/strings.txt
genesis/script_data/templates/no/strings.txt
genesis/script_data/templates/pt/strings.txt
genesis/script_data/templates/pt_br/strings.txt
genesis/script_data/templates/ru/strings.txt


Appendix IV: Uninstall

To remove the product, simply delete the folder that contains all the scripts and data files. The script does not effect anything outside of its folder.


Appendix V: Additional Resources



© 1997-2003 by Zoltan Milosevic