OctoberCMS

October is a free, open-source, self-hosted CMS platform based on the Laravel PHP Framework. It is especially known for its simplicity, flexibility and modern design.


Note

For this guide you should be familiar with the basic concepts of

License

The OctoberCMS platform is released under the MIT License. All relevant information can be found in the LICENSE file in the repository of the project. Please also review the Marketplace terms if you plan to use plugins or themes from the official Marketplace.

Prerequisites

We’re using PHP in the stable version 7.1:

[isabell@stardust ~]$ uberspace tools version show php
Using 'PHP' version: '7.1'
[isabell@stardust ~]$

You’ll need your MySQL credentials. Get them with my_print_defaults:

[isabell@stardust ~]$ my_print_defaults client
--default-character-set=utf8mb4
--user=isabell
--password=MySuperSecretPassword
[isabell@stardust ~]$

Your domain needs to be set up:

[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$

Installation

We will install October using the official command-line interface (CLI). To do this simply cd into your DocumentRoot and use the the following command to download the install script using cURL and execute it with PHP.

[isabell@stardust ~]$ cd ~/html
[isabell@stardust isabell]$ curl -s https://octobercms.com/api/installer | php
All settings correct for installing OctoberCMS
Downloading OctoberCMS...
OctoberCMS successfully installed to: /var/www/virtual/$USER/html
[isabell@stardust ~]$

The installer script will download all necessary files including the CLI so you can directly continue with the configuation of your October installation afterwards.

Configuration

During the setup process you will be asked for database credentials. We use MySQL and suggest you use an additional database for October to save your data. You have to create this database first using the following command.

[isabell@stardust ~]$ mysql -e "CREATE DATABASE ${USER}_october"
[isabell@stardust ~]$

To start the CLI that will guide you trough the setup use the october:install command.

[isabell@stardust ~]$ cd ~/html
[isabell@stardust html]$ php artisan october:install
[...]
[isabell@stardust ~]$

The following list contains information on what you need to enter in the CLI setup:

  1. Database type: MySQL
  2. MySQL host: localhost (default)
  3. MySQL port: 3306 (default)
  4. Database name: isabell_october (the name of the database you just created)
  5. MySQL login: isabell (your username)
  6. MySQL password: your MySQL password that you’ve got from my_print_defaults client
  7. First name, Last name, Email adress: your account information
  8. Admin login: your admin username (to follow security best practices please don’t use admin here)
  9. Admin password: your admin password (please choose a strong, secure password to prevent hacking of your installation)
  10. Confirm that the entered information is correct
  11. Application URL: the domain of your uberspace e.g. https://isabell.uber.space
  12. Configure advanced options?: select no

With the confirmation of the last step October will setup your database and install a demo package.

You can now visit your domain and you will see the frontend of the installed demo package. To log in to the admin panel append /backend to your URL (e.g. https://isabell.uber.space/backend).

Best practices

You can use the October CLI which we used to setup your instace also to e.g. install plugins. See the Console command list to explore all possibilities.

Updates

Note

Check the update feed regularly to stay informed about the newest version. You will also be notified in the October backend if Updates are available.

To update October and your installed plugins you can use the october:update CLI command in the root directory of the application. This will update the core application and plugin files, followed by a database migration.

[isabell@stardust ~]$ cd ~/html
[isabell@stardust html]$ php artisan october:update
Updating October...
Found 1 new update!
Downloading application files
[...]
[isabell@stardust ~]$

Tested with OctoberCMS 1.0.443, Uberspace 7.1.14

Written by: Daniel Kratz <https://danielkratz.com>