A guide to installing October CMS 3 atop an existing Laravel 9 application. The significant steps involve replacing Laravel’s Illuminate package with October’s Rain package, which represents an extended technology version of Laravel and adds the necessary core features to run October CMS.
Be sure to follow this guide carefully, as slight differences exist in class names.
Install Laravel 9 and then October Rain
To get started, assume we have a brand new Laravel installation with the following command:
composer create-project laravel/laravel mylaravel
In the newly created directory, require the October CMS Rain library.
cd mylaravel composer require october/rain
Authenticate and Install October CMS
Authenticate with the October CMS gateway by setting your project key.
php artisan project:set <license key>
Require all the October CMS modules.
composer require october/all
When prompted to trust
composer/installers enter “y” for yes.
Do you trust "composer/installers" to execute code and wish to enable it now?
Replace Illuminate references with Rain Library
The following steps are used to replace Illuminate with Rain.
Update Application Container
In the file bootstrap/app.php the
Illuminate\Foundation\Application class should be replaced with
// File bootstrap/app.php // Replace $app = new Illuminate\Foundation\Application( $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__) ); // With $app = new October\Rain\Foundation\Application( $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__) );
Update HTTP Kernel
In the file app/Http/Kernel.php the
App\Http\Kernel class should extend
// File app/Http/Kernel.php // Replace use Illuminate\Foundation\Http\Kernel as HttpKernel; // With use October\Rain\Foundation\Http\Kernel as HttpKernel;
Update Console Kernel
In the file app/Console/Kernel.php the
App\Console\Kernel class should extend
// File app/Console/Kernel.php // Replace use Illuminate\Foundation\Console\Kernel as ConsoleKernel; // With use October\Rain\Foundation\Console\Kernel as ConsoleKernel;
Update Exception Handler
In the file app/Exceptions/Handler.php the
App\Exceptions\Handler class should extend
// File app/Exceptions/Handler.php // Replace use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; // With use October\Rain\Foundation\Exception\Handler as ExceptionHandler;
Publish October CMS Files
The following steps will copy the vendor files from October CMS. To publish the files, follow these steps:
- Open the October CMS public repo: GitHub - octobercms/october: Self-hosted CMS platform based on the Laravel PHP Framework.
- Navigate to Code → Download ZIP
- Save the zip and open it locally
Copy the following folders from the zip file.
Assuming that your database is configured and running, run the October CMS migration.
php artisan october:migrate
Next, to make CMS pages available to the frontend, remove or comment out the default route in the file routes/web.php.
Now you can open the
/backend route to set up the administrator account.
Some optional steps to configure your system:
- If you plan on using the default Laravel path for views, uncomment this in the config/view.php file.