ResourceSpace installation on Ubuntu

Introduction

This guide covers how to install ResourceSpace on Ubuntu — an open-source digital asset management (DAM) system used for organizing, tagging, and sharing media files like images, videos, and documents.

The original package and configuration steps for this contain a few real issues worth fixing before you run them: a broken apt-get command (mixed commas and spaces), references to PHP 5 and a package that no longer exists in current Ubuntu repositories, an incorrect PHP configuration file path, and an insecure file permission setting. This guide walks through the corrected version.


Implementation

I. Prerequisites

Before you install ResourceSpace on Ubuntu, make sure you have:

  • An Ubuntu server (a currently supported LTS release — 22.04 or 24.04)
  • SSH access with root or sudo privileges
  • MySQL or MariaDB installed and running

II. Install Required Packages

The original package list mixed commas and spaces in a single apt-get command, which breaks the command entirely — apt-get expects a space-separated list, not comma-separated. It also referenced php5, which reached end-of-life in 2018 and isn’t available in current Ubuntu repositories, and libav-tools, which was removed from Ubuntu repositories after 16.04 in favor of ffmpeg.

Here’s the corrected install command for a current Ubuntu LTS release:

sudo apt update
sudo apt install -y apache2 php php-gd php-mysql php-xml subversion nano imagemagick ghostscript antiword xpdf ffmpeg postfix libimage-exiftool-perl cron wget

Note: php on current Ubuntu resolves to the version shipped with that release (PHP 8.x on 22.04/24.04). Check ResourceSpace’s current system requirements to confirm compatibility with your specific Ubuntu and PHP version before proceeding.

III. Download ResourceSpace

Move to the document root and check out the application via Subversion:

cd /var/www/html
sudo svn co http://svn.resourcespace.org/svn/rs/trunk resourcespace
cd resourcespace

IV. Create the Filestore Directory

ResourceSpace stores uploaded files in a dedicated directory, which needs to be writable by the web server:

mkdir filestore
sudo chown -R www-data:www-data filestore
sudo chmod -R 750 filestore

Security note: The original chmod 777 makes the directory world-writable — readable and writable by any user or process on the system, not just the web server. Setting ownership to www-data (Apache’s default user on Ubuntu) and using 750 permissions instead gives the web server the access it needs without exposing the directory to every other user on the server.

V. Configure PHP Settings

The original guide referenced a single /etc/php.ini file, which doesn’t exist on current Ubuntu versions — PHP’s configuration is split by SAPI (the interface PHP uses to run), with a separate php.ini for Apache and for the command line.

Find your Apache PHP configuration file first:

php -v

Note the version number shown, then edit the corresponding Apache php.ini:

sudo vi /etc/php/8.1/apache2/php.ini

(Replace 8.1 with your actual installed PHP version.)

Update these values to meet ResourceSpace’s minimum requirements:

memory_limit = 200M
post_max_size = 100M
upload_max_filesize = 100M

VI. Restart Apache

sudo systemctl restart apache2

VII. Create the Database

Log in to the MySQL prompt:

sudo mysql -u root -p

Create the database and a dedicated user, remembering the semicolons the original commands were missing (required to terminate SQL statements):

CREATE DATABASE resourcespace_db;
CREATE USER 'rs_user'@'localhost' IDENTIFIED BY 'Str0ng-Unique-Passw0rd!';
GRANT ALL PRIVILEGES ON resourcespace_db.* TO 'rs_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Security note: Replace the database name, username, and password with real, unique values. Avoid short or predictable passwords, and never reuse a password across multiple services.

VIII. Complete the Web-Based Installation

Access the application in your browser:

http://your-server-ip

or

http://your-domain.com

Follow the on-screen installer, entering the database name, username, and password created in Step VII, then set up your admin login details to complete the installation.

IX. Conclusion

Installing ResourceSpace on Ubuntu comes down to a corrected package list (swapping outdated php5 and libav-tools references for their current equivalents), a properly secured filestore directory, the right PHP configuration file path for your specific PHP version, and a database created with valid SQL syntax. With those fixed, the web-based installer handles the rest.


Frequently Asked Questions

Do I need to use Subversion (SVN) to get ResourceSpace, or is there another option? SVN is ResourceSpace’s traditional distribution method and still works as shown, but check the ResourceSpace GitHub repository as well, since some deployments now prefer downloading a release archive or cloning via Git instead.

Why was chmod 777 a problem if it made the install work? 777 permissions make a directory writable by any user or process on the system, not just the web server — meaning any other account or process on a shared or compromised server could write to, replace, or delete files in your filestore. Scoping ownership and permissions to just the web server user (as shown in Step IV) achieves the same functional result without that exposure.

What if my PHP version isn’t in the standard Ubuntu repositories? If your Ubuntu release doesn’t ship a PHP version compatible with your ResourceSpace version, check the Ondřej Surý PPA, a widely used community repository that provides current and legacy PHP versions for Ubuntu.


Talk to Our Technology Experts

Setting up a digital asset management system or need help with a broader web application deployment? Our team can help with server configuration, application deployment, database setup, and ongoing infrastructure support.

Connect with our technology experts.

admin

Writes about Web & Architecture at Pheonix Solutions.

Leave a Reply

Scroll to Top