How to install the Subrion CMS on Linux

Jack Wallen walks you through the process of installing the open source Content Management System, Subrion, on Ubuntu Server.

Image: Subrion

If your company is in need of a Content Management System (CMS), there are a bevy of available options, many of which are open source. One such option is the Subrion CMS. Subrion is a free, open source CMS that includes all the features you need:

  • Admin Dashboard
  • Easy content management (including blogs, custom fields, languages, emails)
  • Templates
  • Plugins
  • SEO Inclusive
  • Mobile friendly
  • User/group management
  • One-click upgrades

Subrion can be installed on any platform that includes the following requirements:

  • Apache 1.3 or above (mod_rewrite module installed)
  • MySQL 4.1 or above
  • PHP 5 or above (GD lib, XML lib, FreeType installed)

SEE: Side-by-side chart of popular Linux distros (Tech Pro Research)

I'm going to walk you through the process of installing Subrion on the Ubuntu Server 16.04 platform. The process isn't difficult, nor should it consume too much of your time.

Let's get to work.


The first thing will do is update and upgrade our server. Remember, this process could upgrade your kernel, which would require a reboot. If this is a production server, make sure the upgrade happens at a time when a reboot is feasible.

To update and upgrade the Ubuntu Server, open a terminal window and issue the commands:

sudo apt-get update
sudo apt-get upgrade

Once those commands finish, if the kernel is upgraded, reboot the server with the command sudo reboot.

Installing dependencies

The next step is to install the necessary dependencies. We'll first install the web and database servers with the following commands:

sudo apt-get install apache2
sudo apt-get install mysql-server

During the MySQL server install, you will be required to create/verify an admin user password.

Now we'll install the remaining dependencies. Back at the terminal window, issue the following command:

sudo apt-get install php libapache2-mod-php php-mysql php-mbstring php-xml php-gd unzip

Create the database

We now must create a database for Subrion. From the terminal window, issue the command:

mysql -u root -p

Type the admin user password you created during the MySQL server installation. From the MySQL prompt, type the following commands:


where PASSWORD is a unique, strong password.

Configure Apache

Apache must be configured to know about Subrion, as well as have mod_rewrite, php7.0, and mpm_prefork enabled. The first thing to do is edit the default Apache .conf file to add the mod_rewrite options. Issue the command:

sudo nano /etc/apache2/sites-available/000-default.conf

In that file, add the following under the DocumentRoot /var/www/html line:

<Directory /var/www/html>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
       Require all granted

Save and close that file.

Enable the modules with the commands:

sudo a2enmod mpm_prefork
sudo a2enmod php7.0

Restart Apache with the command:

sudo systemctl restart apache2

Download the Installer Package

Now we're going to download the source package, unpack it, and give it the necessary permissions. First change into the /var/www/html directory with the command:

cd /var/www/html

Download the necessary file with the command:

sudo wget

Unzip the file with the command:

sudo unzip

Set the necessary permissions with the following commands:

sudo chmod -R 777 tmp/ modules includes/
sudo chmod 777 backup/ uploads/

Start the web-based installer

Open a browser and point it to http://SERVER_IP/install (where SERVER_IP is the IP address of the server hosting Subrion). This should land you on the pre-installation check, where everything should test out okay (Figure A).

Figure A

Figure A

The Subrion pre-installation checks out.

Click Next to begin the installation. This process requires the following:

  • License agreement (it's a GPL license, so just click Next).
  • General/Database/Administrator setup (Figure B).

Figure B

Figure B

The Subrion install configuration page.

Once you've configured Subrion, click Next and you'll find yourself on the final page (Figure C), where you can install plugins, or go directly to either the Admin panel or the Home page.

Figure C

Figure C

The Subrion installation is complete.

The final step is to change the permissions of the Subrion configuration file so that it is unwritable and remove the install.php file. Do this with the commands:

sudo chmod u-w /var/www/html/includes/
sudo rm /var/www/html/install/modules/module.install.php

At this point you can continue configuring Subrion to perfectly meet the needs of your business. Congratulations on successfully installing a powerful, flexible, open source Content Management System.

Also see

By Jack Wallen

Jack Wallen is an award-winning writer for TechRepublic, The New Stack, and Linux New Media. He's covered a variety of topics for over twenty years and is an avid promoter of open source. For more news about Jack Wallen, visit his website jackwallen....