October includes several command-line interface (CLI) commands and utilities that allow to install October, update it, as well as speed up the development process. The console commands are based on Laravel's Artisan tool. You may develop your own console commands or speed up development with the provided scaffolding commands.
Console installation can be performed using the native system or with Composer to manage dependencies. Either approach will download the October application files and can be used right away. If you plan on using a database, be sure to run the install command after installation.
Run this in your terminal to get the latest copy of October:
curl -s https://octobercms.com/api/installer | php
Or if you don't have curl:
php -r "eval('?>'.file_get_contents('https://octobercms.com/api/installer'));"
Download the application source code by using create-project
in your terminal. The following command will install to a directory called /myoctober.
composer create-project october/october myoctober
Once this task has finished, open the file config/cms.php and enable the disableCoreUpdates
setting. This will disable core updates from being delivered by the October gateway.
'disableCoreUpdates' => true,
If you are actively developing a site and would like to get the latest and greatest changes for October when updating, then update the composer.json
file to use the following; which enables you to test the latest improvements on the develop branch.
"october/rain": "dev-develop as 1.0",
"october/system": "dev-develop",
"october/backend": "dev-develop",
"october/cms": "dev-develop",
"laravel/framework": "5.5.*@dev",
When updating October, use the composer update command as normal before performing a database migration.
composer update
Composer is configured to look inside plugin directories for composer dependencies and these will be included in updates.
Note: To use composer with an October instance that has been installed using the Wizard installation, simply copy the
tests/
directory,composer.json
file andserver.php
file from GitHub into your October instance and then runcomposer install
.
The october:install
command will guide you through the process of setting up OctoberCMS for the first time. It will ask for the database configuration, application URL, encryption key and administrator details.
php artisan october:install
You also may wish to inspect config/app.php and config/cms.php to change any additional configuration.
Note: You cannot run
october:install
after runningoctober:env
.october:env
takes the existing configuration values and puts them in the.env
file while replacing the original values with calls toenv()
within the configuration files.october:install
cannot now replace those calls toenv()
within the configuration files as that would be overly complex to manage.
The october:update
command will request updates from the October gateway. It will update the core application and plugin files, then perform a database migration.
php artisan october:update
Note: If you are using composer, the core application files will not be downloaded and
composer update
should be called before running this command. Additionally: If you are using composer to manage all of your dependencies (as opposed to the marketplace) then useoctober:up
to run the pending migrations instead ofoctober:update
.
The october:up
command will perform a database migration, creating database tables and executing seed scripts, provided by the system and plugin version history. The migration command can be run multiple times, it will only execute a migration or seed script once, which means only new changes are applied.
php artisan october:up
The inverse command october:down
will reverse all migrations, dropping database tables and deleting data. Care should be taken when using this command. The plugin refresh command is a useful alternative for debugging a single plugin.
php artisan october:down
October includes a number of commands for managing plugins.
plugin:install
- downloads and installs the plugin by its name. The next example will install a plugin called AuthorName.PluginName. Note that your installation should be bound to a project in order to use this command. You can create projects on October website, in the Account / Projects section.
php artisan plugin:install AuthorName.PluginName
plugin:refresh
- destroys the plugin's database tables and recreates them. This command is useful for development.
php artisan plugin:refresh AuthorName.PluginName
plugin:list
- Displays a list of installed plugins.
php artisan plugin:list
plugin:disable
- Disable an existing plugin.
php artisan plugin:disable AuthorName.PluginName
plugin:enable
- Enable a disabled plugin.
php artisan plugin:enable AuthorName.PluginName
plugin:remove
- destroys the plugin's database tables and deletes the plugin files from the filesystem.
php artisan plugin:remove AuthorName.PluginName
October includes a number of commands for managing themes.
theme:install
- download and install a theme from the Marketplace. The following example will install the theme in /themes/authorname-themename
php artisan theme:install AuthorName.ThemeName
If you wish to install the theme in a custom directory, simply provide the second argument. The following example will download AuthorName.ThemeName
and install it in /themes/my-theme
php artisan theme:install AuthorName.ThemeName my-theme
theme:list
- list installed themes. Use the -m option to include popular themes in the Marketplace.
php artisan theme:list
theme:use
- switch the active theme. The following example will switch to the theme in /themes/rainlab-vanilla
php artisan theme:use rainlab-vanilla
theme:remove
- delete a theme. The following example will delete the directory /themes/rainlab-vanilla
php artisan theme:remove rainlab-vanilla
October includes a number of utility commands.
cache:clear
- clears the application, twig and combiner cache directories. Example:
php artisan cache:clear
october:fresh
- removes the demo theme and plugin that ships with October.
php artisan october:fresh
october:mirror
- creates a mirrored copy of the public files needed to serve the application, using symbolic linking. This command is used when setting up a public folder.
php artisan october:mirror public/
october:env
- changes common configuration values to DotEnv syntax.
php artisan october:env
october:util
- a generic command to perform general utility tasks, such as cleaning up files or combining files. The arguments passed to this command will determine the task used.
Outputs combined system files for JavaScript (js), StyleSheets (less), client side language (lang), or everything (assets).
php artisan october:util compile assets
php artisan october:util compile lang
php artisan october:util compile js
php artisan october:util compile less
To combine without minification, pass the --debug
option.
php artisan october:util compile js --debug
This will execute the command git pull
on all theme and plugin directories.
php artisan october:util git pull
Deletes all generated thumbnails in the uploads directory.
php artisan october:util purge thumbs