Installing glFusion

Installing and using glFusion is generally a straight forward process. The steps are as simple as:

  • Download glFusion
  • Decompress the archive on your local workstation
  • Upload the distribution files to your web host
  • Set up your hosting environment
    • Create the database
    • Validate file permissions
  • Run the glFusion installation wizard

One thing we have learned is that all hosting environments are different and each hosting provider seems to do things just a little bit differently. Sometimes issues at your Web host can make installation a little more challenging. Make certain you take advantage of the support your host provides. In the end, they are best able to help.

Downloading glFusion

The current version of glFusion is available for download at http://www.glfusion.org. Distributions are provided in both .zip format and .tar.gz format. If your local workstation uses a Windows based OS, we recommend downloading the .ZIP format. For Linux / Unix users, we recommend using the .tar.gz archive.

Un-archiving the glFusion Distribution

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 .tar.gz distribution.

You should extract the files to a temporary directory on your local workstation. We’ll upload these later to your web host.

Host Environment Setup

Before we upload the glFusion files to your web host, we need to setup the database that glFusion will use. glFusion support the MySQL database engine which is available on almost all hosting providers. Depending on your hosting plan, you may want to create a separate database for glFusion, or if your hosting provider only gives you a single database, you can use it.

Create the glFusion Database

To create a new database for your glFusion powered site, use the tools provided by your hosting provider. Generally, their Control Panel will have options to create a new database and to create the database user / password.

cPanel is a popular interface used by many hosting providers to allow you to administer your hosting account. Using cPanel, you can create the database, create the database user, assign the then assign the new user to your new database.

When creating your new glFusion database, you may be asked some technical questions about the privileges the database user should have and what encoding to use for your database. The database user should have the following privileges or permissions for the glFusion database:

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

Your database should be created with a collation of utf8_general_ci.

private versus public_html Directories

glFusion is designed where many of the source files should not be accessible from the Internet. The files in the private/ directory of the glFusion distribution should be placed somewhere that cannot be access from the Internet. The files in the public_html/ directory should be placed in the web space. This is one of the security protections used by glFusion. The intent is to keep these files hidden from the Internet to reduce the overall attack surface a hacker might use to try and compromise your web site. We realize that some hosting providers do not give you storage space that is not web accessible; instead they only provide a directory where all the web accessible files go. In this case, you can still safely use glFusion, but you’ll want to take some extra steps to properly secure the installation. See the Installing in the webroot instructions for more details.

Most hosting providers give you a home directory which contains a public_html or www directory. The public_html or www directory is where you would place the glFusion public_html/ files. You will need to create a private directory under your home directory to store the glFusion private/* files. Remember, the private/* files should not be placed in a directory that is open to the Internet.

FTP Upload

If you do not have shell access to your server and can only use an FTP client to access your server, follow these instructions.

  1. 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!)
  2. Connect to your remote server using your FTP / Account login and password.
  3. Create a directory on your host to hold the glFusion private/ files. This directory should be outside of the web root (files accessible via the web).
  4. Highlight all the files and folders in the private/ directory. These are all the glFusion files that should reside outside your web root.
  5. Drag the highlighted files over to your remote host site. Place them in the directory you created in step 3.
  6. 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.
  7. Drag the highlighted files over to your remote host site's web root that is accessible from the web.
  8. You are now ready to move to the next step in the installation process.

Shell Installation

If you have shell access to

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

Validate Directory Permissions

glFusion requires that your web server have the ability to write to certain files and directories. The installation wizard will validate that all the necessary permissions are correct, but it is always a good idea to try and validate them before running the installation program.

The following list is the directories that the web server will need to have write permissions.

  • private/
  • private/logs
  • private/data
  • private/data/layout_cache
  • private/data/temp
  • private/backups
  • private/plugins
  • public_html/
  • public_html/backend
  • public_html/filemgmt_data/category_snaps
  • public_html/filemgmt_data/category_snaps/tmp
  • public_html/filemgmt_data/files
  • public_html/filemgmt_data/files/tmp
  • public_html/filemgmt_data/snaps
  • public_html/filemgmt_data/snaps/tmp
  • public_html/forum/media
  • public_html/forum/media/tn
  • public_html/images
  • public_html/images/articles
  • public_html/images/menu
  • public_html/images/topics
  • public_html/images/userphotos
  • public_html/images/library
  • public_html/images/library/File
  • public_html/images/library/Flash
  • public_html/images/library/Image
  • public_html/images/library/Media
  • public_html/mediagallery/mediaobjects/covers
  • public_html/mediagallery/mediaobjects/disp/*
  • public_html/mediagallery/mediaobjects/orig/*
  • public_html/mediagallery/mediobjects/tn/*

Permissions are the top support issue. Always check your permissions first if you run into installation problems.

For more information on file permissions, see the Permissions 101 tutorial.

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:

  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.

Running the glFusion Installation Wizard

We are now ready to begin the glFusion installation. To access the installation wizard, navigate to the following URL with your browser (replace the www.yoursitehere.com with your actual URL). 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://www.yoursitehere.com/admin/install/index.php

The glFusion installation wizard was designed to automate the install process. Simply follow the installation steps.

glFusion Main Installation Screen

This panel allows you to select the language and the task to perform. For a new installation, choose New Installation then select the Next button.

glFusion Path Selection Screen

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.

Advanced Settings – Generally you do not need to enter anything here, glFusion will figure out where the files belong based on the path to the private/ directory. In some situations, you may want to move the default locations for the logs, language, backup, or data directories. In this case, you can specify the absolute path to these directories.

Path to private/ directory

glFusion must know where you have installed the private/ directory. This is the directory that contains the db-config.php.dist file. Please enter the full, absolute path to this directory. The absolute path is the full path on the server (not your site's web address). If you don't know the absolute path, check with your hosting provider to obtain this information. Generally, the installer can find the path to your public_html/ folder automatically. In the right panel of this screen we display the absolute path to your current public_html/ directory. This might help you determine the correct path to your private/ directory.

Absolute Path Definition

Also known as the full path, the absolute path is a path that contains the root directory and all other sub directories required to get into the directory you're currently in or wish to get to. Below is a basic example of a generic path and an absolute path. Absolute path:

/home/users/c/computerhope/public_html/cgi-bin

Non absolute path (relative path):

public_html/cgi-bin

As can be seen from the above example, the absolute path contains the full path instead of a few directories contained within the absolute path.

glFusion Host Environment Check Screen

This panel performs a check of the hosting environment to ensure everything is setup properly. Any errors will be highlighted in Red.

During the installation or upgrade process, the glFusion installer will check various attributes of your hosting environment to ensure everything is properly configured. This will ensure that glFusion functions properly and works as it should.

PHP Settings

The installer will check several PHP settings to ensure everything is properly configured both for security and compatibility with glFusion.

If any items are highlighted in red, you should adjust those settings before continuing. Changing the PHP settings varies from host to host, so you should check with your host's technical support for assistance in modifying any PHP settings.

Attribute Suggested Value Description
PHP Version 4.3.0+ glFusion requires PHP version 4.3.0 or newer.
register_globals Off If PHP's register_globals is enabled, it can create security issues. It is highly recommended that you turn off register_globals.
safe_mode Off If PHP's safe_mode is enabled, some functions of glFusion may not work correctly. Specifically the Media Gallery plugin. glFusion can run with safe mode enabled, but we may ask that you turn it off if there are support issues.
open_basedir Off If open_basedir restrictions are enabled on your site, it may cause permission problems during the install. The File System Check will attempt to validate that glFusion has the proper permissions for all its directories, but you may need to ask your host to either turn off these restrictions or allow full read/write access to your entire web space.
memory_limit 48M It is recommended that you have at least 48M of memory enabled on your site. Depending on which plugins you have loaded and if you are uploading large images, 48M or more memory will be required.
file_uploads On Many features of glFusion require the ability to upload files, this should be enabled.
upload_max_filesize 8M glFusion allows you to upload plugins, images, and files. You should allow at least 8M for the upload size. This setting controls how large of a file you can upload.
post_max_size 8M post_max_size controls how large a single submit can be. If this value is smaller that upload_max_size, it will limit the size of the file you can upload. Also, if you are uploading multiple files on a single form (in Media Gallery for example), the total size of all items cannot exceed this value.

File System Check

The glFusion installer will test several directories to ensure it has the necessary permissions to read and write. If any issues are found they will be highlighted. You cannot continue the installation or upgrade process until these issues are resolved.

glFusion must be able to write to several areas of your site. For example, to upload and install plugins using the automated install process, glFusion must be able to write all the plugin's source files into the proper private/plugins/ and public_html/pluginname/ directories.

If your site has open_basedir restrictions enabled, you may need to contact your hosting provider and ask that they add the necessary glFusion directories to the allowed directory list.

Also, you can override some of the default directory location in the Path and Settings Screen. By overriding the default directories you may be able to resolve some permission issues caused by open_basedir restrictions.

open_basedir Restrictions

Some hosting services enable a PHP security feature known as open_basedir restriction. What this means is that the provider has set up a list of directories that PHP can write to. If a directory is not in the list, it simply will not allow any files to be created or modified in that directory.

Generally, when a provider implements open_basedir restrictions, they will allow the web server to write to files in the public_html/ directory, but may not allow files in the private/ directory to be modified. This can cause a problem when installing glFusion since we separate out several files into the private/ directory.

Fortunately, there is a simple solution. Move all the private/ files into a directory under your public_html/ directory. Don't call it private, instead make up a name that no one would be able to easily guess. It is only important that you know the directory name. Try to install glFusion again, this time when asked for the private/ directory path, give it the path of your new directory under public_html/. 99% of the time this will resolve open_basedir permission problems.

Changing the PHP settings

How you change the PHP settings such as memory_limit varies from provider to provider. The best option is to contact the host's technical support or browse their online help section. Below is a list of some of the popular hosting providers with links to their help document on changing the PHP settings:

Site Information Screen

The Site Information panel allows you to enter the database information and the general site information.

Database Type

glFusion supports the MySQL database. There are two types of indexes which can be used, ISAM and InnoDB. Generally, ISAM indexes will give better performance, so you should select MySQL. Advanced users may have specific requirements that require using InnoDB indexes.

Database Hostname

Enter the hostname of the database server. This may not be the same as your web server, so check with your hosting provider if you are not sure. For most users this will be localhost.

Database Name

Enter the name of the database that will be used to hold the glFusion tables. This database must already exist.

Database Username

Enter the username to connect to the database. If you do not know the database username, contact your hosting provider.

Database Password

Enter the password to connect to the database. If you do not know the database password, contact your hosting provider.

Database Table Prefix

Enter a table prefix to be used for the database tables. This is helpful to separate multiple sites or systems when using a single database.

UTF-8

UTF-8 encoding will allow your site to display characters in multiple languages. Generally this should be checked. It is also important to ensure your database is setup to handle UTF-8 encoding as well. When you create the database for glFusion, select utf8_general_ci as the collation. You may need to check with your hosting provider to ensure you database can and does support UTF-8 encoding.

Site Information

This section contains information about your site; URLs, paths, etc. Much of this information will automatically be entered by the installation wizard, in those cases you simply need to validate that it is correct.

Site Name

This is the name of your site and will be displayed in the site header and as part of the page title. You can change the Site Name at any time using the Online Configuration.

Site Slogan

This is a short description about your site. It will be displayed in the site header and also used in emails generated by your site.

Site Email

Enter your site's main email address. This is the email address for the default Admin account. Don't worry; it can always be changed later.

Site No Reply Email

Enter your site's no reply email address. It will be used to automatically send new user, password reset, and other notification emails. Don't worry; it can always be changed later.

Site URL

Please confirm that this is the web address or URL used to access the homepage of your site.

Site Admin URL

Please confirm that this is the web address or URL used to access the admin section of your site.

Content & Plugins Screen

Once you hit this screen, the installation process has completed the core installation and now needs to know which of the bundled plugins you would like to install.

Also, glFusion comes with some sample content to help show off some of its unique features. It is recommended if you are new to glFusion, you should load the sample content. It can all be deleted once you have seen how it all works and are ready to build your own customized site.

Options

SettingDescription
Load Sample Site Content? If checked, install sample content such as blocks, stories, and static pages. This is recommended for new users of glFusion.
Load Calendar Plugin? An online calendar / event system. Includes a site wide calendar and personal calendars for site users.
Load FileMgmt Plugin? File Download Manager. An easy way to provide file downloads, organized by category.
Load Forum Plugin? An online community forum system. Provides community collaboration and interactivity.
Load Links Plugin? A links management system. Provides links to other interesting sites, organized by category.
Load Media Gallery Plugin? A multi-media management system. Can be used as a simple photo gallery or a robust media management system supporting audio, video, and images.
Load Polls Plugin? An online polling system. Provides polls for your site users to vote on various topics.

Post Installation Steps

Once you have completed the installation be sure to rename the public_html/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 to rename 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/installation.txt · Last modified: 2011/01/07 03:21 by Mark
 
Except where otherwise noted, content on this wiki is licensed under the following license: GNU Free Documentation License 1.3