AWBS Installation Guide

From AWBS Wiki
Revision as of 00:02, June 24, 2011 by Awbsrob (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

System Requirements

View AWBS System Requirements

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 a new user that has 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.

AND

Upload the license.dat file to the web directory where you will run AWBS. For example, if your site's web directory is /home/youruser/public_html, then upload the license.dat file to the /home/youruser/public_html directory.

Instructions on where to get your license.dat file come via email when your order is filled. If you ordered your AWBS license from awbs.com, please check the email you got when the order was filled. If you ordered your AWBS license from one of our resellers, they should have provided the file to you either by way of download or they may have emailed it to you direct. Please check with your reseller if you did not receive the license.dat file.

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

Refer to the Easy cPanel Install Doc for details.

Easy Plesk Install

Refer to the Easy Plesk Install Doc for details.

Easy DirectAdmin Install

Coming Soon

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. Lost domains will be moved after 30 days by default. If you wish to archive them sooner, pass the days via cron as /tools/lostpatrol.php XX where XX is the number of days after Lost to archive.

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.