Managing web applications and servers can be complex, especially when dealing with multiple sites, SSL certificates, and database configurations. RunCloud offers an elegant solution by providing a user-friendly control panel for server management. When combined with Ramnode’s reliable VPS infrastructure, you get a powerful hosting setup that’s both affordable and scalable.

In this comprehensive guide, we’ll walk through setting up RunCloud on a fresh Ramnode VPS running Ubuntu 24.04 LTS, covering everything from initial server setup to deploying your first application.

What is RunCloud?

RunCloud is a cloud-based server management platform that simplifies the deployment and management of PHP applications. It provides a web-based interface for managing multiple servers and applications, automatic SSL certificate installation, one-click backups, and monitoring tools. Think of it as a middle ground between shared hosting and managing bare metal servers.

Why Choose Ramnode?

Ramnode has built a reputation for providing high-performance VPS hosting with excellent network connectivity and competitive pricing. Their infrastructure is particularly well-suited for web applications, offering SSD storage, generous bandwidth allocations, and data centers in strategic locations.

Prerequisites

Before we begin, ensure you have:

  • A Ramnode VPS account with Ubuntu 24.04 LTS
  • Root access to your VPS
  • A RunCloud account (they offer a free plan for up to one server)
  • A domain name pointing to your VPS IP address
  • SSH client (Terminal on macOS/Linux, PuTTY on Windows)

Setting Up Your Ramnode VPS

Initial Server Configuration

First, connect to your VPS via SSH:

ssh root@your-server-ip

Update the system packages:

apt update && apt upgrade -y

Create a non-root user with sudo privileges (recommended for security):

adduser deploy
usermod -aG sudo deploy

Configure the firewall to allow necessary ports:

ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw allow 443
ufw allow 80
ufw --force enable

Security Hardening

Change the default SSH port for added security:

nano /etc/ssh/sshd_config

Find the line #Port 22 and change it to:

Port 2222

Update your firewall rules:

ufw allow 2222
ufw delete allow OpenSSH
systemctl restart ssh

Installing RunCloud Agent

Getting Your RunCloud Server Credentials

Log into your RunCloud dashboard at runcloud.io and navigate to “Servers” → “Create Server”. You’ll need to provide:

  • Server name (descriptive name for your server)
  • Server IP address (your Ramnode VPS IP)
  • Server type (Ubuntu 24.04)

RunCloud will generate a unique installation command that looks like this:

bash <(curl -Ls https://runcloud.io/install) -s [SERVER-KEY] -k [SECRET-KEY]

Running the Installation

Execute the installation command on your VPS:

bash <(curl -Ls https://runcloud.io/install) -s your-server-key -k your-secret-key

The installation process typically takes 5-10 minutes and will install:

  • Nginx web server
  • PHP (multiple versions available)
  • MySQL/MariaDB
  • Redis
  • RunCloud monitoring agent
  • Security configurations

Monitor the installation output for any errors. Upon successful completion, you’ll see a confirmation message.

Configuring Your First Web Application

Creating a Web Application

In your RunCloud dashboard:

  1. Navigate to your server
  2. Click “Create Web App”
  3. Fill in the application details:
    • App Name: Choose a descriptive name
    • Domain: Your domain name (e.g., example.com)
    • Public Path: Usually /public for Laravel or / for WordPress
    • PHP Version: Select based on your application requirements
    • App Type: Choose from various frameworks (Laravel, WordPress, Custom PHP, etc.)

Domain Configuration

Ensure your domain’s DNS records point to your VPS IP address:

A record: @ → your-vps-ip
A record: www → your-vps-ip

DNS propagation can take up to 24 hours, though it’s usually much faster.

SSL Certificate Installation

RunCloud makes SSL certificate installation trivial:

  1. Go to your web application settings
  2. Navigate to “SSL/TLS”
  3. Choose “Let’s Encrypt” for free SSL certificates
  4. Click “Install SSL Certificate”

The process is automated and includes automatic renewal configuration.

Database Setup

Creating a Database

Most web applications require a database. In RunCloud:

  1. Go to “Database” in the server menu
  2. Click “Create Database”
  3. Provide database name, username, and password
  4. Note these credentials for your application configuration

Database Management

RunCloud includes phpMyAdmin for database management, accessible through the dashboard. For production environments, consider using more secure database management practices.

Deployment Strategies

Git Deployment

RunCloud supports Git-based deployments, which is ideal for development workflows:

  1. In your web app settings, go to “Git”
  2. Add your repository URL
  3. Configure the branch to deploy
  4. Set up deployment keys if using private repositories

File Upload Deployment

For simpler deployments, you can upload files directly through RunCloud’s file manager or use SFTP:

sftp runcloud@your-server-ip -P 22

Automated Deployments

Set up deployment hooks for automatic deployments when code is pushed to your repository. This creates a seamless CI/CD pipeline.

Performance Optimization

PHP Configuration

RunCloud allows easy PHP configuration adjustments:

  1. Navigate to your web app settings
  2. Go to “Basic” → “PHP Settings”
  3. Adjust memory limits, execution times, and other parameters based on your application needs

Recommended settings for most applications:

  • Memory Limit: 256M or higher
  • Max Execution Time: 300 seconds
  • Post Max Size: 64M
  • Upload Max Filesize: 64M

Caching Configuration

Enable OPcache for better PHP performance:

  1. Go to “PHP” → “PHP Extensions”
  2. Enable OPcache extension
  3. Configure cache settings appropriately

For applications like WordPress or Laravel, consider enabling Redis for object caching.

Server Resources Monitoring

RunCloud provides built-in monitoring for:

  • CPU usage
  • Memory consumption
  • Disk space
  • Network traffic
  • MySQL performance

Regular monitoring helps identify performance bottlenecks before they impact users.

Backup Configuration

Automated Backups

Set up regular backups to prevent data loss:

  1. Navigate to “Backup” in your server dashboard
  2. Configure backup frequency (daily recommended)
  3. Choose backup storage location (local or cloud storage)
  4. Set retention policies

Database Backups

Configure separate database backup schedules:

  • Full database dumps daily
  • Incremental backups for high-traffic sites
  • Off-site backup storage for disaster recovery

Security Best Practices

Server Security

RunCloud implements several security measures by default:

  • Fail2ban for intrusion prevention
  • ModSecurity web application firewall
  • Regular security updates
  • Secure default configurations

Additional Security Measures

Consider implementing:

  1. Two-Factor Authentication: Enable 2FA on your RunCloud account
  2. IP Whitelisting: Restrict server access to specific IP addresses
  3. Regular Updates: Keep your applications and their dependencies updated
  4. Security Monitoring: Use RunCloud’s security monitoring features

SSL Security

Ensure proper SSL configuration:

  • Use strong SSL ciphers
  • Enable HTTP Strict Transport Security (HSTS)
  • Configure proper SSL redirect rules

Troubleshooting Common Issues

Connection Problems

If you can’t connect to your server:

  1. Verify your VPS is running in Ramnode’s control panel
  2. Check firewall settings
  3. Confirm SSH key configuration
  4. Review RunCloud agent status

Application Errors

For application-specific issues:

  1. Check error logs in RunCloud dashboard
  2. Verify PHP version compatibility
  3. Review file permissions
  4. Confirm database connectivity

Performance Issues

If experiencing slow performance:

  1. Monitor resource usage in RunCloud
  2. Optimize database queries
  3. Enable appropriate caching mechanisms
  4. Consider upgrading your Ramnode VPS plan

Advanced Features

Multiple PHP Versions

RunCloud supports multiple PHP versions simultaneously, allowing you to run different applications with their preferred PHP versions on the same server.

Staging Environments

Create staging versions of your applications for testing updates before deploying to production.

Custom Nginx Configuration

For advanced users, RunCloud allows custom Nginx configurations while maintaining the convenience of the control panel.

Cost Considerations

RunCloud Pricing

  • Free Plan: 1 server, basic features
  • Pro Plan: Starting at $15/month for 5 servers
  • Business Plan: $39/month for unlimited servers

Ramnode VPS Costs

Ramnode offers competitive VPS pricing starting around $5-10/month for basic configurations suitable for small to medium websites.

Total Cost of Ownership

Factor in:

  • VPS hosting costs
  • RunCloud subscription
  • Domain registration
  • SSL certificates (free with Let’s Encrypt)
  • Backup storage costs

Conclusion

Combining RunCloud with a Ramnode VPS creates a powerful, manageable hosting solution that bridges the gap between shared hosting and complex server management. The setup process, while requiring some technical knowledge, results in a professional hosting environment capable of handling everything from personal blogs to business applications.

The key advantages of this setup include:

  • Simplified server management through RunCloud’s intuitive interface
  • High performance from Ramnode’s quality infrastructure
  • Scalability to grow with your needs
  • Cost-effectiveness compared to managed hosting alternatives
  • Professional features like automated backups, SSL certificates, and monitoring

Whether you’re a developer looking to streamline your deployment process or a business owner seeking reliable hosting without the complexity of server management, this RunCloud and Ramnode combination provides an excellent foundation for your web applications.

Remember to regularly monitor your applications, keep everything updated, and maintain proper backup procedures. With these practices in place, you’ll have a robust hosting solution that can serve your needs for years to come.