These instructions are for the 18.04 droplet and have not been tested with Ubuntu 20.04

Like WordPress, October CMS is a PHP driven content management system.

October CMS Digital Ocean installation Video

Create an 18.04 LAMP droplet

First we need to select Linux Apache MySQL PHP droplet from Digital Ocean’s droplet Marketplace.

Selecting the LAMP on the Ubuntu 18.04 droplet.

Next choose a plan, if your website is starting from scratch and won’t receive too much traffic the cheapest plan will do. You can always upgrade later.

I went with the $5 droplet for this post.

Digital Ocean will send you an email with your initial login information. We’ll use the IP address and password to ssh into a terminal.

Now lets visit that IP address to see if everything is working. That screen should look similar to this one.

index.html

substitute 159.65.105.242 with your own IP address for your droplet below

$ ssh root@159.65.105.242

Update The Server

Now that we’ve set our new root password its time to update Ubuntu. Keep your password handy, you’ll need it later.

# apt update
# apt upgrade

Approve any package updates, using the default options.

Install October CMS

These instructions are adapted form a CentOS 7.2 post.

Install unzip and wget, we’ll use these to download the installation package and unpack the zip archive later.

# apt install unzip wget

Now we log into the server and set up the database by logging in as root. use the password you chose when we first connected to the droplet

# mysql -u root -p

Now we see a mysql> prompt in our terminal lets setup that database. Be sure to use your own desired database name, username and password.

CREATE DATABASE october;
GRANT ALL PRIVILEGES ON october.* to octoberuser@localhost IDENTIFIED BY 'your-password';
FLUSH PRIVILEGES;
EXIT;

Now that we’ve set up and exited the database and returned to the bash prompt time to download October CMS.

# wget http://octobercms.com/download
October is now downloaded to the root of your install.

Now we need to move that download file to the proper location at /var/www/html

# mv download /home/linuxboo/public_html/
# cd /home/linuxboo/public_html/
# ls
download should now be in the same folder as index.html

Now it’s time to rename download to download.zip so it can be properly expanded.

# mv download download.zip
# unzip download.zip
unzip of download.zip
# ls

Listing the contents of /var/www/html should reveal a directory and two files.

  • download.zip
  • index.html
  • install-master

We’ll need to remove both index.html and download.zip as they won’t be needed anymore.

# rm download.zip index.html

Next its time to move the contents of install-master into its parent folder /home/linuxboo/public_html/

# mv install-master/* /var/www/html

Next, let’s delete the almost empty install-master directory. There’s a .gitignore file still there so we’ll need to remove it first then the directory and list the results.

# cd install-master/
# rm .gitignore
# cd ..
# rmdir install-master/
# ls -a
You can let the README.md Markdown file remain, it’s merely installation instructions from the project. Give it a read if you like.

Now that we’re done with the directory file setup it’s time to move on to file permissions.

File Permissions

If you’ve set up WordPress on Ubuntu before this will look familiar.

# chown -R www-data:www-data /home/linuxboo/public_html/
# chmod -R 755 /home/linuxboo/public_html/

The result of reloading your live host should display an index

Click on install.php and let’s begin the guided installation.

Guided Install

The Installation page will likely list errors similar to this one.

The System Check screen displays the following errors so we’ll need to address them one at a time. In short we need some additional modules.

  • cURL PHP Extension is required
  • Mbstring PHP Extension is required
  • ZipArchive PHP Library is required

Once those three are installed Test connection to the installation server will correct itself 😀

Let’s search for those modules and note their names

# apt search cURL PHP
# apt search Mbstring PHP
# apt search Zip PHP
A search result for cURL PHP

Those PHP module names should look similar to these. If you’re using a newer version of PHP the number may be 7.3 or higher. You’ll receive other results as well, read those descriptions closely.

  • php7.2-curl
  • php7.2-mbstring
  • php7.2-zip

Let’s install those PHP modules; say yes to any dependencies.

# apt install php7.2-curl
# apt install php7.2-mbstring
# apt install php7.2-zip
# a2enmod rewrite

Now we’ll need to restart Apache for those PHP modifications to work.

# systemctl restart apache2

Reload the browser and we’ve cleared the minimum requirements to run October CMS

Keep calm, accept the MIT license and carry on…
October CMS server setup screen
Setting up the database
October CMS user setup screen
Setting up the administration user account
October CMS site setup screen
Setting up October’s default site
Choose a default theme screen
If you choose to Start from a theme nine options are available. More can be added later.
Congratulations!

Be sure to delete the installation files, the install.php script and the install_files directory and that readme.md file while you’re at it.

# rm -rf README.md install.php install_files/
Delete the installation files
Oh, don’t forget to delete the installation files.

Visit your new October CMS website!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.