To successfully install and use glFusion you must have a fully operational web server, a database, and the server side scripting language PHP. glFusion is developed and tested primarily on the Apache web server version 2.x, but it should run on any modern web server. glFusion has been successfully installed and is running on other web servers including Zeus, Lighttpd, and Microsoft IIS.
glFusion still supports PHP v4.x, but the PHP Foundation has already announced the end of life of the v4.x branch. Using PHP v5.x series is a better long term choice. Currently, the Web Services feature of glFusion requires PHP 5. If you are running PHP v4.x, Web Services will be automatically disabled.
glFusion supports a MySQL database.
The glFusion v1.1.x series will be the last release of glFusion to support PHP4. All future releases of glFusion will require PHP v5.
Your server or hosting environment must have the following items available for you to install and run glFusion.
Web Server (Apache, Zeus, lighttpd, Microsoft IIS, etc.)
PHP v4.3.0 or higher
New Installation Procedures
glFusion is designed where some of the files should reside outside of the web root, meaning they should not be directly accessible from the Internet. For most users this does not pose a problem, but some hosting services do not allow users to store files outside of the main web accessible directory. For these users, you can still install glFusion, but you will want to follow the directions in the installing glFusion in the web root section.
Make sure you know where your web root is on your server. This is different than your website's URL address. You may need to contact your hosting provider for assistance. It is important that you know this information prior to performing the installation.
If you are not sure how to determine your paths, contact your hosting provider’s Technical Support Staff, they can generally help you out.
Before installing glFusion, you will need to know a few key pieces of information. Write down the following information. If you are unsure what to put for each of the items below, please contact your system administrator or you hosting provider.
These installation instructions assume that you will be running your glFusion site as the main site on your domain. If your installation will be a sub-domain or a set of sub-pages of an existing site, you will need to adjust some of the paths.
Create the glFusion Database
glFusion requires a MySQL database. Depending on your hosting solution, you may need to create a new database for glFusion and also a database user account. Some hosting providers setup a single database for your account that should be used. If you already have a database created that you wish to use, you can skip this section.
Create the Database
Depending on your hosting solution, you may be able to create a new empty database using online tools provided by your hosting provider. You can also use a tool like phpMyAdmin to create the database.
Once you have created the database, record the name of the new database above in the Pre-Installation Tasks section.
Create the Database User
It is always a good security practice to create a unique user account for each database. Create a new database user and add the following permissions to the user for the database you created in the previous step:
CREATE TEMPORARY TABLES
Record the new userid and password in the worksheet in the Pre-Installation Tasks section.
If you do not have shell access to your server and can only use an FTP client to access your server, follow these instructions.
To install glFusion you will need to un-archive the distribution on your local computer. The glFusion distribution archive will automatically create all the proper directories when it is un-archived.
To un-archive a .gz file, you can use recent versions of WinRAR or 7-Zip. If you are running Mac OSX, please ensure you have the latest version of StuffIt installed as previous versions have had difficulty properly un-archiving .gz files. For Linux/Unix users, use the standard
tar command to extract the distribution.
Create a temporary directory on your local hard drive to hold the glFusion distribution files. We will use C:\tmp for our example.
Open the glfusion-1.1.4.tar.gz file with WinRAR (or you choice of archive program).
Select Extract All Files and point to the C:\tmp directory as the destination directory. You should now have a local copy of the glFusion distribution on your hard drive. This will create the two main glFusion directories: private/ and public_html/
Open up your FTP
client (our recommendation is to use FileZilla
, it's available for multiple platforms, is easy to use, and best of all, it's free!)
Connect to your remote server using your FTP
/ Account login and password.
Highlight all the files and folders in the private/ directory. These are all the glFusion files that should reside outside your web root.
Drag the highlighted files over to your remote host site. You will want to place these files in an area that is not accessible via the web.
Highlight all of the glFusion distribution folder and files in the public_html/ directory. These files will reside in your web root and must be accessible via the web.
Drag the highlighted files over to your remote host site's web root that is accessible from the web.
You are now ready to perform the Online Installation.
Unpack the downloaded distribution file by running:
tar -zxvf glfusion-1.1.4.tar.gz (for Unix systems)
Place the contents of public_html/ into your web root directory on your web server. The web root directory is often named “public_html”, “htdocs”, or “www”. Then, place the contents of private/ into either the parent directory of your root web directory (recommended) or any other non public folder and the installation wizard will attempt to locate them automatically. If it cannot you will be asked to specify their paths during installation. This is done as an additional security measure to prevent access to glFusion system files by Internet users.
If your hosting provider does not allow you to place files outside of your root web directory, you should follow these additional steps to ensure a secure installation of glFusion.
Create an inconspicuous directory (i.e. don't name it “glfusion” or “private”) in your root web directory.
Place these system files in that directory.
Password protect it using an .htaccess file or similar.
glFusion requires that your web server have the ability to write to certain files and directories. The following list is the directories that you need to ensure the permissions are properly set.
Permissions are the top support issue. Always check your permissions first if you run into installation problems.
How to Set Permissions
Setting the permissions will vary from server to server, and depend on how you access your server. If you have shell access, changing permissions is as simple as running the following command from inside the private/ directory:
chmod -R 777 logs
chmod –R 777 data
chmod –R 777 backups
… do this for all the directories listed above…
If you use FTP to upload files to your server, you can use your FTP program to change the permissions. Below is an example of using FileZilla as the FTP program to set permissions:
With your mouse, highlight the directory you wish to change permissions
Right click and choose File Attributes
In the pop-up window, select the checkbox for Read / Write for owner, group and public permissions.
You will need to repeat these steps for all the directories listed above.
If you need assistance getting the permission settings correct, check with your hosting provider’s technical support or post a support message at the glFusion website.
It is important that you validate the directory and file permissions before proceeding to the final installation step.
Performing the glFusion Installation Process
Now that you have all the files loaded onto your server, you are ready to begin the online installation. Let’s review the steps you have already completed:
Create Database Name
Create Database User ID
Create Database Password
Uploaded all the glFusion distribution files to the private/ and public_html/ directories
Documented full local path to private/ and public_html/ directories
Proper directory permissions
Open your browser and navigate to the glFusion installation wizard at /admin/install/index.php. The path to this file will depend on where you chose to put the glFusion files on your web server. The default location is:
The glFusion installation wizard was designed to automate the install process. Simply follow the installation steps.
You will be asked for the location of the private directory, this is the directory where the db-config.php or db-config.php.dist file resides. Type in the full path to this directory and press Next. You will then need to enter your site specific information such as database server, database name, etc.
Once you have completed the installation be sure to rename the admin/install directory. We recommend that you rename it to something that no one could easily guess. Also, pay attention to the success message to learn how to log in as the administrator and change the default password.
Be sure to rename the public_html/admin/install/ directory when you have successfully installed glFusion. Rename it using a name you can remember, but would be difficult to guess. For example, rename it to installyourbirthdate.
You can log into glFusion using the default administrator's account.
Make sure you change the default password IMMEDIATELY!
glFusion Upgrade Instructions
Before you begin the upgrade process, make a good backup of your source files and your database. The upgrade process is generally very safe, however, there is always the possibility that something could go wrong and part of any good upgrade plan is a good back out plan.
If you have made any customizations to glFusion's core files or the theme files, ensure you save a copy of your modifications.
Be sure to check the Requirements list below to validate your site can be upgraded successfully.
To ensure a smooth upgrade process and to prevent any problems after the upgrade, you will need to validate the following items:
If you are using a theme other than Nouveau, make sure your theme has been updated to support glFusion. There are several theme changes that must be made to custom themes to allow glFusion to work properly. Verify you have all the necessary template changes made by visiting the Template Changes
Ensure that all the plugins installed on your site are compatible with glFusion. You may want to check the support forums or with the author of the plugin to determine if it will function properly with glFusion. We are currently aware of the following plugins having issues with glFusion v1.1. If you run any of these plugins, you should disable them before you upgrade your site, and then upgrade them to a compatible version before re-enabling them.
Backup, Backup, Backup
Take extreme care to back up any files from your current installation that have any custom code in them, especially lib-custom.php (where all custom code should reside). Be sure to back up any modified themes and images from your current installation.
ALWAYS PERFORM A GOOD BACKUP BEFORE ATTEMPTING AN UPGRADE.
Follow the instructions above in the FTP section on how to upload the glFusion distribution.
Upgrading from glFusion v1.0.x or glFusion v1.1.x
If you are upgrading an existing glFusion v1.0.x or glFusion v1.1.x site, follow the instructions below.
Copy the entire glFusion v1.1.4 distribution to your server, overwriting all existing files.
You do not need to copy any of the .dist files over your existing configuration files. This would actually break your site. the .dist files are included in the archives for those who are doing new installations.
If you are upgrading from glFusion v1.1.3, you can upload just the changed files available in the incremental release archive.
Navigate to http://Your_glFusion_Site/admin/install/index.php
Select Upgrade an Existing glFusion Site as the installation option.
glFusion's update process should now make all the necessary changes to your database tables and upgrade all bundled plugins.
Be sure to review the template changes.
Update the siteconfig.php file
siteconfig.php needs to be manually updated. There are several new $_SYSTEM variables in siteconfig.php that need to be placed in your existing public_html/siteconfig.php file.
The easiest method to do this is copy all the $_SYSTEM settings from the siteconfig.php.dist file and paste those into your existing siteconfig.php.
DO NOT COPY siteconfig.php.dist over your existing siteconfig.php, this will overwrite very important path settings and cause your site to break!
The following new configuration option for glFusion v1.1.4 should be pasted into your existing siteconfig.php:
If you are upgrading from an earlier version of glFusion, you should merge your old siteconfig.php with the new siteconfig.php.dist included with glFusion v1.1.4.
// | Skip IP Check - disables glFusion's checking of the long term cookie |
// | against the user's IP address. |
// | |
// | As a security precaution, glFusion validates that the IP address used |
// | to set the long term cookie matches the IP address of the user each time |
// | it is checked. This can cause issues for users who change IPs often, |
// | for example, if they are behind a proxy server farm. |
// | |
// | If this value is set to true, the IP address will not be checked. |
$_SYSTEM['skip_ip_check'] = false;
Migrating from Geeklog
glFusion v1.1.4 supports migrating your existing Geeklog 1.5x site by performing the Migration process.
You must be running Geeklog v1.5.0 or higher to migrate. If you have an older Geeklog site, please upgrade it to at least Geeklog v1.5.0 before migrating.
glFusion DOES NOT support migrating a Geeklog v1.6.0 beta or RC release. Once Geeklog v1.6.0 final is released, we will update the migration to include the production release.
NOTE glFusion v1.1.4+ has some major changes in the theme engine. glFusion uses a CSS, non-table based theme engine which is very different than Geeklog's implementation. glFusion v1.1.x does offer legacy theme support, which means any Geeklog theme that is based off their standard Professional theme should work, but you will not get all the new features and benefits available in glFusion. For full details, please see the Legacy Theme section.
The glFusion team recommends that you use the standard Nouveau theme included in glFusion. If you have a heavily customized legacy theme, you may want to stick with Geeklog or at least try the migration on a test system before migrating a production system.
Copy all the glFusion source files to your server. Once you have uploaded all the files, open your browser and navigate to the glFusion installation wizard. The path to this file will depend on where you chose to put the glFusion files on your web server. The default location is:
Choose the Migrate button. The migration wizard is designed to automate the upgrade process. Simply follow the migration steps.
Once you have completed the upgrade be sure to delete the admin/install directory.
Congratulations! You now have glFusion successfully installed. Please take a moment to review the rest of this manual to better understand how to administer the features and functions of this software.
Post Upgrade Checks
Once you have successfully upgraded your site, there are a few things you will want to double check.
Go into the online configuration system and validate your configuration settings
If you had the Forum plugin installed, you will need to go into the Forum administration screens and select Resync for each of your forums. This will build the necessary last post information and correctly set the new counters in the database.
REMOVE THE INSTALLATION DIRECTORY
glFusion comes with the following plugins pre-installed,
If any of these plugins were already installed on your site, they were automatically updated during the upgrade process.
If some of these plugins were not previously installed prior to the upgrade, they were not installed during the upgrade. The files are on your system and are ready to be installed, but you will need to go into the Plugin Editor to manually install them.
glFusion Upgrade Tip Sheet
glFusion v1.1.2+ brings several enhancements that also required some major modifications to the core code and how themes are handled. As a result of these modifications, we want to ensure you are fully aware of the changes and how they may affect your site.
You should always make a database backup before attempting a major upgrade to your site. If you are unsure how to make a database backup, please contact your hosting provider or post in the glFusion Support Forum
glFusion and the Nouveau theme are very tightly coupled. This does not mean you cannot use other themes with glFusion, but you may not be able to take full advantage of all the new glFusion features. If you are using an older, table based theme with your glFusion site, be sure to read and understand the required theme modificaitons you will need to make after your upgrade. See the Template Differences in glFusion page for more info.
If you use the Chameleon theme / plugin, the glFusion team has released an update that is compatible with glFusion v1.1.3. You should upgrade to Chameleon v2.1.2 when you upgrade glFusion.
Customized Theme Files
glFusion supports the ability for you to create custom versions of the template files and store them in their respective custom/ directories so they will survive the upgrade process. If you have customized the htmlheader.thtml template file, be sure to upgrade your customized version for glFusion. See the htmlheader.thtml file that ships with glFusion and make the necessary changes in your customized version.
glFusion ships with a very rich set of plugins which have all been upgraded to support the new search integration available in glFusion v1.1.2+. We have also updated the DokuWiki Integration plugin to support the new search integration. If there are other plugins that you use that have not been updated to support the new search integration, please post in the glFusion Support Forum and we'll see about upgrading the plugin for better integration with glFusion v1.1.2+.
File System Reorganization
glFusion v1.1.0 has moved several files out of the public_html/ directory and into the private/ directory. To assist with removing the older copies after the upgrade, we've included a new utility called FileCheck. Please see the glFusion Directory Organization wiki page for full details.
For full details of the new widgets and how to use them, see the glFusion Widgets wiki page.