I highly recommend you run InFrame on a UNIX or Linux system. This is where InFrame is developed and tested. It SHOULD also work on Windows, but it is not as well tested, and may be more of a headache to install and administer.

If you are on Windows, the number one problem is spaces in path and file names. You should avoid spaces; Apache for example likes to install in "c:\program files\apache". I recommend you change this to something like "c:\apache". Likewise, avoid spaces in your photo names as well, so instead of "great photo.jpg", try "great_photo.jpg". Having said that, however, InFrame can handle spaces in photo filenames, but internally (on the server) it will change spaces to underscores to avoid any future issues with spaces.

This document assumes that you've already installed and configured your web server, with PHP 5, with GD. Most hosted sites with PHP should already have GD. You should check with your web host to ensure they are using newer/newest versions of Apache, PHP 5, and GD.

A note about PHP Safe Mode

Some hosted sites run PHP in "safe mode" which can be problematic. It depends on how tightly they've tied the noose around their own necks.

There are several php parameters pertaining to security that a server admin can change. If all they've done is set "safe_mode = On" then InFrame should work (tested with Apache 2.2.8/PHP 5.2.4). You WILL have to perform one of the steps described in the Permissions section below, so that InFrame can write its config and data files. My dev system runs Apache 2.2/PHP 5.2 with safe mode on.

If they've set other parameters, such as safe_mode_exec_dir or safe_mode_include_dir, then InFrame (and most other php apps) may have problems.

Safe mode is considered a poor attempt to secure shared server sites (ie: your server host). The PHP folks admit it's broken, and have removed it as of PHP 6. If your hosted site is using safe mode, ask them to turn it off.

Extracting InFrame

InFrame is distributed as a zip file, in the form of
For example,

Note: InFrame is also available via SVN; more information can be found at This documentation assumes you've downloaded the released archive.

When you extract InFrame, a directory called "InFrame-version" will be created. You can extract InFrame to some temporary location on your system; the next step will explain what you need to do to complete the installation.

Installing InFrame

Your web server has a "web root" location, which is the top-level of where your server looks for files. This might be /var/www (UNIX/Linux), or c:\apache\htdocs (Windows).

If your web root is /var/www, and you extract InFrame here, a directory named "InFrame-version" will be created. We refer to this as your absolute file system path to InFrame, which in this case would be /var/www/InFrame-version. On Windows, this might be c:\apache\htdocs\InFrame-version.

The other term you need to know is what we call the absolute URL to your InFrame installation.

If you want InFrame to be at the root of your website:

For example:

then you should copy or move everything inside the InFrame directory into the top level of your web site.

Your absolute URL in this case would be a / (slash).

If you want your URL to be for example

then copy or move the extracted InFrame directory into the top level of your website.

Your absolute URL in this case would be "/InFrame-version".


InFrame needs to write files into some subdirectories inside the InFrame installation: Config, Data, and Data/Image.

On systems with controlled permissions (eg: UNIX/Linux systems), you will need to make sure that the web server can write into those subdirectories. The simplest way is to set their permissions "wide-open" by typing

chmod 777 Config Data Data/Image

This is a security risk however, as anyone can mess with your files.

A better way is to make Config and Data be owned by the user that the web server is running as. If you have shell access, you can determine the web server user by typing

ps -ef | grep apache


ps -ef | grep httpd

The owner is the first column. To set the Config and Data owners, type

chmod 755 Config Data Data/Image
chown ownername Config Data Data/Image

where ownername is the name you got during the ps -ef step.

Starting with InFrame v0.41, the default permissions (UNIX-style) are 755 for directories, and 644 for regular files. The Config and Data directories are set to 777 ("wide-open"). You may not need to perform any of the above steps at all, but you should try to set Config and Data to be owned by the web server user as described above.

Configuring InFrame

InFrame has a built-in setup routine. Once you've installed InFrame, simply point your browser at the installed URL.

The setup routine will only ask for your blog title, a catchphrase, and the desired theme. You can change this and more later in the Admin module.

That's it, InFrame is now configured, and you should visit the displayed Admin link to add photos, set other preferences, and change your password if desired.

Note that the Admin is only shown this one time, right after installation. You might want to consider bookmarking it for future use. When you're logged in, though, the admin link will appear.

Using InFrame

InFrame ships with a User Guide, which is found in the distribution, under the Doc subdirectory. InFrame has a few "secret" options that are revealed in the User Guide.


InFrame is (c) 2008, Richard Tong.

Flat-file database is ffdb by John Papandriopoulos

Captcha is Secureimage by

Hosted by

Visit for more information.