AWBS Installation Guide

From AWBS Wiki
Revision as of 20:58, January 16, 2009 by Samdrams (Talk | contribs)

Jump to: navigation, search

System Requirements

   * Linux/FreeBSD/Windows2003
   * PHP v4.3.8-5.0.x and 5.1.x (safe_mode off)
   * MySQL Database Server v4.x-5.x (strict mode off)
   * Apache or IIS5/6 Web Server
   * Curl + SSL v7.10 or better (php compiled Curl required)
   * Ability to setup CRON jobs or scheduled tasks
   * Ability to setup password protected directories. (.htaccess)
   * Secure site (optional)(no cross domain secure URLs)
   * Compiled GD with freetype support needed for human verification system and reports.

NOTES:

Ioncube encoded version Only, Zend Version has been discontinued.

Ioncube is not compatible with MMCache or other 'untrusted' extentions.

Viewing your phpinfo() output, you will be able to see most of the system requirements. Contact your server admin if you are not sure or run the pretest.php script (located in the tools directory) to see if your server passes the basic requirements tests.

Other settings (php.ini settings)

safe_mode Off
allow_url_fopen On
max_execution_time 120 or higher
session.auto_start Off
magic_quotes_gpc On
memory_limit 128M or higher
register_long_arrays On
magic_quotes_runtime Off
output_handler no value
short_open_tag On

Please note: Some of the above settings pertain to only certain versions of php. Check to see if you have these settings in your php.ini. Consult with your server admin if you are not sure.

Install Checklist

  1. Create a new MySQL database with new user that has full rights to it.
  2. Upload AWBS files and license file.
  3. Edit dbconfig.php file.
  4. Run install script.
  5. Delete install directory.
  6. Secure admin, includes, and tools directories.
  7. Configure scheduled 'cron jobs'.
  8. Configure.
  9. Customize as desired.
  10. Test.
  11. Go Live!

Portal Mode option

Note: Portal Mode option is available in AWBS 2.8.0 and newer versions

Portal mode is designed for those who do not wish to use AWBS as their website.
Portal mode can be enabled during the installation process or turned on after installation in the System Options, Look and Feel section.
Select True for the Portal Mode setting.
Portal mode automatically uses index5.php template (Homepage 5).

If you enable Portal Mode, you must configure a Hosting Home URL in the Website/Company Info page of the configuration as well.
Set the Hosting Home URL to your main website's URL.

It is recommended AWBS be installed to a directory under your web directory if using Portal Mode, however it is not required.

Installation

Create Database

Create a new MySQL database and new user with full rights to the database. Check with your server's control panel documentation for details on how to create databases on your system.

Upload files

Unzip the AWBS full install zip file with paths in your computer. Upload all files maintaining the directory structure. Upload in binary mode. Note: Many ftp clients have problems corrupting encoded files. We recommend Total Commander as a tool for uploading files as well as many other functions.

OR

Upload the AWBS full install zip file and unzip on your server. If you do this, be sure your files are owned by the user who owns the site.

Edit dbconfig.php file

Open the includes/dbconfig.php file for editing using Total Commander or your control panel's file editor, nano, vi or whatever text file editing tool you have.

Remove the following line:

$needs_edit=1;

Edit these lines with your database information:

$dbhost (change only if your server won't connect to MySQL via 'localhost' or if your db is located on another server)
$dbusername
$dbpassword
$dbdatabase

(Enter your information between the quotes in each line, overwriting the sample data that is there)

Edit this line with your correct physical path to your files:

$workdir

Linux example: /home/userdir/public_html
Windows example: c:\sites\sitename\webroot

Contact your server admin or control panel documentation if you do not know your path to your web directory. Each system uses it's own path structure and many servers are unique as per how they were installed.

Edit this line with your domain name preceded by a dot:

$cookie_domain

Save your changes and upload if editing remotely.

Run the install script

Open a new browser window. Surf to http://[your_AWBS_domain]/install/install.php (Substitute your domain name for [your_AWBS_domain])

You must have read the AWBS license agreement and agree to abide by the terms to continue with the install.

Once you have read the license agreement, Check the box and click "Begin Install"

Welcome: (License Check)

The next step is to verify your license. You should see something like the following:

License Status: Active

Your licensing has been verified and your system is now activated.

Once the license has been verified click the box at the bottom of the page labeled "Continue With Install"

Note: Error 5 indicates the license.dat file is missing. Be sure you have uploaded the license.dat file to the same directory that you uploaded the AWBS files.

Error 3 indicates your server cannot reach our license database via port 80. Ensure your server has internet access via port 80.

Step 1:

The next step is to check your php.ini configuration settings and make sure everything is ready to go.

You should see something like the following:

Safe Mode:  OK
Register Globals:  OK
Session Cookies:  OK
Compiled Curl:  OK

Environment Tests appear OK. Let's continue.....

Once the above information has been tested, click the box at the bottom of the page labeled "Continue to step 2"

Step 2:

The next step is to check your database settings and make sure everything is ready to go.

You should see something like the following:

DB User/Pass:  yourdbusername/yourdbpassword
Database Name:  yourdbname
DB User/Pass:  OK
DB Connect Test:  OK
Database Exists:  OK

Database Tests appear OK. Let's continue.....

Once the above information has been tested, click the box at the bottom of the page labeled "Continue to step 3"

Step 3:

The next step is to check your database structure and make sure the database is ready to go.

You should see something like the following:

Database Structure Creation appears OK. Let's continue....

Once the above information has been tested, click the box at the bottom of the page labeled "Continue to step 4"

Step 4:

The next step is to populate the database with your company's information. Fill in the following info and then continue.

You will need to fill out the information like shown below:

Company Information
Company Name:  
Company Address1:  
Company Address2:  
Company City:  
Company State:  
Company Zip:  
Company Country:  
Company Phone:  
Company Fax:  
Admin Email:  
Support Email:  
Sales Email:
Billing Email:

Server Settings

Edit the licensed urls if necessary. Add/Remove the www. as needed/desired, edit http and https as needed, and add any subdirectory information to the url. Do NOT add a trailing slash. If you do not wish to use https, make the bottom url the same as the top.

If you alter the domain name or subdomain, it will not match your license and you will have license errors.

Non-Secure URL: examples: http://[your_licensed_domain_name]/directory or http://[your_licensed_domain_name] or http://[your_licensed_subdomain]

Note: The URL above should reflect the url you surf to to get to your awbs site.

Server Admin

This is where you will establish the 'super admin' account and login. The password can be changed later.

Remember this login!

Admin First Name:  
Admin Last Name:  
Admin Username:  
Admin Password:  

Once you have the above information filled out as needed, click the box at the bottom of the page labeled "Continue to step 5"

Step 5:

AWBS installation is complete!

At this point, the basic install is complete.

Click the box labeled "Finish Install"

Delete the install directory

Remove or rename and relocate the install directory. This is a security measure, you don't want anyone surfing to it.

Secure the admin, includes and tools directories

Most hosting control panel systems provide a link to setup directory password protection. Most use .htaccess files. Consult with your hosting control panel documentation for details on how to secure directories. If you do not have a Hosting Control panel, please see the following article on .htaccess protecting your folders manually: Setting Up .htaccess Protection

Configure your cron jobs

You will need to schedule 4 files to run.

master_cron.php every 15 or 10 minutes
invoice_cron.php once per day
updateexp.php once per day
updtransfers.php once per day

The files are located in the tools directory.

In most cases your command will look like this:

*/15 * * * * php -f /your/path/to/awbs/tools/master_cron.php

(Substitute your correct path in the above example.)

This would run the master_cron.php file every 15 minutes.

Another example:

10 5 * * * php -f /your/path/to/awbs/tools/invoice_cron.php

This would run invoice_cron.php file each day at 5:10am.

If you get no errors in the crontab or the scheduling program you are using, your crons are configured correctly. (make sure it is configured to send email or check the logs as per your system.)

Your install is complete, now you need to login as super admin and configure AWBS as per your company needs, customize as desired and test.

Easy cPanel Install

(Note: this page is based upon the cpanel x theme. Icons and links may have different but similar names/icons if you have another cpanel skin)

Login to cPanel

Create Database

  1. Click the MySQL Databases icon.
  2. In the Current Databases: section enter the desired database name in the New Database field.
  3. Click the Create database button.
  4. Click the Go Back link.
  5. In the Current Users section enter the desired username in the Username field.
  6. Enter the desired password in the Password field.
  7. Click the Create User button.
  8. Click the Go Back link.
  9. In the Add Users to Your Databases section, select the database you just created and the user you have just created in the dropdown boxes. Verify that the ALL checkbox is checked for privileges.
  10. Click the Add User to Database button.
  11. Document your db name, username and password for future reference.

Upload files

  1. Click on the File Manager icon.
  2. Navigate into the public_html directory by clicking on the folder icon to the left of 'public_html'.
  3. Click on Upload file(s).
  4. Click the first Browse... button, select the full install AWBS zip file that you downloaded from the AWBS download area.
  5. Click the second Browse... button, select the license.dat file you got when you purchased AWBS.
  6. Click the Upload button.

When the upload is complete, click on the filename of the AWBS full install zip. In the top right pane, click Extract File Contents. Once the zip has been extracted, you can delete the zip file.

Edit dbconfig.php file

  1. Navigate into the includes directory by clicking the folder icon beside includes.
  2. Click on the filename dbconfig.php. In the top right pane, click Edit File.
  3. Remove the following line:
    $needs_edit=1;
  4. Edit these lines with your database information:
    $dbusername
    $dbpassword
    $dbdatabase
    (Enter your information between the quotes in each line, overwriting the sample data that is there)
  5. Edit this line with your correct path to your files:
    $workdir
    Most cPanel servers paths would be like this:/home/userdir/public_html Substitute 'userdir' with your cPanel login username.
  6. Edit the following line with your domain name preceded by a dot:
    $cookie_domain
  7. Click the Save button to save changes to the dbconfig.php file.
  8. Close the edit window.

Run the install script

Open a new browser window. Surf to http://[your_AWBS_domain]/install/install.php (Substitute your domain name for [your_AWBS_domain])
Note: You must have read the AWBS license agreement and agree to abide by the terms to continue with the install. Once you have read the license agreement, Check the box and click "Begin Install"

Welcome: (License Check)

The next step is to verify your license. You should see something like the following:

License Status: Active

Your licensing has been verified and your system is now activated.

Once the license has been verified click the box at the bottom of the page labeled "Continue With Install"

Note: Error 5 indicates the license.dat file is missing. Be sure you have uploaded the license.dat file to the same directory that you uploaded the AWBS files.

Error 3 indicates your server cannot reach our license database via port 80. Ensure your server has internet access via port 80.

Step 1:

The next step is to check your php.ini configuration settings and make sure everything is ready to go. You should see something like the following:

Safe Mode:  OK
Register Globals:  OK
Session Cookies:  OK
Compiled Curl:  OK

Environment Tests appear OK. Let's continue.....

Once the above information has been tested, click the box at the bottom of the page labeled "Continue to step 2"

Step 2:

The next step is to check your database settings and make sure everything is ready to go. You should see something like the following:

DB User/Pass:  yourdbusername/yourdbpassword
Database Name:  yourdbname
DB User/Pass:  OK
DB Connect Test:  OK
Database Exists:  OK

Database Tests appear OK. Let's continue.....

Once the above information has been tested, click the box at the bottom of the page labeled "Continue to step 3"

Step 3:

The next step is to check your database structure and make sure the database is ready to go. You should see something like the following:

Database Structure Creation appears OK. Let's continue....

Once the above information has been tested, click the box at the bottom of the page labeled "Continue to step 4"

Step 4:

The next step is to populate the database with your company's information. Fill in the following info and then continue. You will need to fill out the information like shown below:

Company Information
Company Name:  
Company Address1:  
Company Address2:  
Company City:  
Company State:  
Company Zip:  
Company Country:  
Company Phone:  
Company Fax:  
Admin Email:  
Support Email:  
Sales Email:
Billing Email:

Server Settings

Edit the licensed urls if necessary. Add/Remove the www. as needed/desired, edit http and https as needed, and add any subdirectory information to the url. Do NOT add a trailing slash. If you don't have a secure site, use the same URL in both fields.

Do NOT enter a URL that does not contain your AWBS files! The URL must point to where you have uploaded the files. If you alter the licensed domain name or subdomain, it will not match your license and you will have license errors.

Non-Secure URL: examples: http://[your_licensed_domain_name]/directory or http://[your_licensed_domain_name] or http://[your_licensed_subdomain]

Note: The URL above should reflect the URL you surf to to get to your AWBS site.

Server Admin

This is where you will establish the 'super admin' account and login. The password can be changed later.

Remember this login!

Admin First Name:  
Admin Last Name:  
Admin Username:  
Admin Password:  

Once you have the above information filled out as needed, click the box at the bottom of the page labeled "Continue to step 5"

Step 5:

AWBS installation is complete!

At this point, the basic install is complete.

Click the box labeled "Finish Install"

Delete the install directory

Go back to your cPanel browser window. Click on the Up one level link. Click on the install directory name (not icon). In the top right pane, click to delete this folder and all files under it link.

Secure the admin, includes and tools directories

  1. In cPanel, close the file manager window. Click the Password Protect Directories icon.
  2. Click on the admin directory name (not icon)
  3. Check the Directory requires a password to access via the web check box, (you must check this to activate password protection).
  4. Enter some text as desired in the Protected Resource Name (will display in browser's password mask)
  5. Click the Save button.
  6. Click Go Back
  7. Scroll down to the Active Users section.
  8. Enter a username in the User Name field and a password in the Password field.

Remember this login will be needed by all who enter the protected directory. This will include any AWBS users who you give any admin rights to.

Additional users can be added. Click the Add/modify authorized user button. Repeat above for the includes and tools directories.

Configure your cron jobs

  1. From your cPanel home page, click on the cron jobs icon.
  2. Click the Advanced (Unix Style) button.
  3. Enter an email address you will be able to check in the Please enter an email address where the cron output will be sent field.
  4. Edit the Minute and Hour fields so that you have scheduled for once per day at a low traffic time on your server. Example: If you enter 0 for Minute and 5 for Hour, this will run the updtransfers.php cron at 5:00 AM each day.
  5. Enter php -f /home/userdir/public_html/tools/updtransfers.php in the Command field. (Substitute your cPanel username in place of 'userdir' and do not paste the quotes)
  6. Click the Commit Changes button.
  7. Configure the updateexp.php and invoice_cron.php files also for once per day, but at a different time than the updtransfers.php cron. You can copy the command field from the original, then just edit the file name updtransfers.php to updateexp.php and change the Hour, then save.
  8. Repeat for invoice_cron.php.
    NOTE: It is advised to run the invoice_cron.php after the updateexp.php and updtransfers.php files each day.
  9. Repeat for master_cron.php, however change the Minute field to */15 and the Hour field to *. This will run the master_cron.php every 15 minutes.

Once you are satisfied your crons are functioning properly (after configuring and testing your AWBS install), you can remove your email address to minimize your incoming emails.

Installation is complete, now you can login as super admin and start configuring, customizing and testing.

Cron Job Info

There are 4 scripts that need to be scheduled. We refer to them as 'cron jobs'. Schedule them using whatever scheduling tool is available to you on your server. Linux/FreeBSD servers have crontab, which can be used to schedule them. Windows servers may have a task scheduler or you may need to install a 3rd party scheduling software.

master_cron.php - schedule every 10 or 15 minutes as desired.

The master_cron.php will run all jobs in the open job queue.

invoice_cron.php - schedule only once every 24 hours at a low traffic time on your server.

The invoice_cron.php is responsible for generating invoices, sending out invoice notice emails, late notices, etc. to customers. It also charges the credit cards for recurring invoicing, if your processor is supported.

updateexp.php - schedule once every 24 hours at a low traffic time

The updateexp.php cron checks for domains expiring in 60, 30, 7 and 0 days and sends out expire notices to customers. If customers have auto renew checked on their domain and have credit in their account or a credit card on file, updateexp.php will send them a notice at 35 days prior to expire notifying them their domain will be auto renewed in 5 days.

updtransfers.php - schedule once every 24 hours at a low traffic time

The updtransfers.php will check for completed transfers at the registrar and update the status in the AWBS database.

Example crontab command AWBS version 2.4.0 and newer:

cPanel example:

php -f /home/userdir/public_html/tools/master_cron.php

(replace 'userdir' with your cpanel username)

Use the same format for any server using crontab for scheduling, example:

php -f /path/to/AWBS/files/tools/cron_filename

Example crontab command prior versions:

cPanel example:

php -f /home/userdir/public_html/tools/master_cron.php /home/userdir/public_html

(replace 'userdir' with your cPanel username)

Use the same format for any server using crontab for scheduling, example:

php -f /path/to/AWBS/files/tools/cron_filename /path/to/AWBS/files

HINT: /path/to/AWBS/files will be what you have set as the workdir path in the dbconfig.php file.

Please note:

The above descriptions are basic functionality of each file. They each have mulitple functions and all should be scheduled to ensure all features and functionality of AWBS work for you.

Optional Cron Job

lostpatrol.php - schedule as desired no more than once per day. This cron will remove all domain names in a lost status and move them to the domain archive table of the database. This tool can also be run manually in the configuration area of AWBS.

Directory Security (.htaccess)

Securing the admin, tools and includes directories is very important!

Upon completion of install, you may see a popup warning page when entering the admin area if your directories are not secure.

Secure your directories with a username and password that you will remember, as you will be prompted for that login when entering the admin area and on other occasions such as sending customers email and various other functions during normal administration.

Keep in mind that all users with admin rights will need this login information.

Setting up directory security in cPanel

  1. Login to cPanel. Click the 'password protection' or 'password protect directories' icon or link, depending upon your cPanel theme and version.
  2. Navigate to the admin directory by clicking on the folder icons and click on the word admin.
  3. Check the box that reads: Directory requires a password to access via the web
  4. Enter what you would like to appear in the login prompt for the directory security in the:
  5. Protected Resource Name field. This is for display and can be anything you like.
  6. Click the Save button.
  7. Click the Back link.
  8. In the Username field, enter the username you wish to use for your directory security.
  9. In the Password field, enter the password you wish to use for your directory security.
  10. Click the 'Add/modify authorized user' button.

Repeat the above for both the includes and tools directories.

Setting up directory security in DirectAdmin

  1. Use the DA file manager to navigate to the admin directory and click the protect link.
  2. Check the box next to:
    Use Password Protection on /[path]/admin
  3. Protected Directory Prompt: type what you want to appear at the login prompt
  4. Set/update user: enter the username you wish to use for directory security
    and password: enter the password you wish to use for directory security
  5. Re-enter password: enter the above password again
  6. Save.

Repeat above for both includes and tools directories.

Other systems

Different systems offer different tools for directory security. Most control panels will have a gui method to setup directory security. Consult with your control panel's documentation or your server administrator for specific instructions on setting up your directory security.

NOTE: Some systems even when the directory security is in place, will still trigger the popup page warning you of insecure directories when entering the admin area. If your directories are secure and you still get this pop up page, go to the Extended System Configuration page of the AWBS Configuration area and change:

supress_warnings to a 1

Tips

TIPS: Add the following code to your .htaccess file (in your AWBS root directory) to add extra speed to your site:


<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Expires "Thu, 15 Apr 2018 20:00:00 GMT"
</FilesMatch>


Or, for Windows, in the IIS Manager right click on the folder you want to add content expiration to (images, js etc...).
Choose HTTP Headers and then turn on Enable Content Expiration.
Choose a date at least 30 days in the future.