What You Will Need
- Web Server/Hosting (That meets the minimum Server Requirements)
- Web Browser (Browser Compatibility)
- Zip Utility (Many OS's provide native support for zip extraction)
- FTP Client (FileZilla is Recommended)
- Text Editor/IDE of your choice. (IDE must offer support for PHP)
A Note Regarding FTP Clients
Users have reported problems using some "built-in" FTP clients part of "all-in-one" applications (particularly older versions of: DreamWeaver, FrontPage/Expression Web, etc) when transferring PHP files. If you experiencing parser errors (for files other then your globals.php file) or see PHP code output as HTML/plain-text you should delete your Helios files from your server and re-upload them using FileZilla, or a some other reasonable quality FTP client.
Security Note: While the shorthand "FTP" is used within the setup documentation to denote file transfer to your web server Refresh strongly recommends the use of secure FTP connections (SFTP) for all file transfer. Additionally, users should never save/store their FTP passwords locally within their FTP client (not even for SFTP connections) as doing so can pose significant security risks.
A Note Regarding IDEs
To setup Helios any text editor will work, even something as simple as Notepad is sufficent for the changes required for the setup procedure. To customize Helios a more substantial editor is recommended.
When using WYSIWYG, lightweight, non-commercial, or "universal" (multiple programming/scripting language support) editors you should ensure that HTML tags are not inserted incorrectly, PHP tags are not corrupted or converted and that the integrity of the original files is maintained after saving them within the editor. Not all editors provide professional support for PHP. One of the most common problems experienced by new Helios users is their editor incorrectly saving their globals.php file, causing roadblocks to the setup process.
Getting Started
After you have downloaded the Helios Calendar distribution zip file from the Refresh Members Site you can extract the files for upload to your webserver by using your favorite zip utility.
NOTE: Do not rename, or change from upper to lower case, any of the file names when uploading them to your site. Only the globals_dist.php file should be renamed (as described below). Renaming other files will cause your Helios install to not function properly.
Create Your Helios Calendar MySQL Database & User Account
Use your site admin console (PLESK, cPanel, or whatever your host provides) to create a database, and if needed, a user account with access to the database. Be sure to include create & alter permissions in addition to the standard Select/Insert/Update/Delete permissions for the user on the database.
Make note of your hostname, username, password, and database name for use in editing your globals.php file.
NOTE: Because the process of managing MySQL databases & users vary by host and server environment Refresh is unable to provide step by step instructions for how to do so. If you have questions regarding this part of the setup process you should consult your host's knowledge base, documentation or support.
Configure Your globals.php File
Once your MySQL database and user account are ready you can edit and rename the /events/includes/globals_dist.php file. This file will contain information referenced globally by Helios.
Open the globals_dist.php file in a text editor of your choice and edit it to provide the following information specific to your installation. You will need to include the value for your globals within the second group of quotes. For example, you would change:
define("DATABASE_HOST", "");
to:
define("DATABASE_HOST", "localhost");
NOTE: Incorrectly formatted globals will return a parse/syntax error when viewing Helios Calendar in your browser. If you see a parse/syntax error please check your globals formatting first.
Edit the following globals to your environment details:
Database Server Globals
- DATABASE_HOST - Database Host Name, IP Address or Domain. Usually, localhost
- DATABASE_NAME - The name of your MySQL database
- DATABASE_USER - Username for your MySQL account
- DATABASE_PASS - Password for your MySQL account
You can also edit your MySQL table prefix, but this is optional. By default the prefix is set to "hc_". If you prefer a different prefix you can use it by editing this global prior to setup. If you change this global after running the Web Setup Wizard your Helios install will not work properly unless you rename each table in your database manually.
- HC_TblPrefix - Prefix of your Helios MySQL datatables.
Helios Location Globals
- $rootURL - The root of your Helios Calendar location. Eg. http://www.helioscalendar.com
In almost every case you can leave the other variables under this heading as they are. If you are unsure if you should edit them or not then do not edit them.
Note: the $rootURL must contain the entire path of your install up to the /events/ and /admin/ directories. For example if your full public calendar path is: http://www.sample.com/calendar/Helios/events/ then your $rootURL would be "http://www.sample.com/calendar/Helios"
Also Note: DO NOT add a trailing slash to your $rootURL as this will add duplicate slashes in all your Helios links.
Helios Name and Contact Globals
- CalName - Used to identify your Helios Calendar. e.g.: "all you need to access (CalName) event information" (Helios RSS Page)
- CalAdmin & CalAdminEmail - Name & Email Address used to identify your calendar. Used for all emails sent by Helios to your users (public & admin).
Once you have completed the above save the file as a new file and rename it globals.php. Do not upload the globals_dist.php file, you can delete it if you want, only upload your completed globals.php file.
Upload the contents of the Helios ZIP to your web server.
IMPORTANT!: Before making any changes to a live website ALWAYS BACKUP YOUR SITE FILES & DATABASE.
If you are installing Helios on a live website it is recommended you make a backup of your existing site before uploading any new files to it. If you upload the entire contents of the zip file without checking your existing site structure first you may overwrite existing directories and/or files. This could break your site and/or other web applications which run on it. Please check twice and upload once.
In the event you rename either Helios directory (admin or event), or move the contents of your /events directory to a different location relative to the /admin directory, your globals.php file will need to be updated to reflect the new names and certain include statements may need to be updated within the Helios source code to accommodate the change.
Your local Helios Calendar ROOT directory will contain the following files:
- index.php
- read_me.html
- admin [dir]
- events [dir]
Place the contents of your local Helios ROOT directory in the directory on your web server where you want Helios to be installed.
Examples:
- If you want Helios to be the home page of your web site (ie www.yourdomainname.com) upload the contents of the Helios ROOT directory to the ROOT of your web server.
- If you want Helios to be installed in a subdirectory of your web site (i.e. www.yourdomainname.com/yourevents/) upload the contents of the Helios ROOT directory to the directory /yourevents on your web server.
Update Directory Permissions
Helios Calendar requires write access to three directories.
In many hosting environments these privileges are 0777, however, your environment may vary. If you have any questions about the appropriate configuration for your unique environment please contact your hosting support or system administrator for details.
Required:
/events/cache/
If Helios Calendar does not have write access to the cache directory it will not function.
Optional:
/events/includes/phpopenid/_HeliosCalendar_consumers /events/uploads/
If Helios Calendar does not have write access to:
- The OpenID consumers directory - Your users will not be able to login to your public calendar.
- The Uploads directory - You will not be able to upload or manage images using the TinyMCE MCImageManager plug-in.
Modify Privileges Example
If your server requires 0777 settings and you choose FileZilla (recommended) as your FTP client, to modify privileges the steps would be:
- Navigate to the directory (listed above)
- Right click on the directory, click Properties
- Check all 9 boxes or change the "Numeric value" to 777
- Click Ok
Repeat for the directories listed above.
NOTE: These directories are empty by default so if your zip utility fails to create them simply create a new directory with the name, and at the location (path), listed above before performing this step.
Run the Helios Calendar Web Setup Wizard
In your web browser of choice type the url (plus subdirectory if applicable) that identifies the location of your Helios install.
If your globals.php file is configured correctly the following error will be displayed:
Connection to a required Helios datatable is unavailable. If you have not yet done so, please run Helios Setup.
Click the link "Helios Calendar Setup" to run the Helios Setup.
Note: If you see any other error message browse to /events/setup/ within your Helios install.
Step 1) Helios Calendar Software License Agreement
Read the Helios Calendar Software License Agreement. It's important.
Once you've read, understand and agree to it, check the "I have read, understand, and agree to the Helios License." checkbox and click "Accept License Agreement & Begin Setup"
Step 2) Globals.php Review
Review the details you provided in the globals.php file. If there is an error with your globals.php file, or if Helios can't write to the the directories listed above, it will notify you. Edit the globals.php file, or change directory privileges, as needed. Once your globals.php file and directory privileges are configured correctly you will be able to proceed to Step 3.
Step 3) License Code
If you do not have your license code at hand you can login to your Refresh members account (by clicking the link provided) to retrieve it. Enter your registration code in the textbox and verify it to continue.
Step 4) Database Setup
To complete your Helios setup you will need to provide account information for your first administrator account. After you've entered the account info click "Setup Database" and Helios will create your administrator account as well as the default Helios Calendar database.
NOTE: The email address you enter here will be the username of your admin account, you'll need it and your password to login to your admin console when setup is complete.
Step 5) Start Using Helios Calendar!
Now that you're a Helios expert you may like to register for the Refresh Community Forum or follow Refresh at Twitter to join the conversation about Helios Calendar and get updates from Refresh Web Development.
Clean Up, Optional Settings & Localization
Once installation is complete you will need to delete the /events/setup directory. After deleting it you will be able to login to your Helios Calendar admin console with the account you created in Step 4 above. Links will also be provided to the public calendar and admin console at the conclusion of the Web Setup Wizard.
Public Calendar Template
You'll probably want to customize your calendar template. To help get you started we have a few layout options to choose from. Browse the Helios Calendar Templates gallery and you can take your pick to help you get started.
Enable 3rd Party APIs
After you've logged in to your Helios Calendar admin console for the first time, you may wish to configure your API Settings and enable your Helios Calendar to use some of the 3rd party web services it supports.
Localization
Depending on where in the world you are, you may want to Translate Helios Calendar or customize your Localization Settings & Weather/Map Links.
Language packs can be downloaded from the Refresh Members Site to help with localization.
