Free tools Windows power users keep installed
One-click scans. No signup required.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
To install October CMS 4.x on an Ubuntu VPS, provision PHP 8.2 or newer with the required extensions, Composer 2 or newer, at least 256 MB of allocated memory, and a supported database. The standard installation is three commands: composer create-project october/october myoctober, php artisan october:install, and php artisan october:migrate.
For production, point Nginx at the project’s public/ directory, use October’s supplied Nginx configuration as the basis for the virtual host, configure authentication and .env values, run migrations, and mirror assets when plugins or themes require it. If Composer is unavailable, the official browser wizard can install from an archive instead.
Requirements for October CMS 4.x
Check the server against these requirements before creating the project. October CMS is a PHP application that uses Composer to manage its dependencies, so a VPS that only has a web server and PHP will not be sufficient for the normal installation path.
| Component | October CMS 4.x requirement | What to check |
|---|---|---|
| PHP | PHP 8.2.0 or newer | Run php -v and confirm the CLI version used by Composer matches the version used by your web server. |
| Composer | Composer 2.0 or newer | Run composer --version. The command must be available to the account that creates and maintains the project. |
| PHP extensions | PDO, cURL, OpenSSL, Mbstring, ZipArchive, GD and SimpleXML | Install the Ubuntu packages listed below, then verify with php -m. |
| Memory | 256 MB or more allocated memory | This figure is listed by the official installer repository. Leave additional headroom for Composer, PHP workers, database activity and extensions. |
| MySQL-compatible database | MySQL 5.7 or MariaDB 10.2 | Use a database account with permission to create and alter the October CMS schema. |
| PostgreSQL | PostgreSQL 9.6 | Use the matching PHP PostgreSQL driver if you select this database. |
| SQLite | SQLite 3.8.8 | Ensure the SQLite file location is writable by the web-server user. |
| Web server | Apache, Nginx, Lighttpd or Microsoft IIS | This guide uses Nginx on Ubuntu and keeps the application outside the public document root. |
Why the PHP version matters
Do not install October CMS 4.x on a VPS whose active PHP version is 8.1 or older. A newer PHP package may exist on the server while the command-line binary, PHP-FPM service and Nginx configuration still point to different versions. Check all three layers before troubleshooting Composer or a blank browser response.
#1 Best Overall
Database planning
Create the database and credentials before the browser setup or production deployment. Record the database name, username, password, host and port. The installer can collect connection details interactively, while a production deployment normally receives them through .env.
Choose the installation route
| Route | Use it when | Main trade-off |
|---|---|---|
| Composer project creation | You can install Composer 2 and want the normal, maintainable deployment workflow. | Requires Composer access and, for some production projects, October project authentication. |
| Browser wizard | Composer is unavailable on the VPS or you need to install from an official archive. | Still requires a writable installation directory and browser access to install.php; future dependency management is less convenient than a Composer-based project. |
For a new VPS, Composer is the preferred route because it creates the dependency-managed project that October’s deployment instructions are designed around. Use the wizard only when the server environment genuinely cannot provide Composer.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Prepare Ubuntu
Update package metadata
- Connect to the VPS with an account that can use
sudo. - Update Ubuntu’s package index:
sudo apt-get update
Install October’s PHP dependencies
The official installer repository gives this Ubuntu dependency command:
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
The command installs the PHP packages needed for common MySQL and SQLite installations. If you choose PostgreSQL, install the PHP PostgreSQL driver supplied by your Ubuntu release as well. Package names can differ between Ubuntu releases, so confirm that the resulting PHP module list contains PDO, cURL, OpenSSL, Mbstring, ZipArchive, GD and SimpleXML.
Verify the command-line runtime
php -v
php -m
composer --version
Confirm that PHP reports 8.2.0 or newer, Composer reports 2.0 or newer, and the required modules appear in the module list. If Composer reports a different PHP binary than your web server, fix that mismatch before creating the project; otherwise the installation may succeed in the shell and fail through Nginx.
Create a private application directory
Choose a directory such as /var/www/myoctober. Keep the project’s source, configuration and storage directories outside the web root. Only the project’s public/ directory should be exposed by Nginx.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsRank #2
Install October CMS with Composer
Create the project
From the parent directory, run the official project-creation command:
composer create-project october/october myoctober
Composer downloads October CMS and its dependencies into a new directory named myoctober. If you selected another directory name, use that name consistently in every later command and in the Nginx document root.
Run the October installer
Change into the project directory and start the guided installer:
cd myoctober
php artisan october:install
The installation command guides the application setup. Supply the database connection details when prompted and follow the requested configuration steps. Keep the database credentials accurate; a typo here commonly appears later as a connection or migration error rather than as a clear Nginx problem.
Initialize the database
php artisan october:migrate
This command initializes the October CMS database schema. Let it finish without interrupting the process. If it fails, check the database host, credentials, selected driver and PHP extension before running it again.
Create the administrator account
After the process finishes, open the site in a browser. October’s documentation states: “When the process finishes, you can access the backend panel in a browser and create the administrator user profile.” Complete that account creation promptly and store the credentials in your password manager.
Rank #3
Configure Nginx for October CMS
Point the virtual host at public/
Create a virtual host for the domain and set its document root to the project’s public directory, for example:
/var/www/myoctober/public
Do not set the root to /var/www/myoctober. That would expose files that belong outside the public web directory, including environment and application files.
Recommended Free Tools
Use October’s supplied Nginx configuration
October’s deployment documentation says to use the project’s nginx.conf in the Nginx server block. Treat that file as the authoritative application-specific configuration rather than replacing it with a generic PHP front-controller snippet. Keep the server block’s domain name, TLS settings and PHP-FPM socket aligned with the Ubuntu image you deployed.
Enable and test the site
- Save the virtual-host file under Ubuntu’s Nginx site configuration directory.
- Enable it using the normal Ubuntu sites-enabled mechanism.
- Run
sudo nginx -t. Fix every syntax or include-path error before reloading. - Reload Nginx with
sudo systemctl reload nginx. - Point the domain’s DNS record at the VPS address and wait for the record to resolve.
- Open the domain in a browser and complete any remaining October setup screens.
Exact service names, PHP-FPM socket paths and TLS commands vary with the Ubuntu release and VPS image. The stable October-specific requirements are the public/ document root and the project nginx.conf included in the server block.
Permissions and writable paths
The web-server user must be able to write to the directories October uses for cache, storage, uploads and generated files. Grant only the required ownership and write access; do not make the entire VPS or every project file world-writable. If the browser reports a permissions error after Nginx is working, inspect the application and storage directories first, not the DNS configuration.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Production deployment from a Composer project
A development checkout and a production deployment have different concerns. Production should install the locked dependency set, keep secrets out of version control and expose only generated public assets.
Authenticate the project
Clone or copy the project to the server. If the deployment requires October project authentication, either copy the project’s auth.json securely to the server or recreate it with:
php artisan project:set <license key>
Protect auth.json as you would any credential file. Do not place it in a public directory or commit it to a repository that other users can read.
Install production dependencies and environment settings
- Change into the project directory.
- Install dependencies without development packages:
composer install --no-dev
- Create the environment file:
cp .env.example .env
Edit .env with the production application URL, database driver, host, port, database name, username and password, plus any mail or cache settings required by your deployment. The exact values depend on your database and VPS. Never commit .env; it contains sensitive credentials.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Run migrations
php artisan october:migrate
Run migrations only after the production database values are correct. Back up an existing database before applying migrations to an established installation, and schedule the operation during a maintenance window if the application is already serving users.
Mirror public assets
php artisan october:mirror
The mirror command exposes assets that belong in public/. Run it again after adding plugins or themes whose assets must be publicly available. A page that loads HTML but lacks CSS, JavaScript or images often needs this step rather than an Nginx rewrite change.
Install with the browser wizard when Composer is unavailable
The official wizard is a separate installation path, not a way to avoid October’s server requirements. It still needs a supported PHP runtime, the required extensions, a writable application directory and browser access to the installer.
Best Value
- Prepare an empty directory for the new installation.
- Download the official installer archive and unpack it into that directory.
- Grant the installer write permission to the installation directory and its contents. Use the least-permissive ownership and mode that allow the web server to complete setup.
- Point the Nginx document root at the directory intended to serve the installer, following October’s wizard instructions.
- Open
install.phpin a browser. - Follow the wizard to select the database, create the administrator account and finish configuration.
- After installation, remove or restrict installer access if the wizard instructions require it, and re-check that only the intended public files are reachable.
If the wizard cannot write files, changing the browser URL will not fix the problem. Correct directory ownership and permissions, then reload the installer. If the database step fails, verify the selected PHP driver and database credentials.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Choosing between October CMS major versions
Do not select a major version solely because an older tutorial uses it. Match the version to the PHP runtime, Composer constraints, database support, project authentication behavior and the version to which an existing application is pinned.
| Major version | PHP information in the published requirements | Decision guidance |
|---|---|---|
| 4.x | PHP 8.2.0 or newer; Composer 2.0 or newer for the standard workflow. | Use for a new installation when your extensions, database and plugins support the current 4.x requirements. |
| 3.x | PHP 8.0 or newer. | Use only when an existing application or plugin set is intentionally pinned to 3.x and has been validated there. |
| 2.x | Older requirements; the published guidance explicitly warns that v2 is not compatible with PHP 8.1. | Do not place a v2 application on PHP 8.1 or newer without a tested, documented compatibility plan. Preserve the runtime expected by the legacy project. |
For a fresh Ubuntu VPS in 2026, October CMS 4.x is the relevant target represented by the current installation requirements. Existing projects should follow their locked major version instead of being upgraded implicitly during a server migration.
Troubleshooting by symptom
Composer refuses to create the project
- Run
php -vand confirm PHP is 8.2 or newer. - Run
composer --versionand confirm Composer 2.0 or newer. - Check
php -mfor the required extensions, especially Mbstring, XML/SimpleXML, GD, ZIP, cURL and the selected database driver. - Check available memory. The installer repository lists 256 MB or more allocated memory as a baseline.
- If the project requires authentication, configure
auth.jsonor runphp artisan project:set <license key>as appropriate.
The site shows a 404 or downloads PHP files
- Verify that Nginx’s root is the project’s
public/directory, not the project directory itself. - Confirm the virtual host is enabled and that
sudo nginx -tsucceeds. - Confirm Nginx is passing PHP requests to the PHP-FPM version that satisfies October’s requirement.
- Reload Nginx after correcting the server block.
The installer cannot connect to the database
- Test the database account independently using the host, port, username and password entered in the installer or
.env. - Confirm the database server version is supported: MySQL 5.7, MariaDB 10.2, PostgreSQL 9.6 or SQLite 3.8.8, as applicable.
- Confirm the matching PHP database extension is enabled.
- Run
php artisan october:migrateagain only after correcting the connection details.
Assets or themes are missing after deployment
Run php artisan october:mirror. October’s deployment guidance specifically calls for repeating this command after adding plugins or themes whose assets must be exposed in public/.
The browser reports permission errors
Review ownership and write permissions for the application’s storage, cache, upload and generated-asset directories. The wizard and runtime need write access to those locations, but broad world-write permissions create an unnecessary security risk.
Quick Recap
Post-install checklist
- PHP is 8.2.0 or newer and the web server uses the same supported PHP family.
- Composer is 2.0 or newer for Composer-managed installations.
- All required PHP extensions are enabled.
- The database is one of the supported versions and migrations completed successfully.
- Nginx serves only the project’s
public/directory and uses the supplied October configuration. - The administrator account has been created and its credentials are stored securely.
.envand any authentication file are excluded from version control and protected on disk.- Production dependencies were installed with
composer install --no-dev. php artisan october:mirrorhas been run whenever plugin or theme assets require public exposure.- DNS resolves to the VPS and HTTPS, backups, updates and log monitoring are configured according to your operational policy.
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.

