glFusion Documentation Project glFusion Wiki

System Requirements

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 such as Zeus, Lighttpd, and Microsoft IIS.

glFusion only supports PHP v5.2.x and above.

glFusion supports MySQL database engine using both the MySQL interface and the MySQLi interface.

Minimum Requirements

Software Requirement Minimum Recommended Web Site
PHP 5.2.0 5.2.17 http://www.php.net
MySQL 4.1.3.x 5.2.x http://www.mysql.org
Apache 1.3.x 2.2 series http://www.apache.org

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 v5.2.0 or higher
  • MySQL v4.1.3

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.

Pre Installation Tasks

Before we install 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.

  • Site URL:
  • Database Server:
  • Database Name:
  • Database UserID:
  • Database Password:
  • Path to glFusion Private Files:
    (path/to/glfusion) these files should not be available via the Internet, so they go outside of your web root directory
  • Path to glFusion Public HTML Files:
    (path/to/public_html)

Assumptions

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:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • INDEX
  • CREATE TEMPORARY TABLES
  • CREATE
  • ALTER
  • DROP
  • LOCK TABLES
  • REFERENCES
  • CREATE ROUTINE

Record the new userid and password in the worksheet in the Pre-Installation Tasks section.

FTP Installation

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.

  1. Create a temporary directory on your local hard drive to hold the glFusion distribution files. We will use C:\tmp for our example.
  2. Open the glfusion-1.3.0.tar.gz file with WinRAR (or you choice of archive program).
  3. 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/
  4. 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!)
  5. Connect to your remote server using your FTP / Account login and password.
  6. Highlight all the files and folders in the private/ directory. These are all the glFusion files that should reside outside your web root.
  7. 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.
  8. 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.
  9. Drag the highlighted files over to your remote host site's web root that is accessible from the web.
  10. You are now ready to perform the Online Installation.

Shell Installation

  1. Download the current version of glFusion from http://www.glfusion.org.
  2. Unpack the downloaded distribution file by running:
    tar -zxvf glfusion-1.4.1.tar.gz (for Unix systems)
  3. Place the contents of glfusion/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 remaining contents of glfusion/ 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.

Webroot Installation

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.

Directory Permissions

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.

  • path/to/glFusion/private/
  • path/to/glFusion/logs/
  • path/to/glFusion/data/
  • path/to/glFusion/data/layout_cache/
  • path/to/glFusion/data/tmp/
  • path/to/glFusion/backups/
  • path/to/glFusion/public_html/
  • path/to/glFusion/public_html/backend/
  • path/to/glFusion/public_html/images/topics/
  • path/to/glFusion/public_html/images/articles/
  • path/to/glFusion/public_html/images/userphotos/
  • path/to/glFusion/public_html/images/library/
  • path/to/glFusion/public_html/images/library/File/
  • path/to/glFusion/public_html/images/library/Flash/
  • path/to/glFusion/public_html/images/library/Image/
  • path/to/glFusion/public_html/images/library/Media/
  • path/to/glFusion/public_html/images/library/userfiles/
  • path/to/glFusion/public_html/mediagallery/mediaobjects/
  • path/to/glFusion/public_html/mediagallery/rss/
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 path/to/glFusion 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:

  1. With your mouse, highlight the directory you wish to change permissions
  2. Right click and choose File Attributes
  3. 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.

Assistance

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.org 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:

  1. Create Database Name
  2. Database User ID
  3. Database Password
  4. Path to glFusion
  5. Uploaded all the glFusion distribution files
  6. 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:

http://Your_glFusion_Site/admin/install/index.php

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 delete the admin/install directory. Also, pay attention to the success message to learn how to log in as the administrator and change the default password.

Be sure and delete the public_html/admin/install/ directory when you have successfully installed glFusion.

You can log into glFusion using the default administrator's account.

Username: admin
Password: password

Make sure you change the default password IMMEDIATELY!

glFusion Upgrade Instructions

The latest upgrade instructions, along with specific changes and enhancements of each version are available at the glFusion Wiki under Upgrading glFusion.

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.

glFusion brings some major architectural changes that break away from how upgrades were handled in the past. The main change is that the config.php file is no longer used by glFusion. Instead, most of the configuration options are now maintained with an online configuration editor and the configuration files are automatically updated during the upgrade process. There are a few configuration options that are still maintained in the db-config.php (database settings) and siteconfig.php (site specific options such as Character Set), but you should not have to edit these files directly.

The upgrade process does not migrate your existing configuration options from the old config.php file. You will need to enter the Online Configuration section after the upgrade and set the options to meet your specific needs.

Be sure to check the Requirements list below to validate your site can be upgraded successfully.

Pre-Upgrade Checklist

To ensure a smooth upgrade process and to prevent any problems after the upgrade, you will need to validate the following items:

  • Determine the current version of your glFusion installation. You can find the current version of glFusion installed on your site by visiting the Command and Control screen. The glFusion version number is included in the title.
  • 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 page.
  • If you have customized any of the theme templates, check the Template Changes for the current release to see if you need to make any updates to your customizations.
  • Check any third party plugins to ensure they are compatible or if they will need to be updated.

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.

Uploading glFusion

Follow the instructions above in the FTP section on how to upload the glFusion distribution.

Running the Upgrade Wizard

Once you have all the new glFusion release files on your site, you will need to run the Upgrade Wizard. There is no need to disable anything or make any site configuration changes before running the Upgrade Wizard.

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 Clear the Template Cache after uploading the new files. Also clear your browser's cache to ensure that it properly loads all the updated style sheets and JavaScript files.

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

Pre-Installed Plugins

glFusion comes with the following plugins pre-installed,

  • Bad Behavior2
  • CAPTCHA
  • FileMgmt
  • Forum
  • Media Gallery
  • CommentFeeds
  • CKEditor

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.