Setup - backend - Windows Servers

The following instructions explain how to set up the fCMS on an IIS webserver. For Unix/Linux webservers, please click here.


To run the fCMS correctly, your webserver must meet the following requirements:

 

This document describes how to install and configure the fCMS in various environments on the Windows platform. Depending on your needs, you may want to read how to:

  1. Install the fCMS on your webserver
  2. Configuring the fCMS on a shared host server
  3. Configure the web application and setup the fCMS settings
  4. Security settings for local testing of fCMS

 

Installing the fCMS on your webserver
You can find the backend files for Windows (IIS) webervers in the Windows Servers.zip file. If you have full access to your server, you will need to perform a few steps before you may run the application. The first 4 tasks listed below may be skipped as most of the settings are preinstalled with the Windows Server as default settings. However, you may check all of the settings before proceeding.

Here is the list of tasks that needs to be done:

 

Configuring Internet Information Services (IIS)
To run the application, IIS must be installed on your server. A Virtual Directory or Web Site needs to be created and configured properly. Here is the step by step explanation as to how to set up the fCMS to work with IIS:
  1. Copy all the files into any directory on your computer, including all subfolders (for example, you may copy all the files to C:\MySite). Keep the directory structure as shown in the picture below:

 

 

  1. Right click on My Computer and choose Manage
  1. Expand Services and Applications and then expand Internet Information Services. Make sure that you have installed all prerequisites before doing this (see System Requirements)
  1. Click on Web Sites and then expand Default Web Site
  1. Right click on Default Web Site > New > Virtual Directory

 

  1. A Virtual Directory Creation Wizard should appear. Click Next

 

  1. In the next step (Virtual Directory Alias) type in the alias (in this example, we will use fCMS) and click Next

 

  1. Browse the directory that you have copied all of the files into (in this example it is C:\MySite). Then click the Next button.

 

  1. In Access Permissions, the following items should be checked: Read, Run scripts (such as ASP), and Write.

 

  1. Click Finish. The virtual directory and web application have been created and automatically configured.

 

Now you may try to access the site by typing http://SERVER_NAME/fCMS/ in your browser.

If there is an error while trying to start the application, please read the Setting up web site security section.

 

Setting up web site security
Web Site or Virtual Directory should be created with default settings. If the site does not run properly, the default server settings have been changed and need to be configured in the following way:
  1. Right click on Default Web Site and choose Properties.

 

  1. Go to Directory Security Tab. In the Anonymous access and authentication control group box click Edit.

 

  1. Authentication Methods should appear. The following settings needs to be applied:

 

    1. Anonymous access enabled
    2. Default username should be IUSR_MACHINENAME (where MACHINENAME is the name of your server computer)
    3. IIS should be allowed to control password
    4. Integrated Windows authentication should be enabled

  1. Click OK and the click OK again.

 

  1. Right click Internet Information Services > All Tasks > Restart IIS

  1. In Stop/Start/Reboot window select Restart Internet Information Services and click OK.

 

Now you may try to access the site by typing http://SERVER_NAME/fCMS/ in your browser.

If the site still does not work correctly, the web application could impersonate the user credentials. Please read the Setting up files and folder security section.

 

Setting up files and folder security
If the site still does not work correctly, the web application could impersonate the user credentials. In such a case, you will also need to setup the file and folder permissions for a few files in your virtual directory. The best way to do this is to right click on C:\MySite and choose properties. Go to the Security tab and click the Add button as shown on the picture below.

A new window should appear. Click the Advanced button as shown on the picture below.

Again, the new window should appear (see below).  Click Find Now, choose NETWORK, click OK and then click OK again.

The user will be automatically selected in the list as shown on the picture below. Check the Full Control checkbox as shown on the picture below and then click OK.

 

If the application still does not start correctly, please read the Configuring web application section.

 

Performing multiple fCMS installations
As shown on the figure below, each virtual directory needs to be configured separately. In the previous example, all the files are placed in C:\MySite. If more than one virtual directory needs to be created, simply create another folder (C:\MyOtherSite) and create another virtual directory as described in the previous sections. Make sure that the alias is not the same (for example, you may use fCMS2 for the second installation).

 

As you can see, all of the files are duplicated and each virtual directory is running as a different web application, with its own configuration files. In this case, you will need to impersonate the rights for virtual directories and/or set-up the file and folder security depending on your server settings.

 

Configuring the fCMS on shared host server
The shared server must meet the system requirements. In most of cases you will not be able to impersonate the application credentials, so the only way to make the application work is to set-up the files and folders permissions manually. Many shared hosts have a built-in administration panel where you may configure read/write permissions and add the users that may access those folders. Some shared servers allows the writing of content to the folders by default. Please consult with your web hoster for more information.

The figure below displays how to configure multiple fCMS installations on a shared host. Bear in mind that the bin folder (where fCMS.dll resides) should always be placed in the root of the web site, as well as the global.asax and web.config files (this is due to an IIS limitation. Note: The .NET 2.0 version does not need the global.asax file).

The blue color indicates the files that MUST be placed in the root folder of the website. The yellow and red colors display each fCMS installation. As you may see, each subfolder may have its own configurations and upload folders.

The following folders need to have read/write access in each installation:
imgRoot
config

The following files must have read/write access in each installation:

xmlContent.xml
config.xml
users.config

These files and folders must grant the following users to access:
NETWORK (if the application still may not edit the content)
EVERYONE (if the NETWORK user still may not edit the content).

 

Note: This may vary from host to host. Please consult your web hoster for further assistance.

 

Configuring web application
There are 3 files that need to be configured properly in order to setup the application to work as expected.
  1. WEB.CONFIG file

This file is located in the web application root folder. Only the IMPERSONATION node needs to be configured.

Step 1: Find the following line in the configuration file

<!-- IMPERSONATION. This section provides the application impersonation for
   read/write/delete file access  -->
<identity impersonate="true" userName="Administrator" password="password" />

Step 2a: Type in the username that has sufficient rights to list, create and delete folders and files. Type in the user's password. This is usually the same user that is allowed to login via an FTP server. Restart IIS if required.
          
Step 2b: If the web application is granted read/write access that may be configured from IIS snap-in, impersonation needs to be disabled by changing the impersonate value from true to false. In this case the username and password will be ignored.

  1. CONFIG.XML file

 

This file is located in the config folder. This is the main configuration file where the application settings, error messages and groups needs to be configured.

Authentication may be enabled or disabled. This may be configured by changing the value of attribute in the node called global. If the value is true, authentication is enabled. If the authentication needs to be disabled, the value should be false.

            <!--  Specifies should the authentication will be used or not  -->
            <global requireLogin="true">
 

To setup the image root folder, find the node called root. This node is a child node of global node. Type in desired folder name where you want the files will be stored. The root folder is a relative path to the application root folder. The default value is imgRoot.

            <!--  Root Upload folder relative to the web application root path -->

  <root>imgRoot</root>

 

Allowed extensions that will be allowed by application should be configured here. Type in the extensions you want to allow to be uploaded (comma-separated values). If you want to allow all extensions, leave this node blank.

   <!-- Allowed upload extensions (comma separated). If empty, all file extensions are allowed  --> 

  <extensions>jpg,gif,png,swf</extensions>

 

To limit the file size of upload files, you will need to type in the maximum file size in bytes. If the upload size needs to be unlimited, this value should be zero and the file that will be uploaded will not be checked for size. The default value is 1048576, which is 1MB.

            <!-- Maximum upload file size in bytes. If zero, unlimited file
            size is allowed  --> 

  <maxsize>1048576</maxsize>

Find the following line in the configuration fileAllowed extensions that will be allowed by application should be configured here. Type in the extensions you want to be uploaded (comma-separated values). If you want to allow all extensions, leave this node blank.

 

In case of errors, the application may return one of 24 error messages. All the messages may be configured or translated in the errors node.

 
 

Users may belong to one group, so group permissions needs to be configured. Each group has a
name that needs to be configured. To setup the group permission for each group, three nodes need to be properly configured.

 

                        <!--  Group permissions  --> 

<group name="admin">
<filebrowser>
    <root>/</root>
<upload>true</upload>
<delete>true</delete>
</filebrowser>
</group>
<group name="mygroup">
<filebrowser>
<root>/myFolder/</root>
<upload>true</upload>
<delete>true</delete>
</filebrowser>
</group>

 

  1. USERS.CONFIG file

This file is located in the config folder. It describes the relation between users and group that the user belongs to. The same file's username and password may be configured.

Each group node in this file has an attribute that remembers the group name. All child nodes in the group node describes all the users that belongs to this group and defines the name and the password.

<groups>
<group name="admin">
<users>
<user name="a" password="a" />
</users>
</group>
<group name="ratkovic">
<users>
<user name="boki" password="bokkie" />
<user name="goran" password="goxxy" />
</users>
</group>
</groups>

 

Security settings for local testing of fCMS
When testing locally, set your modules path to a local folder. For example, if your fCMS backend files are at http://yourdomain.com/fCMS/ your fCMS settings may be:
fCMS Modules Path modules/
fCMS Server Path http://yourdomain.com/fCMS/

This will work when testing in the Flash authoring environment. You will also need to copy the modules folder from the fCMSBackend folder into the same folder where your .fla file is located. When testing in a browser, always upload your files to the web server first. In this case the paths can be relative.