Installing and upgrading
Backups
Security
User management
Advanced user group options
Customising ResourceSpace
Plugins
StaticSync
Configuring ResourceSpace
Integrations

Installing on Windows Server

IMPORTANT: Follow the below instructions but keep in mind you may need to adjust to be suitable for your own version of Windows Server OR preferences (name wise).

Please make sure the machine has a static IP and that you are using a user who is a member of the local administrators' group.

Install IIS

  • Click on the Start button and select Server Manager.
  • Click on "Add roles and features" to open the wizard.
  • Select "Role-based or feature-based installation" and click Next.
  • Choose the server from the server pool and click Next.
  • Check "Web Server (IIS)" and click Next.
  • Confirm the installation selections, and click Install.

Configure IIS application pool

  • Open IIS Manager.
  • Create a new Application Pool called "ResourceSpaceAppPool".
  • Edit Application pool -> Advanced Settings. Look for "Identity" and change it to "LocalSystem" then click OK.
  • Start the newly created Application Pool.
  • Create a new website called "ResourceSpace", make sure to specify the path to where you want to checkout ResourceSpace. Opt in to start website immediately.

Install MySQL

  • Go to the MySQL website and download the MySQL Installer for Windows.
  • Launch the installer and choose the setup type (Developer Default is recommended).
  • Follow the prompts to install MySQL Server and MySQL Workbench.
  • Configuration
    • Type and Networking: Choose the default settings.
    • Authentication Method: Choose the authentication method (Use Strong Password Encryption is recommended).
    • Accounts and Roles: Set up the root password and create additional user accounts if necessary.
    • Windows Service: Choose to run MySQL as a Windows service.
  • Finish the installation and start the MySQL server.

Install PHP

  • Go to the PHP for Windows website and download the latest stable version of PHP. Choose the "Thread Safe" version.
  • Extract the downloaded PHP zip file to a directory, e.g. C:\PHP
  • Configure PHP:
  • Add the PHP directory to the system PATH environment variable:
    • Open the Control Panel, go to System and Security > System > Advanced system settings.
    • Click on Environment Variables, find the Path variable in the System variables section, and edit it to include C:\PHP.

Configure IIS to Use PHP

  • Download and install the PHP Manager for IIS.
  • Go to Start, type "inetmgr" and press Enter.
  • In IIS Manager, select your server and open the PHP Manager. Click on "Register new PHP version" and select the path to php-cgi.exe in your PHP directory.
  • Ensure that IIS is configured to handle PHP files. This should be done automatically by PHP Manager, but you can verify by checking Handler Mappings in IIS Manager.
  • Create a file named info.php in the root directory of your website (e.g. C:\inetpub\wwwroot) with the following content:
    <?php phpinfo(); ?>
    Access this file through your web browser (http://localhost/info.php) to verify PHP is working correctly.

Enable PHP extensions

  • Open php.ini and ensure the PHP extensions required by ResourceSpace (mysqli, mbstring, intl etc) are enabled by uncommenting the lines, e.g.extension=mysqli.
  • Restart IIS to apply changes by opening a command prompt and typing iisreset.

Verify IIS settings for PHP with FastCGI

  • Open IIS Manager.
  • Select the server name in the panel on the left side.
  • Select FastCGI Settings on the right panel.
  • Confirm the Full path is correct.
  • With the server name selected on the left panel, also check "Default Document" and make sure it has index.php in the list.

Install dependencies

Note: you should install libraries where it is appropriate for your system.

Install Subversion

  • Go to https://tortoisesvn.net
  • When installing make sure to tick "command line client tools" to be installed as well

Set up ResourceSpace

  • Go to the location where you want ResourceSpace to be installed (i.e web root folder or subfolder inside web root)
  • Checkout from Subversion repository (See https://www.resourcespace.com/svn)
  • Create a new folder called filestore
  • Edit folder permissions for "filestore" and "include"
    • Right-click the "filestore" folder and choose "Properties"
    • Click the "Security" tab
    • Click Edit
    • Click Add
    • Click Locations
    • Navigate to and select the local machine name then click OK
    • Type "Everyone" in the box under "Enter the object names to select" then click OK
    • With the "Everyone" group selected in the "Groups or user names" section, check the box under the "Allow" column next to "Modify" then click Apply
    • Click OK twice to get out of those windows.
    • Repeat for "include" folder as well
  • Create database ( CREATE DATABASE resourcespace CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; )
  • In your browser, go to http(s)://localhost (note: if you installed in a subfolder, then obviously append the subfolder to the URL)
  • Leave "MySQL binary path" blank
  • In the Paths section just fill in the paths that you have set when you installed dependencies (should roughly be)
    • C:\imagemagick
    • C:\gs\gs9.10\bin
    • C:\ffmpeg\bin
    • C:\exiftool
  • Once installed, remove the folder permissions (ie undo allowing to Modify) for Everyone on the include folder. ResourceSpace will create the config.php file during the setup process. Once installed IIS only needs to be able to read the files.
  • Set a scheduled task to run [webroot]/pages/tools/cron_copy_hitcount.php, where [webroot] is the location of your ResourceSpace installation.

Setting up system tasks

When the system is in full use (i.e. when you go live) the file 'pages/tools/cron_copy_hitcount.php' should be set to execute regularly to ensure system task are completed and that user notifications are sent.  

Please refer to Setting up scheduled tasks/cron

Other issues

  • Make sure Web Server -> Web Server -> Application Development -> CGI is ticked for FastCGI otherwise you may get an error like: "Handler "PHP_via_FastCGI" has a bad module "FastCgiModule" in its module list"
  • If you experience occasional 500 errors when the system is performing a background task e.g. generating a video file, you can try increasing the Fast CGI activity timeout settings.  To do this, click on FastCGI settings under the server panel, edit the appropriate setting and edit the 'Activity timeout' value under the 'Process Model' section