DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
VGSources
Blog

How to Install October CMS 4.x on an Ubuntu VPS

A complete October CMS 4.x Ubuntu VPS installation guide covering requirements, Composer and wizard installs, database setup, Nginx configuration, production authentication, migrations, asset mirroring and troubleshooting.
Length10 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To install October CMS 4.x on an Ubuntu VPS, use PHP 8.2 or newer, Composer 2 or newer, the required PHP extensions, and a supported database. The standard Composer installation is composer create-project october/october myoctober, followed by php artisan october:install and php artisan october:migrate. Configure Nginx to serve the project’s public/ directory, not the project root.

If Composer cannot be used, October CMS also provides a browser-based wizard. It requires an empty writable directory and browser access to install.php. The wizard is an alternative installation method, not a way to bypass October CMS’s server and PHP requirements.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

October CMS 4.x requirements on Ubuntu

Check the server before creating the application. A VPS that runs an older PHP release may install successfully at the operating-system level but fail during October CMS setup or dependency resolution.

Component October CMS 4.x requirement What to verify
PHP 8.2.0 or higher php -v must report a compatible version for the command-line PHP and the PHP runtime used by Nginx.
Composer 2.0 or higher composer --version should show Composer 2.x.
PHP extensions PDO, cURL, OpenSSL, Mbstring, ZipArchive, GD and SimpleXML Check the loaded modules with php -m. The database-specific driver is also required.
Database MySQL 5.7 or MariaDB 10.2; PostgreSQL 9.6; or SQLite 3.8.8 Use a database version supported by your selected Ubuntu image and October CMS release.
Web server Apache, Nginx, Lighttpd or Microsoft IIS This guide uses Nginx.
Memory 256 MB or more allocated memory, as listed by the official installer repository Account for the operating system, database, Composer processes and site traffic in addition to this baseline.
Disk and permissions Enough space for the application, vendor packages, uploads, logs and database The project and the directories October CMS writes to must be writable by the appropriate deployment or web-server account.

October CMS describes itself as a PHP web application that uses Composer to manage its dependencies. Composer is therefore the normal installation and deployment path for a new 4.x project.

Prepare the Ubuntu VPS

1. Connect and update package metadata

Log in to the VPS with an account that can use sudo. Update Ubuntu before installing PHP or Nginx packages:

sudo apt-get update

Exact package names and the PHP version supplied by Ubuntu vary by release and image. Confirm the resulting PHP version is at least 8.2 before proceeding.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Install the PHP dependencies

The October CMS installer repository lists this dependency command for Ubuntu:

sudo apt-get update && sudo apt-get install php php-ctype php-curl php-xml php-fileinfo php-gd php-json php-mbstring php-mysql php-sqlite3 php-zip

This command includes the MySQL and SQLite drivers. If you select PostgreSQL, install the PostgreSQL PHP driver supplied for your Ubuntu/PHP combination as well. The command does not replace the PHP-version check: a machine can have every listed extension while still running an unsupported PHP release.

3. Verify PHP and extensions

Run the checks from the same account that will run Composer and Artisan:

php -v
php -m

Confirm that PHP reports 8.2.0 or newer and that the module list contains the required capabilities, including PDO, cURL, OpenSSL, mbstring, ZipArchive, GD and SimpleXML. If a module is absent, install the matching Ubuntu package, then repeat the check. When PHP has separate command-line and Nginx/FPM installations, verify both use the intended version.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

4. Install or verify Composer

Install Composer 2 through your Ubuntu package source or Composer’s official installation method, then verify it:

composer --version

Do not continue with Composer 1. October CMS 4.x requires Composer 2.0 or newer, and a version mismatch normally appears while resolving the project dependencies.

5. Prepare a database

Create an empty database and a dedicated database account using the database server’s administration tools. Record the database name, user, password, host and port; the October installer will ask for these values. Do not use the database administrator account for the website unless there is no practical alternative. For a small single-site VPS, SQLite can be simpler, while MySQL, MariaDB or PostgreSQL is generally more appropriate when you need a separate database service, backups or multiple applications.

Install October CMS with Composer

The Composer route keeps the application and its dependencies in a reproducible project directory. The commands below use myoctober as the directory name; replace it with the directory you will serve.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

1. Create the project

composer create-project october/october myoctober

Composer downloads October CMS and its dependencies into myoctober. Run this in the parent directory where the application should live, such as a deployment directory outside your home directory. Avoid placing the project directly in a temporary directory that will later be removed.

2. Enter the project

cd myoctober

All subsequent php artisan commands must run from this project directory so Artisan can load the application and its dependencies.

3. Run the October installer

php artisan october:install

The command guides the initial configuration. Supply the database connection details when prompted and allow it to create the application configuration. Keep credentials accurate: a typo in the database host, port or password prevents the later migration step from connecting.

4. Initialize the database

php artisan october:migrate

The migration command creates and updates the tables required by the installed October CMS version. If it reports a connection error, check the database service, credentials, selected driver and PHP database extension before repeating the command.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Create the administrator account in the browser

After the command-line installation finishes, configure the Nginx virtual host and browse to the site’s domain. October CMS then lets you access the backend panel and create the administrator user profile. Use a unique administrator password and store it in a password manager.

Use the non-Composer wizard when Composer is unavailable

The official wizard is intended for environments where Composer cannot be run. It does not remove the need for a compatible PHP environment, database and web server.

  1. Prepare an empty directory for the October CMS installation.
  2. Download the October CMS installer archive using a trusted official distribution channel and unpack it into that directory.
  3. Grant the installation directory and its contents the write permissions required by the wizard. Prefer ownership by the deployment/web-server account and narrowly scoped write permissions rather than making the entire VPS filesystem world-writable.
  4. Configure the domain or temporary virtual host so the directory can be reached by a browser.
  5. Open install.php at that address and follow the wizard’s steps for database and administrator setup.
  6. After installation, remove or protect any installer files if the wizard instructs you to do so, and ensure the public document root is the application’s public directory where applicable.

This path is useful on a locked-down server, but Composer remains the clearer choice for repeatable updates and production deployments.

Configure Nginx for October CMS

Serve only the public directory

Point the Nginx document root at the project’s public/ directory, for example:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
/var/www/myoctober/public

Use your real project path instead of this example. Do not set the document root to /var/www/myoctober; that would expose application files that should remain outside the web root.

Base the server block on October’s supplied configuration

October CMS’s deployment guidance provides an nginx.conf file in the project. Use that file as the basis for the Nginx server block rather than inventing a generic PHP rewrite configuration. A typical layout has the project outside the public root and includes the project configuration from the virtual-host definition:

server {
    server_name example.com www.example.com;
    root /var/www/myoctober/public;

    # Use the nginx.conf supplied with this October CMS project here.
    # Replace the path with the actual project location.
}

The exact directives depend on the October CMS release and your Ubuntu Nginx package. Preserve the supplied rules for front-controller routing, static files and PHP handling, and change only paths, host names and socket details required by your VPS.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Enable the domain and reload Nginx

  1. Create the virtual-host file in the location used by your Ubuntu Nginx layout.
  2. Set server_name to the domain you will use and set root to the project’s public/ directory.
  3. Make the site available through Ubuntu’s Nginx configuration and ensure the required PHP handler is enabled.
  4. Check the configuration before reloading:
sudo nginx -t
  1. Reload Nginx after the test succeeds:
sudo systemctl reload nginx

If the test fails, fix the reported file, directive or path before reloading. A browser showing the default Nginx page usually means the request reached a different server block; verify DNS, server_name, the enabled-site configuration and the document root.

Check DNS and the first browser request

Point the domain’s DNS records at the VPS address before opening the installer or backend. Once DNS resolves to the server and Nginx is serving the project, visit the domain in a browser and complete any remaining October CMS setup prompts. The browser must be able to reach the same PHP runtime and database configuration that you tested from the command line.

Deploy an October CMS project to production

A production deployment differs from the first local-style installation because a Composer project may need authentication and production-only dependency settings.

1. Place the project on the server

Clone or otherwise transfer the project into the server’s deployment directory. Keep the repository’s application files outside the Nginx public root; only public/ should be directly served.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Provide Composer authentication

If the project requires Composer authentication, copy its auth.json to the server securely, or recreate the project association with:

php artisan project:set <license key>

Protect the authentication file and license information with the same care as database credentials. Do not place secrets in a publicly served directory or commit them to a public repository.

3. Install production dependencies

composer install --no-dev

Run this from the project directory. The --no-dev option excludes development dependencies intended for local work.

4. Create and edit the environment file

cp .env.example .env

Edit .env with production application, database and other service settings. Never commit .env; it contains sensitive credentials and environment-specific values.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Run migrations

php artisan october:migrate

Run migrations only after the production database connection in .env is correct. Take the database backup and follow your change-control procedure before applying migrations to an existing site.

6. Mirror public assets

php artisan october:mirror

The mirror command exposes assets required in public/. Run it again whenever you add or update plugins or themes whose assets need to be publicly available. A missing mirrored asset can appear as broken styles, scripts or images even though the plugin itself installed correctly.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot the most common installation failures

Composer refuses to create the project

  • Run php -v and confirm PHP is 8.2 or newer.
  • Run composer --version and confirm Composer is 2.0 or newer.
  • Check php -m for missing extensions, especially PDO, cURL, mbstring, XML/SimpleXML, GD and ZipArchive.
  • Check available memory. The installer repository lists 256 MB or more; a low-memory VPS may need a larger plan or temporary swap configured according to your provider’s guidance.

october:install or october:migrate cannot connect to the database

  • Confirm the database service is running and reachable on the configured host and port.
  • Verify the database name, user, password and driver in the installer or .env.
  • Make sure the matching PHP database extension is installed; the Ubuntu command above includes MySQL and SQLite drivers, while PostgreSQL needs its corresponding driver.
  • Check that the database user has permission to create and alter the application’s tables.

Nginx returns 403, 404 or downloads PHP files

  • Confirm the root is the project’s public/ directory, not the project root.
  • Use the October project’s supplied nginx.conf as the configuration basis.
  • Check ownership and read/execute permissions on every parent directory.
  • Run sudo nginx -t, inspect the active server block and reload Nginx after corrections.
  • If PHP files download instead of executing, the Nginx PHP handler or PHP-FPM socket is not connected to the intended PHP version.

The site loads but CSS, JavaScript or plugin images are missing

  • Confirm the affected plugin or theme is installed in the project.
  • Run php artisan october:mirror from the project directory.
  • Check that Nginx can read the resulting files under public/ and that the browser is requesting the correct domain and paths.

The wizard cannot write files

Grant write access to the installation directory and its contents for the account used by the web server or installer. Correct ownership and targeted permissions are safer than a blanket world-writable setting. After setup, reduce permissions to the minimum required for normal operation.

Choose the October CMS major version deliberately

Do not select a major version solely because it is already installed on another server. Compare PHP compatibility, Composer constraints, database support, license or project-authentication behavior, and whether the application is pinned to a specific major release.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Major version PHP information established in the documentation When it may be appropriate
4.x PHP 8.2.0 or higher; Composer 2.0 or higher; current guide in this article New installations and projects that can meet the current requirements.
3.x PHP 8.0 or higher An existing application already pinned to 3.x, subject to that release’s own dependency and database requirements.
2.x Older requirements; the documentation explicitly warns that version 2 is not compatible with PHP 8.1 Only an existing legacy application whose dependencies and runtime are intentionally maintained for 2.x.

If you are migrating an existing site, identify its locked October CMS major version before upgrading PHP or replacing the VPS. A server that satisfies 4.x may still break a 2.x application, while downgrading PHP to preserve an old application can prevent a new 4.x installation.

Post-install checklist

  • PHP reports 8.2.0 or newer for October CMS 4.x.
  • Composer reports version 2.0 or newer.
  • Required PHP extensions are loaded for the PHP runtime used by both CLI and Nginx.
  • A supported MySQL, MariaDB, PostgreSQL or SQLite database is configured.
  • The project’s Nginx root is public/, with the supplied October Nginx configuration incorporated into the server block.
  • The domain resolves to the VPS and the October backend opens in a browser.
  • Production deployments have secure Composer authentication, a correctly configured uncommitted .env, completed migrations and mirrored assets where needed.
  • Administrator credentials, database credentials and deployment secrets are stored securely.
  • Backups cover both the database and uploaded/application data before future upgrades or migrations.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

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

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.