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:
- Navigate to your server
- Click “Create Web App”
- 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:
- Go to your web application settings
- Navigate to “SSL/TLS”
- Choose “Let’s Encrypt” for free SSL certificates
- 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:
- Go to “Database” in the server menu
- Click “Create Database”
- Provide database name, username, and password
- 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:
- In your web app settings, go to “Git”
- Add your repository URL
- Configure the branch to deploy
- 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:
- Navigate to your web app settings
- Go to “Basic” → “PHP Settings”
- 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:
- Go to “PHP” → “PHP Extensions”
- Enable OPcache extension
- 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:
- Navigate to “Backup” in your server dashboard
- Configure backup frequency (daily recommended)
- Choose backup storage location (local or cloud storage)
- 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:
- Two-Factor Authentication: Enable 2FA on your RunCloud account
- IP Whitelisting: Restrict server access to specific IP addresses
- Regular Updates: Keep your applications and their dependencies updated
- 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:
- Verify your VPS is running in Ramnode’s control panel
- Check firewall settings
- Confirm SSH key configuration
- Review RunCloud agent status
Application Errors
For application-specific issues:
- Check error logs in RunCloud dashboard
- Verify PHP version compatibility
- Review file permissions
- Confirm database connectivity
Performance Issues
If experiencing slow performance:
- Monitor resource usage in RunCloud
- Optimize database queries
- Enable appropriate caching mechanisms
- 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.