Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
VGSources
Blog

How Do I Manually Install Forge on My Server? The Correct Laravel Forge Setup

Laravel Forge is not normally installed directly on a VPS. Learn how to connect an existing server, provide the correct SSH details and root access, troubleshoot provisioning, and manage PHP, databases, Recipes, and Laravel deployments safely.
Length11 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You generally cannot install Laravel Forge directly on your own server like a normal package. Forge is a hosted server-management service: it either provisions a server through a supported provider or connects to an existing VPS using its public IP address and SSH port. Forge then performs the server provisioning and configuration.

You generally cannot install Laravel Forge directly on your own server like a normal package. Forge is a hosted server-management service. The supported workflow is to either let Forge create a server through a supported provider or connect an existing VPS by entering its public IP address and SSH port. Forge then uses elevated access to provision and manage the server.

As an Amazon Associate I earn from qualifying purchases.

So, if by “manually install Forge” you mean “use Forge with a VPS I already own,” the process is straightforward: prepare the server, add it in Forge as a custom server, provide the SSH details, wait for provisioning to finish, and then manage sites and services from the Forge dashboard.

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

What you need before connecting a server to Forge

Prepare the following before starting:

  • An existing VPS, or an account with a provider through which Forge can create one.
  • The server’s public IPv4 address or other address accepted by the Forge interface.
  • The SSH port used by the server. Port 22 is common, but the value entered in Forge must match the port actually exposed by your server.
  • SSH credentials or key-based access with sufficient privileges for initial provisioning.
  • Network rules that allow Forge to reach the server over SSH.
  • A recent provider snapshot or backup, if your provider supports one.

Forge connects as root during initial provisioning and retains root-level access for system-management tasks. That access is necessary because Forge configures services such as the firewall, PHP, web-server components, background processes, scheduled tasks, and operating-system dependencies.

Choose how you want to obtain the server

You have two normal options:

Option What happens Best for
Forge-provisioned server You select a provider, region, server type, and size in Forge. Forge creates and provisions the server through that provider. People who do not already have a VPS and want Forge to handle the initial setup.
Existing custom VPS You rent or own the VPS separately, then give Forge its IP address and SSH port. Forge provisions the compatible server. People who already have a server or need to choose infrastructure independently.
Fully manual administration You install, configure, secure, update, and maintain the operating system and application stack yourself. Operators who do not want Forge managing the server. This is not a Forge installation.

If you do not already have a machine, compare a suitable VPS hosting option before opening the Forge server setup. The provider must offer a compatible Linux server, public network access, and SSH administration; do not assume that every VPS plan or operating-system image is supported by every Forge workflow.

How to connect an existing VPS to Laravel Forge

1. Confirm that you have the intended server

Write down the public IP address and SSH port of the VPS. Verify that the address belongs to the server you intend to modify. Provisioning changes system configuration, so connecting the wrong IP can disrupt another machine.

If you normally connect over SSH, test the same endpoint before adding it to Forge. For a nonstandard SSH port, the pattern is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
ssh -p PORT root@SERVER_IP

Replace PORT and SERVER_IP with the actual values. A successful test confirms that the SSH service is reachable from your current network, but Forge must also be able to reach it from its own service infrastructure.

2. Open Forge’s server creation workflow

From your Forge organization overview or Servers area, choose the option to create a server. Select the custom-server path when you are bringing an existing VPS rather than asking Forge to create a machine through an integrated provider.

Dashboard labels can change, so look for the choice that distinguishes a provider-created server from a custom or existing server. Do not look for a downloadable Forge installer for the target machine; the documented workflow is server creation or custom-server connection.

3. Enter the connection details

Enter:

  • The VPS’s public IP address.
  • The SSH port currently used by the server.
  • The requested authentication details, such as the SSH key or other access information presented by the Forge workflow.

The SSH port is not automatically “always 22.” If you changed SSH to another port, enter that port in Forge and ensure the provider firewall, operating-system firewall, and SSH daemon all agree. A port mismatch is one of the most common reasons a connection cannot begin.

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

4. Provide the required privileges

Initial provisioning requires root-level access. Forge needs that authority to install and configure its supported system components and security controls. A regular unprivileged deployment user is not a substitute for the access Forge requires during this stage.

This is also the main trust decision in the process: Forge is not merely uploading your application. It is managing infrastructure-level settings on the server. Confirm that the server is disposable, backed up, or otherwise approved for management by the service before proceeding.

5. Let provisioning complete

Forge will configure the server according to the selected server type and supported services. The exact time and component list vary with the provider, network, server speed, operating-system image, and selections in the dashboard. Avoid making unrelated manual changes while provisioning is in progress.

Provisioning is complete when Forge reports the server as available rather than showing an active installation or failed task. If it fails, read the displayed error before retrying. Check the IP address, SSH port, authentication, provider firewall, operating-system firewall, and whether the server meets the selected workflow’s requirements.

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

What Forge changes during provisioning

The precise implementation can change, but the documented security behavior includes the following:

  • Password-based SSH connections are disabled during provisioning.
  • UFW is used to block ports by default.
  • Ports 22, 80, and 443 are explicitly opened in the standard security setup.

That means you should not assume that every port is open after provisioning. If your application needs another service, handle the requirement through Forge’s supported controls or a carefully reviewed customization, and understand the security consequences before exposing a port publicly.

After provisioning: add the application resources

Provisioning the server does not deploy your Laravel application. Once the server is available, use Forge to configure the resources your application needs:

  1. Create a site and associate it with the application’s domain or intended hostname.
  2. Select a PHP version through Forge’s PHP management controls.
  3. Add a database through the Databases area when your application needs one. Supported database choices documented by Forge include MySQL, MariaDB, and PostgreSQL options.
  4. Configure deployment so Forge can retrieve the code and run the required release commands.
  5. Add queues and scheduled tasks when the Laravel application uses workers, scheduled commands, or other background processing.
  6. Point DNS to the server and complete any TLS or domain configuration required by the site.

A deployment script is application-specific. It commonly updates the codebase, installs Composer or frontend dependencies, runs migrations where appropriate, clears or rebuilds caches, and performs other release tasks required by the application. Forge provisioning supplies infrastructure; it does not know every command your game, API, or Laravel application needs.

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.

Can you manually install PHP or a database afterward?

You may be able to install software over SSH, but doing so can create configuration drift and may leave Forge unaware of the result.

PHP

Use Forge’s PHP management controls for PHP versions that Forge must recognize and manage. Forge documents that it is aware of PHP installations managed through the Forge dashboard, not PHP versions manually installed on the server. A manually added PHP version may therefore be usable at the operating-system level while remaining absent from Forge’s supported management view.

Databases

For supported database servers, prefer the corresponding Forge interface rather than installing a separate copy by hand. Forge documents database installation through the Databases tab, including MySQL, MariaDB, and PostgreSQL options. This keeps the resource within the management workflow and reduces the chance of conflicting packages, users, paths, or service definitions.

Other packages and services

Manual SSH changes can be appropriate for a deliberate, unsupported, or application-specific requirement, but document every change. Before installing a package or daemon, check whether Forge already manages the same component. Two management systems changing the same configuration can produce difficult-to-diagnose failures.

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.

Use Forge Recipes for repeatable custom changes

If you need to run a Bash script on one or more Forge servers, use a Forge Recipe instead of keeping an opaque command sequence in a terminal session. Recipes are saved Bash scripts that can be run across servers; Forge gives installing MongoDB as an example use case.

A practical recipe workflow is:

  1. Write a narrowly scoped Bash script.
  2. Make its assumptions explicit, including packages, paths, service names, and operating-system requirements.
  3. Save it as a named Recipe in Forge.
  4. Review every command, especially package removal, firewall changes, user creation, and service restarts.
  5. Run it on a non-production server first.
  6. Record the result and keep the script under version control where practical.
  7. Run the reviewed recipe on additional servers only after confirming that their operating-system and software conditions match.

Recipes improve repeatability, but they do not make an unsafe script safe. A recipe can still overwrite configuration, open a network port, break a Forge-managed service, or fail halfway through. Include checks and make the script safe to rerun when possible.

Troubleshooting a failed connection or provisioning attempt

Forge cannot reach the server

  • Check that the IP address is correct and belongs to the intended VPS.
  • Confirm that the SSH daemon is running.
  • Confirm the SSH port in Forge matches the server’s actual listening port.
  • Review the provider-level firewall or security group.
  • Review the server’s operating-system firewall.
  • Check whether your provider restricts inbound SSH or blocks the source of the connection.

Authentication fails

  • Confirm that the supplied key or credentials correspond to the intended account.
  • Confirm that the account has the privileges required for initial provisioning.
  • Do not assume that a normal application or deployment user can perform the initial setup.
  • Check whether password-based SSH has already been disabled on the server.

The server becomes unavailable after provisioning

Check the provider console first so you retain an out-of-band recovery path. Then review the provider firewall, UFW rules, SSH port, and any custom changes made during or after provisioning. Do not repeatedly rerun provisioning without understanding the failed state; take a snapshot or backup before recovery work when possible.

A PHP version or service does not appear in Forge

Determine whether it was installed through Forge or manually. Forge may not recognize PHP versions installed outside its dashboard management. For supported software, remove the ambiguity by using the relevant Forge resource controls where possible.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Security checklist before you start

  • Verify the server identity and public IP.
  • Take a snapshot or backup if available.
  • Confirm the SSH port and test access.
  • Confirm that the provider and operating-system firewall allow the required connection.
  • Understand that Forge uses root access for provisioning and system management.
  • Do not manually change Forge-managed passwords or configuration unless the applicable Forge documentation explicitly permits it.
  • Keep custom scripts reviewed and, where practical, version-controlled.
  • Test Recipes and other infrastructure changes away from production first.
  • Plan application deployment separately from server provisioning.

Can I install Laravel Forge on my own VPS?

Not in the usual self-hosted-control-panel sense. You do not normally install the Forge control plane onto the VPS. You connect the VPS to Forge as a custom server, after which Forge provisions and manages supported parts of that machine.

Does Forge need root access?

Yes, root-level access is required during initial provisioning. Forge needs it to configure operating-system services, firewalls, PHP, background processes, scheduled tasks, website isolation, and related dependencies. Treat the connection as a privileged infrastructure-management operation.

What SSH port does Forge use?

Forge uses the SSH port you provide for the server. Port 22 is the normal default, but a custom port is valid if the server, provider firewall, and Forge entry all use the same value. Standard provisioning opens port 22 along with ports 80 and 443 in the documented security setup.

Can I manually install PHP on a Forge server?

Manual installation may be possible, but Forge may not recognize or manage that PHP version. Use Forge’s PHP controls for versions that need to appear in the Forge dashboard or participate in its supported configuration workflow.

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

How do I run a Bash script on every Forge server?

Create a Forge Recipe containing the script, review it, test it on a non-production server, and then run it on the appropriate servers. Make the script repeatable and account for differences between server operating systems and installed software.

How do I deploy Laravel without manually configuring Nginx and PHP-FPM?

Use Forge to provision the server and create the site, then configure the application’s deployment script. Forge handles the supported server resources; the deployment script still needs to retrieve the code, install dependencies, run migrations when appropriate, and perform your application’s release tasks.

Frequently Asked Questions

Can I install Laravel Forge on my own VPS?

No. Forge is a hosted management service rather than a control panel you normally install onto the target VPS. You connect an existing VPS as a custom server, or let Forge create one through a supported provider.

How do I connect an existing Ubuntu server to Laravel Forge?

Yes. Add the server through Forge’s custom-server workflow, then provide its public IP address, SSH port, and the authentication required for initial provisioning. Forge must be able to reach the server over SSH.

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

Does Laravel Forge need root access?

Yes. Forge requires root-level access during initial provisioning so it can configure system services, firewalls, PHP, background processes, scheduled tasks, and dependencies.

What SSH port does Forge use?

Forge uses the SSH port entered for the server. Port 22 is common, but a custom SSH port works when the server, provider firewall, and Forge configuration all match.

Can I manually install PHP on a Forge server?

Use Forge’s PHP management controls for versions Forge needs to recognize. Manually installed PHP versions may not appear in Forge’s management view.

How do I run a Bash script on every Forge server?

Create a Forge Recipe containing the Bash script, review it, test it away from production, and then run it on the required servers. Keep custom scripts repeatable and documented.

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

The Bottom Line

There is no normal “Forge installer” to upload to your VPS. Connect an existing server through Forge with its public IP, SSH port, and required root-level access, then let Forge provision it. Manage supported PHP and databases through Forge, use Recipes for repeatable custom changes, and treat application deployment as a separate step.

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
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

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.