Why use SilverStripe? How to install on a VPSie

Open Source

Why would you use SilverStripe, and how do you install it and set it up?

WordPress, Joomla, Drupal, and SilverStripe, These are examples of the Content Management Systems (CMS’s) available.

Each CMS offers advantages and disadvantages to its speed, security, and extensibility. . “Why would you use SilverStripe?”.

1-The Framework

SilverStripe aka SilverStripe Frame, SilverStripe Frame is formerly known as sapphire framework.

The software framework, according to Wikipedia:

“In programming, a software framework is a contemplation where software supplying generic functionality can be changed/edited by added user-written code.”

SilverStripe offers an enormous amount of flexibility to developers allowing you to focus on excellent user experiences and functionality instead of the basics.

3- The CMS 

The SilverStripe CMS is simple to navigate and fast to boot. The SiteTree gives content editors an understanding of their website’s page hierarchy

4- View Modes

While editing a page in the CMS, the material editor may choose between Three different “view modes.

 1.edit mode

 2.split mode

 3.preview mode. 

 Using these view modes can restructure the editing process from the CMS.

Edit Mode: Edit mode provides The whole CMS perspective and is excellent for lower resolution displays.

Split Mode: Split mode gives a preview of this page your editing + the CMS edit display. Ideal for high-resolution devices

Review mode: Preview mode gives a preview of this webpage you are currently editing.

Using the various view styles, you may alter the mode to suit your taste, and you no longer need to change back and forth between two different tabs/windows to see what the page looks like with your new Content. 

5- GridField

The advantages of using the SilverStripe include this fantastic piece of re-usable code, known as a GridField. GridFields are assigned to handle data on your website. For example, the safety section in the CMS in which you control users and groups using GridField.

What pros do this offer you as a company owner or article editor?

1-Less time and money spent creating the interface and controls for managing your website.

2- A consistent interface for handling data on your site.

6- Extensibility 

The SilverStripe CMS is built to be extremely extensible, which means core features can be expanded/updated to suit your website needs. It also contributes to a more manageable code. As your site needs to change and grow, the code may also.

7- Security 

Is SilverStripe 100% secure from malicious activity? I would be misleading if i said it was. SilverStripe provides one enormous security advantage compared to the very popular CMS, WordPress, directly linked to its popularity.

WordPress is a popular CMS. While this is useful for WordPress, this also makes it a massive target for hackers. In April 2014, there was a significant assault on WordPress websites producing “botnet.” WordPress sites

have been attacked by brute-force methods to acquire administrative credentials. Does this mean SilverStripe is secure from the same form of attack? It does not, but due to its popularity, it’s not as exceptionally targeted by hackers.

8- Built-in Security / Permissions

SilverStripe comes equipped with the resources to manage Group/User permissions.

9-Site Migration is a Snap 

Moving a website from 1 host or domain name to another is a snap. There is no additional need to manually update, run a search and replace, or use a 3rd party tool to update database tables.

10-AwesomeCommunity Support 

There’s a lot of modules to choose from on http://addons.silverstripe.org/, The modules available include all types of helpful tools and services, and because of the frame, modules can be expanded/updated to include other versions.

  • Ubuntu 16.04 VPSie with SSH access
  • A non-root sudo user

1: Update Ubuntu

Before installing any packages on the Ubuntu server instance, we will first update the system. Log in to the server using a non-root sudo user and run the following commands.

sudo apt-get update

sudo apt-get -y upgrade

2: Install Apache Web Server

Install the Apache2 web server.

sudo apt-get -y install apache2

And then use the systemctl command to start and enable Apache to execute automatically at boot time.

sudo systemctl enable apache2

sudo systemctl start apache2

Now enable the mod_rewrite Apache module.

    sudo a2enmod rewrite 

We now need to edit Apache’s default site file so that mod_rewrite will work correctly with SilverStripe. You can use any terminal editor for this.

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

Now add the following Directory Apache directives just before the closing </VirtualHost> tag, so the end of your configuration file should look like this.

    <Directory /var/www/html/>

        Options Indexes FollowSymLinks MultiViews

        AllowOverride All

        Order allow,deny

        allow from all

    </Directory>

</VirtualHost>

The most important directive shown above is AllowOverride All.

Also, make sure your DocumentRoot directive (which should be near the top of the file) points to the right place. It should look like this.

DocumentRoot /var/www/html

We will restart Apache at the end of this tutorial, but restarting Apache after any configuration change is certainly a good habit, so let’s do it now.

sudo service apache2 restart

3: Install PHP 7.0

Install the latest version of PHP along with the PHP modules required by SilverStripe.

sudo apt-get -y install php php7.0-gd php7.0-mbstring php7.0-mysql libapache2-mod-php php7.0-xml php7.0-curl php7.0-tidy

Please note: If you are using a later version of PHP such as PHP 7.1, you may need to alter the above PHP modules’ version numbers to match your version of PHP. So, for example, if you are using PHP 7.1 you would probably change the module php7.0-gd to php7.1-gd. Please note that sometimes module names change between versions, so if you experience any problems, visit the excellent PHP documentation site for guidance.

The date.timezone configuration option in php.ini must be set correctly. So open your php.ini file with your favourite terminal editor.

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

Set the date.timezone option to your preferred timezone for example.

date.timezone = Europe/London

4: Install MySQL

Install MySQL.

sudo apt-get -y install mysql-server

During the MySQL server installation, make sure you enter a secure password for the MySQL root user. This root user is different from the root user in Ubuntu as it is only used for connecting to your database server with full privileges.

Start and enable MySQL to execute automatically at boot time.

sudo systemctl enable mysql

sudo systemctl start mysql

Secure your MySQL server installation.

sudo mysql_secure_installation

When prompted, enter the password you created for the MYSQL root user during installation and choose the security options appropriate for your particular use-case. Generally, choosing the most secure answers and answering “Y” to all of the yes/no questions makes the most sense.

5: Create a Database for SilverStripe

Log into the MySQL shell as the MySQL root user by running the following command.

sudo mysql -u root -p

Enter the root password to log in.

Run the following queries to create a MySQL database and database user for SilverStripe.

CREATE DATABASE silverstripe_data CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE USER ‘silverstripe_user’@’localhost’ IDENTIFIED BY ‘SuperSecurePassword’;

GRANT ALL PRIVILEGES ON silverstripe_data.* TO ‘silverstripe_user’@’localhost’;

FLUSH PRIVILEGES;

EXIT;

You can replace the database name silverstripe_data and username silverstripe_user with something more to your liking, if you prefer. Be sure to change “SuperSecurePassword” to an actually secure password.

6: Install Silverstripe CMS Files

Change your current working directory to the default web directory.

cd /var/www/html/

If you get an error message saying something like ‘No such file or directory’ then try the following command.

cd /var/www/ ; sudo mkdir html ; cd html

Your current working directory should now be /var/www/html/. You can check this with the pwd (print working directory) command.

pwd

Now use wget to download the SilverStripe CMS tarball.

sudo wget https://silverstripe-ssorg-releases.s3.amazonaws.com/sssites-ssorg-prod/assets/releases/SilverStripe-cms-v3.6.2.tar.gz

Please Note You should check for the most recent version by checking the official SilverStripe download page. Once at the page right-click on the download button on the page and copy the URL. You can then paste the most up to date tarball URL into the wget command shown above.

List the current directory to check you have successfully downloaded the file.

ls -la

Now, uncompress the tarball.

sudo tar xvzf SilverStripe-cms-v3.6.2.tar.gz

Change ownership of the files to avoid permissions problems.

sudo chown -R www-data:www-data * .htaccess

Let’s restart Apache again.

sudo service apache2 restart

Now we’re ready to move on to the final step.

7: Complete SilverStripe CMS Installation

It’s time to visit the IP address of your VPSie Ubuntu server in your browser. Or, if you’ve already configured your VPSie or CloudFlair DNS settings (and given it enough time to propagate), you can visit your domain name URL instead of using an IP address.

Input the following database details (or your equivalent choices) into the SilverStripe installation page.

Database server: localhost

Database username: silverstripe_user

Database password: UltraSecurePassword

Database name: silverstripe_data

Now fill in your email, password (to access the SilverStripe admin section), and set your default language.

Email: my_email@example.com

Password: AnotherUltraSecurePassword

Default language: English UK (in my case)

Once you have filled in all the necessary details, you can click on the Install SilverStripe button, and your new SilverStripe CMS will successfully install.

8. Finalizing the setup and install.

8: Finalaizing the setup and install

Please Note: You may get a warning about installation files not being removed. If that’s the case, return to the terminal and run this.

sudo rm install.php index.html

Refresh the warning page in your browser 1 or 2 times and use a clear cache free browser plugin/extension to make sure it is not a not updated cache/dns issue.

SilverStripe can also be installed with 1 or 2 clicks using Softaculous via most control panels such as cPanel.

Related Articles