Install Appaserver ©Tim Riley Apache Group This step is optional. However, having group-centric security is completely secure and most flexible. Add yourself to the apache group. Both the apache user and group are called “www-data”. Log back in for this to take effect. Equally effective, you could add yourself to the “admin” group, or you could create an “appaserver” group. ©Tim Riley If you do either, remember to add the apache username (www-data) to this group. /etc/profile Appending dot to your path is safe and convenient. Appaserver generates many temporary files. Therefore, it should be installed in /var. Ideally, /var should be on its own filesystem. Set these global environment variables in /etc/profile. ©Tim Riley /etc/profile Remember to source this file before proceeding. This step is optional. However, having group-centric security is completely secure and most flexible. If /var is on its own filesystem, then links to cgi-bin need to be symbolic. ©Tim Riley /usr/lib/cgi-bin Set permissions for the $CGI_HOME directory. Remember, this might be either “admin” or “appaserver” group. The s-bit on a directory's group says: for all new files and subdirectories, set the group name to the directory's group, not the default group of the user creating the file or subdirectory. ©Tim Riley Leave world access to read and execute. Virtual hosts run as other user IDs, so they need to execute here. /var/www Set permissions for the $DOCUMENT_ROOT directory. Remember, this might be either “admin” or “appaserver” group. ©Tim Riley /var/appaserver Create the appaserver directory. Remember, this might be either “admin” or “appaserver” group. ©Tim Riley Remember,this must match “APPASERVER_HOME=” in /etc/profile. /var/appaserver Point your browser to the download directory. Make a note of the latest version of appaserver. ©Tim Riley /var/appaserver Change directory to APPASERVER_HOME Download the latest version of appaserver. ©Tim Riley /var/appaserver First, make sure you're in either an empty directory or an appaserver directory. The tar file doesn't have a root directory. ©Tim Riley Untar it. Compile Appaserver Compile appaserver. ©Tim Riley Compile Appaserver Successful compilation. ©Tim Riley Directory /var/log/appaserver Remember, this might be either “admin” or “appaserver” group. Make the appaserver log file directory. Have it participate in the group-centric paradigm. ©Tim Riley File appaserver.err Create the old appaserver error file. Some computer programs still send messages here. ©Tim Riley Appaserver Error File Create the first appaserver application error file. Each application gets its own error file. ©Tim Riley Appaserver Configuration File Remember, this might be either “admin” or “appaserver” group. Copy the appaserver configuration template to /etc/appaserver.config, then secure it. ©Tim Riley Appaserver Configuration File Edit the appaserver configuration file. You should only need to set the MySQL password. ©Tim Riley Appaserver Configuration File Make sure MySQL works. Make sure sql works. ©Tim Riley Create Database Create the template database. ©Tim Riley Appaserver Configuration File Edit /etc/appaserver.config Set the default database to template. ©Tim Riley Create Template Application Get the create and insert template SQL statements. ©Tim Riley Create Application Table Run the create and insert template SQL statements. ©Tim Riley Upgrade Appaserver Database Execute the upgrade scripts just in case any database changes were made. ©Tim Riley Link to /var/www Appaserver's horizontal menu is accomplished with Dynarch's hmenu. However, hmenu is no longer supported. The hmenu version deployed is an unlicensed, trial version. Two attempts to contact the author about purchasing a distribution license went unanswered. To use the vertical menu instead, set frameset_menu_horizontal_yn to 'n' in the template_application table. Apache only sees what is inside of $DOCUMENT_ROOT. Make these five directories available to apache. You may have to add “Options FollowSymLinks” to your apache configuration file. ©Tim Riley Create /var/appaserver/data Create the data directory and secure it. ©Tim Riley Link icons to /var/www Two operations have icons: delete and detail. Make these icons available to apache. ©Tim Riley At the botton-left corner of each frame, a “Top” button appears. Make this icon available to apache. Login Screen Point your browser to template. Login with nobody/changeit. ©Tim Riley Welcome To Appaserver If something is wrong, then check: 1) /var/log/appaserver/appaserver_template.err 2) /var/log/apache2/error.log Become role=System. ©Tim Riley Add Yourself Choose the menu sequence: <Insert><Security><Appaserver User> ©Tim Riley Add Yourself Enter your user name information. This flag overrides APPLICATION.frameset_menu_horizontal_yn. Press <Submit> ©Tim Riley A convenient mechanism to generate passwords is to allow the user to log in with the password of “changeit”. Then instruct the user to run Change Password. Add Yourself The bottom frame automatically displays the Role Appaserver User table, ready for inserting. Press <Submit> Assign yourself to the System role. ©Tim Riley Add Yourself You're in! ©Tim Riley Log In As Yourself Remember? Your password is “changeit”. ©Tim Riley Deactivate User=nobody Choose <Lookup> <Security> <Appaserver User> ©Tim Riley Deactivate User=nobody Query where login_name = 'nobody' ©Tim Riley Deactivate User=nobody Delete the password. An empty password prevents logging in. ©Tim Riley Deactivate User=nobody Press <Submit> ©Tim Riley Change Your Password Choose the process “Change Password.” ©Tim Riley Change Your Password Press <Submit> Type in and confirm your new password. ©Tim Riley Create Empty Application Select <Process> <Create Empty Application> ©Tim Riley Create Empty Application The Destination Application becomes the database name. So, only letters and numbers. ©Tim Riley Create Empty Application Set the default database in /etc/appaserver.config. The executable “sql” will now connect to your new database. ©Tim Riley Create Empty Application You can override the default database by setting $DATABASE. ©Tim Riley