Blog

  • The Ultimate Guide To Install NextCloud Using RunCloud

    The Ultimate Guide To Install NextCloud Using RunCloud

    NextCloud is a self-hosted productivity platform that offers industry-leading, on-premise content collaboration functionality.

    It’s an alternative to Dropbox or Google Drive, but with the advantage that it can be installed on your own server, ensuring that your data remains under your control.

    You can use NextCloud to share and collaborate on documents, send and receive emails, manage your calendar, and have video chats – all without any possibility of data leaks.

    In this post, we will show you exactly how to install NextCloud using RunCloud.

    Prerequisites

    You will need a server that meets NextCloud’s system requirements. When you connect your server to RunCloud, it automatically installs all necessary dependencies, and updates them. If you have an existing server connected to RunCloud, you can use that as well – as long as it has the necessary capacity to handle additional load.

    1. Create A PHP Web Application In RunCloud

    Go to your RunCloud dashboard and click “Deploy New Web App”. Next, switch to the “Empty Web App” tab and give your application a descriptive name.

    Deploy a web app

    For “Domain name“, you can either use your own domain name or use RunCloud’s test domain. If you are using RunCloud’s Cloudflare integration, RunCloud will automatically create the necessary DNS records for your domain.

    Set domain name on RUnCloud

    Next, select PHP version 8.1 and click “Deploy” to create the web application.

    set PHP RunCloud

    2. Prepare NextCloud Installer

    After deploying the application you will need to download the NextCloud installation file to your server. There are two ways to do this.

    2.1 Using SSH

    If you are comfortable with SSH then you can run the following commands to download the installation file to your website’s root directory. Don’t forget to update the path to your web application’s root directory (displayed in RunCloud dashboard).

    cd <path to root>
    wget https://download.nextcloud.com/server/installer/setup-nextcloud.php

    2.2 Using RunCloud File Manager

    The second method is to use RunCloud’s file manager. RunCloud has a graphical user interface for editing files on your server, and you can use this to add or remove files from your server. Click on the “File Manager” option to browse the files.

    RunCloud file manager

    Once you have opened the file manager, you should only see one file – index.html. Click on “New” and create a new file with the name setup-nextcloud.php.

    After the file has been created it will be displayed in the file manager. Click on it to edit the file – it will open a file editor in a new browser tab.

    create a file using runcloud file manager

    Download the installation file from https://download.nextcloud.com/server/installer/setup-nextcloud.php and open it in any text editor such as Notepad or VS Code. Press Ctrl + a to select all of the text, and Ctrl + c to copy it.Now go back to the RunCloud file editor and paste the text using Ctrl + v. Make sure to save the file afterwards.

    saving file in RunCloud

    3. Run NextCloud Installer

    After preparing your NextCloud installer, open the URL of your website in a web browser. By default you will see the “Welcome to RunCloud” message present in the index.html file. Go to the address bar of your browser and append /setup-nextcloud.php to the end of the URL.

    For example, if your website is located at www.example.com, you need to go to www.example.com/setup-nextcloud.php to start the installation.

    If you followed the steps correctly, you will be greeted with the following screen. Click on “Next” to move forward with the installation.

    Start Nextcloud installation

    On the next screen you will be asked to specify the installation directory of your web application. Enter a single full stop to install the setup in the current location – i.e., where we added the “setup-nextcloud.php” file.

    set installation directory Nextcloud

    After you have configured the directory, the installation will begin. It will take 5-10 minutes, depending on the speed of your internet connection. Once the installation is complete you will be greeted with a success message.

    nextcloud installation successful

    4. Configure NextCloud

    After installation you will need to set up the administrator account, storage path, and the database that will be used by NextCloud.

    First, go to the RunCloud dashboard and create a new database user. After you have done this, create a new database and grant its access to the user that you just created. Once you have created the database, it should look like this:

    nextcloud database create

    After creating the database, return to the NextCloud installation and enter the login credentials of your administrator account. If you don’t want to use the default path to store data then you can change that as well.

    Finally, make sure to switch to the MySQL/MariaDB tab and enter the details of the new database and user that you created in the last step. Update the database host to localhost:3306 and click “Install”. If you are using a containerised server, then you will need to enter host:3306 instead; refer to our docs on networking in containerised servers on RunCloud for more information.

    Create Nextcloud admin account

    After installation, you will be asked if you want to install the recommended apps. You can skip this step if you wish, and install any apps at a later time from the dashboard.

    5. Troubleshooting NextCloud

    After installation, you will need to tweak a few settings to properly secure your server. Click on the user icon in the top right corner of your screen, and navigate to “Administration Settings”.

    setup Nextcloud installation

    Ideally, you should see the green “All check passed” in the security and setup warning section. However, after installing NextCloud it is possible that you might see messages in any of three different colors:

    • red (error)
    • yellow (warning)
    • black (notice)

    Fortunately, RunCloud makes it very easy to remove these messages. Let’s start with red ones first.

    Warnings on Nextcloud dashboard

    5.1 Fixing “PHP Memory Limit Is Below The Recommended Value”

    This can be easily fixed in the RunCloud dashboard. Go to “Settings” and scroll down to the PHP settings section. You will see the option to modify the memory limit. Update the value, and save the changes.

    setting memory limit on RunCloud

    5.2 Warning – PHP Function is Not Available

    NextCloud requires a number of PHP functions to run properly. If there are any unavailable PHP functions, you will probably see this warning message.

    If you see the message that the PHP function set_time_limit is not available, this could result in scripts being halted mid-execution, breaking your installation. Therefore, enabling this function is strongly recommended.

    To fix this issue, go to the RunCloud dashboard panel, select your server, click the Web Application menu, select your web application, and then click the “Settings” menu of this web app. Scroll to find the disable_functions option and remove the following functions from the text:

    • set_time_limit
    • ignore_user_abort
    • posix_getuid
    • posix_getpwuid

    After removing the functions from the list, click the “Update Web Application Settings” button. Refresh the NextCloud page – the warning message should disappear.

    disable php functions on RunCloud

    5.3 Fixing “Strict-Transport-Security HTTP Header…”

    Enabling HTTP Strict Transport Security policy on your server will fix multiple error messages. Go to your dashboard and click on “Domain Name”. You will see all of the domains that are associated with your application. Configure the TLS settings to enable the HSTS policy.

    Configure HSTS header on RunCloud

    Once there, pick the third option to enable the policy, and click “Update” to save the changes.

    Enable HSTS header on RunCloud

    5.4 Configure Redis Memory Cache (with Enhanced Security)

    Memory caching can significantly improve your Nextcloud server performance, as frequently requested objects are stored for faster retrieval. While Nextcloud displays a warning if a local memcache isn’t configured, it’s not strictly required. However, using a memcache is highly recommended for optimal performance.

    With RunCloud, you can use either Redis or Memcached. Follow the steps below to configure the Redis cache for your Nextcloud installation:

    Step 1: Enable Redis Service (RunCloud)

    1. Log in to your RunCloud dashboard and select the server where your Nextcloud instance is running.
    2. Navigate to the Services section.
    3. Locate the Redis service. If it’s not already running, start it. RunCloud pre-installs Redis, so you generally only need to enable it.
    Enable Redis on RunCloud

    Step 2: Choose Your Redis Authentication Strategy

    RunCloud sets a default Redis password for the default user. You have two primary options:

    • Option A (Simpler): Use the RunCloud Default Redis User: This is the easiest approach but less granular. You’ll use the existing default user and its password.
    • Option B (More Secure): Create a Dedicated Nextcloud Redis User: This is the best security practice. You’ll create a new Redis user with specific permissions tailored only for Nextcloud, minimizing the risk of unauthorized access.

    Step 3: Using the RunCloud Default Redis User (Option A)Retrieve the Default Password: You’ll need the default Redis password set by RunCloud. Go to your Server, click Settings, scroll down to the Redis Password tab, and copy the password from the Current Password field.

    Step 4: Creating a Dedicated Nextcloud Redis User (Option B – Recommended only for Advanced Users)

    Before we proceed further, you should note that this step is optional. Once you have the master password for your Redis server (as explained in step 3), you can use it to connect your Nextcloud instance to Redis. However, advanced users should consider creating a separate user account for Nextcloud using the following steps:

    Connect to Redis via SSH: Connect to your server via SSH and use the following redis-cli to connect to your local Redis instance:

    ## Command to connect to Redis CLI
    redis-cli -h 127.0.0.1 -p 6379 -a "your_runcloud_redis_password"

    In the above command, you will need to replace your_runcloud_redis_password with the RunCloud Redis password that you noted in step 3.

    Create the User: After this, use the ACL SETUSER command provided below to create a new user with the correct permissions. Make sure to replace nextcloud_redis_user and your_secure_password with your desired username and a strong password.

    ## Create user in Redis without Dangerous permissions
    ACL SETUSER nextcloud_redis_user >your_secure_password on ~* +@all -@dangerous

    In the above ACL Rule:

    • +@all: Grants both read and write access to your database.
    • -@dangerous: Denies dangerous commands that could harm your Redis instance.

    You can configure these parameters to add or remove specific permissions by consulting the official Redis documentation.

    Step 5: Configure Nextcloud (config.php)

    1. Access Your Nextcloud Files: In the RunCloud dashboard, go to your server, select your Nextcloud web application, and then click File Manager.
    2. Edit config/config.php: Locate and edit the config/config.php file within your Nextcloud installation directory.

    Add the Redis Configuration: Add the following lines inside the main configuration array (not at the end of the file). Make sure the syntax is correct PHP. The location within the array doesn’t matter as long as it’s within the main $CONFIG = array ( ... ); block.

    If you chose Option A (Default User):

    'memcache.local' => '\OC\Memcache\Redis',
      'memcache.distributed' => '\OC\Memcache\Redis',
      'memcache.locking' => '\OC\Memcache\Redis',
        'redis' => [
        'host' => '127.0.0.1',
        'port' => 6379,
        'password' => 'your_runcloud_redis_password'
      ],

    If you chose Option B (Dedicated Nextcloud User):

    'memcache.local' => '\OC\Memcache\Redis',
      'memcache.distributed' => '\OC\Memcache\Redis',
      'memcache.locking' => '\OC\Memcache\Redis',
        'redis' => [
        'host' => '127.0.0.1',
        'port' => 6379,
        'user' => 'nextcloud_redis_user',
        'password' => 'your_secure_password'
      ],
    1. Save the config.php file.

    Step 6: Verify and Test

    Log in to your Nextcloud admin interface. Go to Administration settings -> Security & setup warnings. The warning about missing memcache should be gone.

    5.5. Enable Imagick (ImageMagick PHP Extension)

    NextCloud uses Imagick for the preview generation process. When Imagick is not available, you will see a warning message in NextCloud’s automated checks.

    Imagick is optional – it’s not required, and you may safely ignore the warning if only a few users are using your NextCloud server. If you want to enable it, read our quick guide on how to install Imagick (ImageMagick PHP Extension) in RunCloud.

    5.6. WebDAV Interface Seems to be Broken

    If you are getting the WebDAV interface seems to be broken error in your Nextcloud installation then you will need to tweak your server settings to fix this error. The exact steps vary for different tech stacks on RunCloud. You can find your application stack under the “Web Application Stack” section on the Settings page for your application.

    For NGINX Hybrid Stack on RunCloud

    If you are using the default hybrid stack on RunCloud, then you will need to create a custom NGINX configuration file for your Nextcloud application. When creating the config, make sure to select the type as location.main-before and give it a descriptive name. Next, paste the following code snippet in the provided text box as shown below:

    location ~ /.well-known {
        try_files $uri @proxy;
    }

    Once you save the configuration file, you can go back to your Nextcloud applications and refresh the page to check if the error still persists.

    For Native NGINX Stack on RunCloud

    If you are using the native NGINX stack, then you will need to create a custom NGINX configuration file for your Nextcloud application. When creating the config, make sure to select the type as location.main-before and give it a descriptive name. Next, paste the following code snippet in the provided text box as shown below:

    index index.php index.html /index.php$request_uri;
    location = / {
        if ( $http_user_agent ~ ^DavClnt ) {
            return 302 /remote.php/webdav/$is_args$args;
        }
    }
    
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
    
    # Make a regex exception for `/.well-known` so that clients can still
    # access it despite the existence of the regex rule
    # `location ~ /(\.|autotest|...)` which would otherwise handle requests
    # for `/.well-known`.
    location ^~ /.well-known {
        # The rules in this block are an adaptation of the rules
        # in `.htaccess` that concern `/.well-known`.
    
        location = /.well-known/carddav { return 301 /remote.php/dav/; }
        location = /.well-known/caldav  { return 301 /remote.php/dav/; }
    
        location /.well-known/acme-challenge    { try_files $uri $uri/ =404; }
        location /.well-known/pki-validation    { try_files $uri $uri/ =404; }
    
        # Let Nextcloud's API for `/.well-known` URIs handle all other
        # requests by passing them to the front-end controller.
        return 301 /index.php$request_uri;
    }
    
    # Rules borrowed from `.htaccess` to hide certain paths from clients
    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/)  { return 404; }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console)                { return 404; }
    
    # Ensure this block, which passes PHP files to the PHP process, is above the blocks
    # which handle static assets (as seen below). If this block is not declared first,
    # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php`
    # to the URI, resulting in a HTTP 500 error response.
    location ~ \.php(?:$|/) {
        # Required for legacy support
        rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+|.+\/richdocumentscode(_arm64)?\/proxy) /index.php$request_uri;
    
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        set $path_info $fastcgi_path_info;
    
        try_files $fastcgi_script_name =404;
    
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_param HTTPS on;
    
        fastcgi_param modHeadersAvailable true;         # Avoid sending the security headers twice
        fastcgi_param front_controller_active true;     # Enable pretty urls
        fastcgi_pass unix:/var/run/<appname>.sock;
    
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    
        fastcgi_max_temp_file_size 0;
    }
    
    # Serve static files
    location ~ \.(?:css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite|map|ogg|flac)$ {
        try_files $uri /index.php$request_uri;
        # HTTP response headers borrowed from Nextcloud `.htaccess`
        add_header Cache-Control                     "public, max-age=15778463,asset_immutable";
        add_header Referrer-Policy                   "no-referrer"       always;
        add_header X-Content-Type-Options            "nosniff"           always;
        add_header X-Frame-Options                   "SAMEORIGIN"        always;
        add_header X-Permitted-Cross-Domain-Policies "none"              always;
        add_header X-Robots-Tag                      "noindex, nofollow" always;
        add_header X-XSS-Protection                  "1; mode=block"     always;
        access_log off;     # Optional: Don't log access to assets
    }
    
    location ~ \.woff2?$ {
        try_files $uri /index.php$request_uri;
        expires 7d;         # Cache-Control policy borrowed from `.htaccess`
        access_log off;     # Optional: Don't log access to assets
    }
    
    # Rule borrowed from `.htaccess`
    location /remote {
        return 301 /remote.php$request_uri;
    }
    
    # location / {
    #     try_files $uri $uri/ /index.php$request_uri;
    # }

    After adding the above snippet to your configuration file, you need to modify the line which contains fastcgi_pass unix:/var/run/<appname>.sock;. In this line, you need to replace the <appname> with the name of your application that you entered in the step 1. Once you have saved this config file, you will need to create another NGINX config file for this application, but this time at the root location. Paste the following text in the text box and hit save:

    try_files $uri $uri/ /index.php$request_uri;

    Once you save the second config file, you can go back to your Nextcloud installation and verify that the error is gone.

    For Containerised NGINX Stack on RunCloud

    If you are using containerised Docker servers on RunCloud to run your Nextcloud installation, then you will need to create custom NGINX config to redirect web requests. The steps for creating the custom configuration for this stack are similar to the native NGINX stack on RunCloud (as described above), but there is one key distinction.

    When editing the fastcgi_pass unix:/var/run/<appname>.sock; line in your configuration, you will need to replace it with fastcgi_pass unix:/var/run/php/<appname>.sock;. After replacing the line, you can modify it to update <appname> with the name of your application and continue with the rest of the process.

    Summary

    NextCloud is an open source file manager that provides many additional features such as calendar management and file sharing. If you want to run your own version of Dropbox or Google Drive on your server for your own team or business, NextCloud is a great solution, allowing you to share and collaborate on documents, and have video chats without potential data leaks.

    RunCloud is a server management platform that makes it easy to manage and optimize your servers with an easy to use graphical user interface. Sign up for RunCloud today and see how it can save you time and money.

  • The Best Free eCommerce Platforms for Selling in 2025

    The Best Free eCommerce Platforms for Selling in 2025

    If you’re starting an online store and want to keep costs low, several platforms offer generous free plans with all the basics you need to begin selling.

    This guide compares the leading free e-commerce platforms, highlighting their key features, so you can choose the one that best fits your business. You’ll see how each platform performs in areas like usability, scalability, extensions, and long-term flexibility.

    Top Free eCommerce Platforms

    WooCommerce (Free, Open-Source)

    WooCommerce is a highly flexible e-commerce plugin that can be installed on WordPress. Because it works with WordPress, you get all the familiar blog and website functionality and a large range of tools to sell things online.

    One of the best things is that WooCommerce is open-source. This allows you to use extra features (called extensions) built by third-party developers. Some of these extensions are free, while others cost money, but they give you the flexibility to add the exact features your store needs.

    You can extend WooCommerce with plugins for subscriptions, shipping providers, payment gateways, and more.

    The core features of WooCommerce handle all the essential stuff for running an online shop. You can easily create product pages (for physical items, downloads, or even products with different options), track your inventory, process orders, and let customers manage their accounts.

    WooCommerce also determines taxes and shipping zones for you, which is a significant help if you sell to customers in different countries. Because it’s part of WordPress, you can easily write blog posts and optimize your site for search engines, helping people find your store organically. It gives you the power to sell products and build your brand’s online presence in one place.

    📖 Suggested read: WordPress.com vs. WordPress.org – The Differences & Which To Choose

    Shopify (Free Trial Available)

    Shopify is a paid eCommerce platform that enables you to easily build websites. However, it also includes a free trial, allowing you to try it out without commitment. Regardless of which Shopify plan you choose, you’ll receive some core features to make online selling easier. Shopify reports higher conversion rates through its hosted checkout, which is included on all plans. This means more people who start a purchase actually finish it.

    You also gain access to tools for in-person selling. Shopify POS (Point of Sale) lets you sell at physical locations and automatically syncs your online and in-person inventory. You’re not just limited to your website, either. Every plan allows you to promote and sell your products across various channels, including Instagram, TikTok, and Google. This helps you reach customers where they’re already spending their time.

    To see how your store is doing, every plan provides in-depth analytics. You get reports to track your sales, see where your customers are coming from, and find ways to improve. Plus, every Shopify plan lets you use apps from their app store. These apps add a range of extra functionality, including apps to help you source products, customize your store’s design, and do pretty much anything else you might need.

    📖 Suggested read: 11 Alternatives To reCAPTCHA to Protect Your Site from Spam

    Magento Open Source

    Magento is now part of Adobe Commerce, a business suite that helps you build online stores that are fast, engaging, and personalized. Adobe Commerce lets you build “headless” storefronts. This means the front end (the part customers see) and the back end (where you manage everything) are separate. This gives you a great deal of flexibility. You can use developer-friendly tools to create custom experiences, connect to different systems using APIs, and even use pre-built services from Adobe. It also helps your site rank higher in search engines. Making updates is easier, too, because you can change the front end without messing with the back end.

    Adobe Commerce includes “Edge Delivery Services” that make your store load quickly. Faster sites rank better in search results, get more visitors, and convert more customers. They also use a “performance first” design that helps your site achieve good scores on Google’s tests. You can access ready-to-use components (such as product pages, shopping carts, and customer accounts) that you can simply drop into your site. Plus, you can build your own custom components if you need something specific.

    Even without coding skills, it’s easy to create and publish content for your store. Familiar tools like Google Docs and Microsoft Word make it simple to build pages, add images, insert links, and include forms. Dynamic blocks let you tailor content for different customer groups, while scheduling tools allow you to plan updates in advance – no developer needed.

    Adobe Commerce helps connect the commerce platform to Adobe Experience Manager Assets. This tool efficiently manages, approves, and edits digital content, allowing you to track progress. Finally, the tool can use A/B testing to test different content, designs, and layouts to see what works best.

    Bagisto

    Bagisto is an open-source eCommerce platform built on the Laravel framework. Its architecture is designed for flexibility, featuring an API-first, headless structure that enables the building of expansive, multi-vendor marketplaces, as well as robust, multi-tenant SaaS capabilities, making it a comprehensive tool for modern digital commerce.

    It uses a headless commerce approach, which decouples the front-end presentation layer from the back-end commerce engine. This separation enables developers to build highly customized and high-performance storefronts using modern frameworks, such as React, Vue.js, and Next.js. By interacting with the back end through GraphQL APIs, the front end can deliver ultra-fast and engaging user experiences. This architecture not only improves site speed and flexibility but also allows for seamless integration across multiple channels, including web, mobile apps, and point-of-sale systems, without altering the underlying back-end processes.

    Bagisto supports multi-vendor marketplaces with tools for vendor accounts, commissions, and product approval. The central administrator retains complete oversight, with powerful tools to manage vendors, define global or seller-specific commission rates, and approve products. This structure benefits customers by offering a diverse range of products and the ability to compare prices from different sellers, all within one convenient location.

    Bagisto’s Virtual Try-On feature is a notable addition, which uses AR technology to enable customers to visualize products on themselves before making a purchase. This interactive tool enhances customer engagement and confidence by allowing them to realistically preview items such as clothing, glasses, and makeup, which in turn helps reduce return rates and increase sales. If you’d like to try it out for yourself, read our guide on how to get started with Bagisto.

    OpenCart

    OpenCart provides a comprehensive suite of tools designed to enable the administration of your online store to be as efficient as possible. It includes everything from product management to detailed reporting, with the centralized administrator dashboard offering an immediate overview of crucial business metrics, including order totals, customer activity, and real-time sales analytics – all presented through intuitive widgets for rapid assessment.

    Additionally, OpenCart’s robust user management system allows you to create multiple user accounts with granular permission controls. This allows you to delegate responsibilities securely and maintain operational efficiency within your team. The platform also features multi-store functionality and allows centralized management.

    OpenCart supports extensive product customization through options and attributes, accommodating variations in size, color, and other characteristics. An integrated affiliate system facilitates collaborative marketing efforts, allowing you to incentivize external partners to promote your products and track their performance.

    To drive sales and enhance customer engagement, OpenCart provides versatile tools for creating discounts, coupons, and special promotions, allowing you to implement diverse pricing strategies. Finally, integrated backup and restore capabilities ensure data security and business continuity.

    📖 Suggested read: How to Host Your Websites on Vultr with RunCloud

    PrestaShop

    PrestaShop Classic is available for free to download. It is a self-hosted e-commerce solution that gives merchants considerable control over their online stores. This option is particularly well-suited for those who already have a preferred hosting provider and possess the technical expertise to manage their server environment or are willing to learn.

    The download includes a selection of pre-installed essential modules, streamlining the initial setup process and enabling you to begin selling products relatively quickly. Furthermore, direct integration with the PrestaShop Marketplace from within the back office gives access to a vast library of themes and additional modules, allowing for extensive customization and feature expansion.

    A significant advantage of PrestaShop is its huge customizability, which comes from its open-source foundation. This flexibility also allows the platform to adapt and scale alongside your business. PrestaShop is renowned for its robust SEO capabilities, providing all the necessary tools to optimize your store’s visibility in search engine results, helping to drive organic traffic. With this self-hosted solution, you retain complete ownership of your store’s data, ensuring autonomy and control over your business information.

    Square Online

    Square provides an online e-commerce platform and a point of sale (POS) system with a comprehensive suite of tools designed to allow sales across various channels, with minimal setup and no formal training needed.

    Square POS offers a solution to fit your needs, whether you’re selling in a physical store, online, over the phone, or even remotely in the field. The system is modular, allowing you to choose the specific features that align with your business operations. Many of these core features are available at no monthly cost, making it an accessible option for businesses of all sizes. This flexibility ensures you only pay for the processing and features you use.

    A core component of Square POS is its integrated online store functionality. This feature lets you easily create a website to showcase your products or services, accept online orders, and manage bookings. You can also seamlessly integrate your online store with social media platforms such as Instagram and Facebook, helping to expand your reach and connect with customers where they already spend their time.

    In addition to basic transaction processing, Square POS offers features to help you manage your business more effectively. The Customer Directory automatically creates profiles for each customer, simplifying communication and relationship management.

    Additionally, Square offers business banking services, including a checking account with instant access to your sales revenue through a free debit card and a savings feature that automatically sets aside portions of your sales for designated purposes, such as taxes or future investments. This combination of sales tools and financial management features positions Square POS as a comprehensive solution for streamlining business operations.

    📖 Suggested read: The Complete WordPress Speed Optimization Guide

    Big Cartel

    Big Cartel offers a free plan, called the Gold plan, specifically designed to help artists, creators, and independent business owners launch an online store quickly and without any upfront financial commitment. This plan requires no credit card information, allowing you to list up to five products and begin selling immediately.

    It focuses on simplicity and ease of use, making it an ideal option for those new to e-commerce or those wanting to test the waters before investing in a paid plan. The Gold plan provides the essential tools to establish an online presence and generate revenue, with the option to upgrade to a paid plan later as your business expands and your needs evolve.

    The free Gold plan includes various features to facilitate a smooth store setup and management experience. You get access to free, customizable store templates, allowing you to create a visually appealing online shop that reflects your brand’s aesthetic without needing any coding knowledge.

    The plan also includes real-time sales and visitor statistics, giving insights into your store’s performance. The automatic sales tax feature simplifies the normally difficult part of the process.

    Beyond the website, Big Cartel also provides easy-to-use iOS and Android apps, enabling you to manage your store on the go, from processing orders to updating product listings. While the Gold plan is limited to five product listings, it provides a fully functional e-commerce platform with core features like multiple product variants (size, color, etc.), sales tax calculation, and real-time sales data.

    📖 Suggested read: The 19 Best & Most Reliable Transactional Email Services

    Ecwid

    Ecwid (E-Commerce Widget) is a flexible e-commerce platform suitable for businesses at any stage, from launching its first online store to scaling a large enterprise. It allows users to start without a credit card and use the basic features indefinitely, with no transaction fees. This risk-free approach enables entrepreneurs to validate their business ideas, add a store to existing websites, or create a new standalone store using customizable content blocks and themes.

    The platform provides a comprehensive suite of tools to manage all aspects of e-commerce, from marketing and sales to store operations. Ecwid allows you to sell across multiple channels, including social media platforms including Instagram and Facebook, marketplaces such as Amazon, and your website – all managed from a central dashboard.

    For store management, Ecwid offers automated solutions for domain name registration, SSL certificates, tax calculations, payment processing, and shipping, simplifying complex tasks and allowing business owners to focus on growth.

    As businesses grow, Ecwid provides features to support scaling and long-term success. It provides advanced reporting tools to get insights into customer behavior and marketing effectiveness, enabling data-driven decision-making. Ecwid supports custom code modifications and integration with Next.js for those with more advanced technical needs, offering greater design flexibility. Throughout the entire journey, Ecwid emphasizes its commitment to customer support, offering assistance via live chat, email, and phone, ensuring users have access to help whenever needed. The platform is trusted worldwide.

    📖 Suggested read: How To Install WordPress With RunCloud | Step-By-Step Guide

    Zen Cart

    Zen Cart is a free, open-source e-commerce platform prioritizing merchant freedom and control. It offers a comprehensive set of built-in features without restrictions on product quantity, sales volume, or the number of administrative users.

    It has a product variant management system with specific pricing and inventory control. It also supports wholesale/B2B sales, discount coupons, gift vouchers, and various pricing options (sales, specials, percentage discounts). Zen Cart is designed for global commerce, supporting multiple languages and currencies, diverse payment gateways like PayPal, AuthorizeNet, and Square, and traditional methods.

    Free eCommerce Platforms

    Choosing the Right Free eCommerce Platform

    Choosing the right e-commerce platform is crucial for any online business, whether you’re a startup, a creative entrepreneur, or an established company looking to expand its online presence.

    These options range from simple website builders with e-commerce features to fully dedicated e-commerce platforms.

    Each offers different strengths: some prioritize design flexibility, while others focus on scalability or specific features such as abandoned cart recovery, robust SEO tools, or extensive third-party integrations.

    However, if your priority is ultimate control, customization options, and long-term scalability for potentially high-volume online sales, WooCommerce is the ideal choice. While other platforms offer website embed options and some allow you to set up a store, they typically have certain limitations.

    Being open-source, WooCommerce offers unparalleled flexibility for product management, shipping options, inventory tracking, site analytics, and even integrating blogging tools for content marketing.

    The trade-off is that WooCommerce, unlike a hosted SaaS solution, requires you to manage your own hosting. This is where a service like RunCloud becomes invaluable.

    If you choose WooCommerce for its flexibility, the next step is reliable hosting. RunCloud lets you host WooCommerce on fast, developer-friendly cloud servers without the complexity of manual server management. You get full control over performance, security, backups, and scaling – all through an easy dashboard.

    Launch your WooCommerce store on a fast, secure cloud server managed through RunCloud’s simple dashboard.

    Create your free RunCloud account to get started.

    FAQs on Free eCommerce Platforms

    What is the best free eCommerce platform for beginners?

    For beginners, WooCommerce (a WordPress plugin) is highly recommended. It’s user friendly, has a massive community for support, and offers extensive customization options, especially when hosted on a powerful platform such as RunCloud.

    Can I sell digital products on these platforms?

    Yes, most free eCommerce platforms, including WooCommerce, support the sale of digital products. Within the platform settings, you can easily configure downloads, subscriptions, and license keys.

    Do I need technical skills to use these platforms?

    Basic computer literacy is helpful, but extensive technical skills aren’t generally required for free platforms like WooCommerce. However, managing your own server with RunCloud does involve some technical understanding, though RunCloud’s interface simplifies the process considerably.

    How do transaction fees work on free platforms?

    The “free” platform doesn’t charge transaction fees, but the payment gateways you use (like PayPal or Stripe) will. These fees are typically a percentage of the transaction plus a fixed amount.

    What payment gateways are supported?

    Most free platforms, especially WooCommerce, support a wide range of payment gateways. These include popular options like PayPal, Stripe, Square, and many others, often available as add-ons or extensions.

    Can I customize my online store?

    Absolutely! Customization is a major strength of platforms like WooCommerce. You can choose themes, add plugins, and even modify code (if you’re comfortable) to create a unique storefront.

    How do I migrate from one platform to another?

    Migration depends on the specific platforms involved. While some offer built-in tools, you might need third-party plugins or manual export/import of data (products, customers, orders) for a smooth transition.

    Are there any limitations on free plans?

    Yes, “free” often means limitations on features, storage, or the number of products you can list. WooCommerce is free, but you’ll pay for hosting (consider RunCloud), premium themes, and extensions.

    What is the best platform for high-volume sales?

    WooCommerce, coupled with robust hosting, is a strong contender for high-volume sales. Its scalability and the ability to optimize your server environment are crucial for handling large amounts of traffic and transactions.

    How do I optimize my store for SEO?

    Use descriptive product titles and descriptions, optimize images with alt text, and use SEO plugins such as Yoast SEO (for WooCommerce/WordPress). Additionally, ensure your site is fast (RunCloud can help with this) and mobile-friendly, which are key ranking factors.

  • How to Edit robots.txt in WordPress (With & Without Plugin)

    How to Edit robots.txt in WordPress (With & Without Plugin)

    Not having a strong web presence is like not existing at all. Your website is your storefront, your portfolio, and your voice.

    Controlling how search engine crawlers discover and interact with it is crucial for its success.

    In this guide, we will discuss the robots.txt file, a critical tool for managing your WordPress robots.txt file and optimizing your site for SEO. We’ll cover everything from the basics of robots.txt rules and directives (like Disallow and Allow) to editing your file using popular SEO plugins or even directly via FTP or cPanel.

    But that’s not all! We’re going beyond traditional search engines.

    In the age of AI, we’ll show you how to manage your website’s presence in tools like ChatGPT and Claude using specific robots.txt user-agent configurations.

    You will also learn to control whether your content is used to train these powerful AI models, giving you unprecedented control over your digital footprint. This feature has become increasingly important with the advancement of AI, so understanding your robots.txt file and web robots in general is more powerful than ever.

    By the end of this guide, you’ll be a robots.txt expert!

    What is robots.txt?

    The robots.txt file is a plain text file in your website’s root directory (e.g., yourwebsite.com/robots.txt). It is a set of instructions for search engine crawlers (also known as bots or spiders) that tells them which parts of your site they shouldn’t access. It’s a tool for controlling how search engines interact with your website, but it’s not a security mechanism. It is a public file that any human or bot can see.

    📖 Suggested read: 15 Best Performance Testing Tools to Improve Your Site

    Purpose of robots.txt

    The primary purpose of robots.txt is to manage crawler traffic, not to hide pages from search results entirely. While it strongly suggests which areas to avoid, it doesn’t guarantee exclusion from search indexes. Here’s a breakdown of its key functions:

    • Preventing Crawling of Duplicate Content: Websites often have multiple URLs that lead to the same content (e.g., with and without “www” or with different URL parameters). robots.txt can help you indicate which version you prefer search engines to crawl and avoid duplicate content penalties.
    • Blocking Access to Sensitive Directories: You might have areas of your website that are not intended for public consumption, such as your admin panel (/wp-admin/ on WordPress), staging environments, or directories containing internal files. robots.txt can tell crawlers to steer clear of these. However, remember that this is a suggestion, not an enforced restriction; for true security, use proper authentication and authorization methods.
    • Conserving Crawl Budget: Large websites, especially e-commerce sites, can have thousands or even millions of pages. Search engines have a limited “crawl budget” – the amount of time and resources they’ll dedicate to crawling a particular site. You can ensure that crawlers prioritize indexing your most valuable content by strategically disallowing less important or dynamically generated pages (like certain search result filters).
    • Specifying the Location of Sitemaps: robots.txt can include a directive pointing search engines to your XML sitemap(s). Sitemaps are lists of all the important URLs on your site, helping search engines discover and index your content more efficiently.

    📖 Suggested read: 10 Best WordPress Management Tools To Easily Manage Multiple Websites

    How Search Engines Use robots.txt

    When a search engine crawler (like Googlebot) visits a website, it typically checks for the robots.txt file first. It parses the file and looks for instructions specifically targeted at it (via the User-agent directive).

    1. User-agent: This line specifies which crawler the following rules apply to. User-agent: * means the rules apply to all crawlers. You can also target specific crawlers, like User-agent: Googlebot.
    2. Comments: Lines starting with # are considered comments and will be ignored by web crawlers.
    3. Disallow: This is the core directive. It tells the crawler not to access the specified URL path. For example, Disallow: /private/ would instruct crawlers to avoid the /private/ directory and everything within it.
    4. Allow: This directive is used to override a Disallow rule. It’s helpful if you want to block an entire directory but allow access to a specific file or subfolder within it. For instance:
    User-agent: *
    Disallow: /images/
    Allow: /images/logo.png

    The above code snippet blocks access to the /images/ directory, except for the logo.png file. You should note that robots.txt is based on a cooperative system. Reputable search engines (like Google, Bing, etc.) generally respect the instructions in robots.txt. However, malicious bots or scrapers might ignore them completely.

    Therefore, robots.txt should not be relied upon for security; use proper authentication and .htaccess rules for sensitive areas. Also, a disallowed page may still appear in search results if it is linked from other pages.

    📖 Suggested read: How To Install WordPress With RunCloud | Step-By-Step Guide

    Importance of robots.txt For AI Crawlers

    While robots.txt has always been important for managing traditional search engine crawlers, its importance has grown significantly with the rise of AI-powered crawlers. These AI crawlers, used by companies like OpenAI, are designed to gather vast amounts of data from the web, often to train large language models (LLMs) and other AI systems. This introduces new considerations for website owners regarding data usage, privacy, and control.

    Why is robots.txt More Important Now?

    • Data Usage Control: AI models require massive datasets for training. Your website’s content, if crawled, could potentially be used to train these models. robots.txt allows you to express your preference regarding this usage. You can choose to allow AI crawlers to access your content, disallow them entirely, or selectively control access to specific parts of your site.
    • Performance and Bandwidth: AI crawlers can be very aggressive and potentially overload your server. robots.txt can help you manage this by limiting their access or specifying crawl delays (though not all crawlers respect crawl-delay directives).
    • Ethical Considerations: There are ongoing discussions and debates about the ethics of using publicly available data to train commercial AI models. robots.txt allows website owners to participate in this discussion by making their preferences known.
    • Search Indexing: Some AI crawlers enhance search experiences within specific AI products. Controlling access to these can directly impact whether your content is discoverable through these AI-powered search interfaces.

    How to Edit the robots.txt in WordPress

    Two primary ways to edit your robots.txt file in WordPress are using a plugin (generally recommended for ease of use and safety) or editing the file directly (which requires more technical knowledge).

    Method 1: Editing robots.txt with a Plugin

    This is the recommended method for most users, especially beginners. Many SEO plugins offer built-in robots.txt editors, which provide a user-friendly interface and reduce the risk of syntax errors.

    1. Install and Activate an SEO Plugin: You can use popular plugins such as Yoast SEO, Rank Math, All in One SEO Pack, SEOPress, etc. These plugins offer a wide range of SEO features, including robots.txt management.
    2. Locate the robots.txt Editor: The exact location of the editor varies depending on the plugin. Refer to the official documentation of your WordPress plugin to follow along:
    3. Edit the File: The plugin will typically provide a text area where you can view and edit the contents of your robots.txt file. Make your desired changes and exclude any unnecessary paths from crawling.
    4. Save Changes: Click the “Save Changes” or similar button to apply your modifications.
    5. Test your Changes: Use the Google search console’s robots.txt tester to ensure your edits work correctly.

    Advantages of using a plugin:

    • User-Friendly Interface: Simplifies and streamlines the editing process.
    • Syntax Validation: Many plugins will check for basic syntax errors, reducing the risk of accidentally blocking important parts of your site.
    • Integrated with SEO Tools: Often provides seamless integration with other SEO features within the plugin.
    • Reversion Options: Some plugins offer version history or backup options, allowing you to revert to previous versions if needed.

    Method 2: Editing robots.txt without a Plugin

    If you don’t want to use an additional plugin, you can directly access and modify the robots.txt file on your server. However, this requires more technical expertise and, if not done carefully, carries a higher risk of errors.

    1. Access Your Server: You’ll need to connect to your server using one of the following methods:
      • RunCloud File Manager: RunCloud provides a built-in file manager for creating and modifying text files on your server.
      • FTP (File Transfer Protocol): Connect to your server using an FTP client such as FileZilla. Your web hosting provider usually provides your FTP credentials (hostname, username, and password).
      • cPanel File Manager: Most web hosting providers offer cPanel, which includes a web-based File Manager. Log in to your cPanel account and navigate to the File Manager.
      • SSH (Secure Shell): Advanced users can use SSH to obtain command-line access to the server. This requires SSH credentials and familiarity with command-line tools.
    1. Locate the robots.txt File: Navigate to the root directory of your WordPress installation. This is typically the directory where your wp-config.php file is located. If it doesn’t exist, you can create a new plain text file named robots.txt.
    2. Edit the File:
      • RunCloud File Manager: Locate the file and click on it; this will open a text editor in a new browser window.
      • FTP: Download the robots.txt file to your computer and edit it using a plain text editor such as Notepad++, Sublime Text, or VS Code. You can’t use a word processor like Microsoft Word. After editing the file, save it and upload the modified file back to the server, overwriting the existing file.
      • cPanel File Manager: Right-click on the robots.txt file and select “Edit” or “Code Edit” (depending on your cPanel version). Make your changes directly in the web-based editor.
      • SSH: Use the nano or vim command-line text editors to edit your robot.txt file.
    Editing robots.txt in runcloud
    1. Save Changes: Ensure you save the changes you’ve made to the file. If using FTP, ensure the updated file is uploaded and overwrites the old one.
    2. Test Your Changes: After editing your file directly, it is essential to test it. Use Google Search Console’s robots.txt Tester tool to verify that your changes are working as intended and that you haven’t accidentally blocked important content.

    While editing the robots.txt file directly without a plugin can be more technically involved, it offers some distinct advantages for advanced users and those who prefer greater control over their website’s settings.

    📖 Suggested read: How Google Interprets the robots.txt Specification

    This approach ensures that all the necessary features and tools are built directly into the core system. You have complete autonomy over the file’s content and structure without depending on external plugins or add-ons. This eliminates compatibility issues, potential security risks, and the need for additional software installations.

    However, it does have a few disadvantages:

    • Higher Risk of Errors: Requires careful attention to syntax; mistakes can have significant negative consequences.
    • Less User-Friendly: Requires technical knowledge of FTP, cPanel, or SSH.
    • No versioning: If you make a mistake, it will be difficult to revert.

    Unless you are comfortable with server-side file management, a plugin is strongly recommended for editing your robots.txt file in WordPress. If you do choose to edit directly, always test your changes thoroughly using Google Search Console’s robots.txt Tester.

    📖 Suggested read: How to Fix WordPress Revisions Not Showing [SOLVED]

    If you aren’t comfortable with command line tools but still want to edit your configuration files manually, then you should note that RunCloud users can manage and edit their robots.txt through a clean, intuitive interface, offering a safer alternative to direct FTP or SSH access while maintaining control.

    📖 Suggested read: 3 Free Ways To Migrate WordPress From Shared Hosting To Cloud Server

    Managing AI Crawlers with robots.txt

    This section will focus on managing AI crawlers using robots.txt, specifically for OpenAI crawlers. By understanding these crawlers and their user agents, you can control their access to your website’s content.

    OpenAI provides clear documentation on its crawlers, allowing you to make informed decisions about how you want them to interact with your site.

    • GPTBot: This is OpenAI’s primary crawler for training its generative AI foundation models (like those powering GPT-3, GPT-4, etc.). Disallowing GPTBot signals that you do not want your website’s content used for training these models.
    User-agent: GPTBot
    Disallow: /

    This example blocks GPTBot from crawling your entire site.

    • OAI-SearchBot: This crawler specifically displays websites in search results within ChatGPT’s search features. Allowing OAI-SearchBot can help your site appear in these results.
    User-agent: OAI-SearchBot
    Allow: /

    This allows OAI-SearchBot to crawl your site. You might combine this with a “disallow” command for GPTBot to appear in search results but prevent model training.

    • ChatGPT-User: It is not used to crawl the web automatically. It is a proxy through which a user’s request is sent. It is not used for general training purposes.
    User-agent: ChatGPT-User
    Allow: /

    You can combine rules for different crawlers in a single robots.txt file. For example:

    User-agent: *
    Disallow: /wp-admin/
    Disallow: /private/
    User-agent: GPTBot
    Disallow: /
    User-agent: OAI-SearchBot
    Allow: /

    The above example will:

    1. Blocks all crawlers (including traditional search engines) from /wp-admin/ and /private/.
    2. Blocks GPTBot from the entire site (preventing training data collection).
    3. Allows OAI-SearchBot to crawl the entire site (enabling appearance in ChatGPT search).

    While we provided an overview of OpenAI’s crawlers and user agents, we recommend reading AI / LLM User Agents: Blocking Guide to learn more.

    📖 Suggested read: How to Easily Create a WordPress Staging Site in RunCloud

    After Action Report: Mastering Your robots.txt File

    Throughout this guide, we’ve shown you why robots.txt is a small but mighty file that manages how search engines and, increasingly, AI crawlers interact with your website. We discussed its core purposes: managing crawl traffic, conserving crawl budget, and specifying sitemap locations. We also explained that robots.txt is a suggestion, not a security mechanism.

    Controlling your site’s interaction with crawlers is essential for a healthy web presence. You want search engines to index your valuable content efficiently, avoid duplicate content issues, and protect sensitive areas. With the advent of AI crawlers, you also need to consider how your content might be used for training AI models, and robots.txt gives you a voice in that process.

    But managing files directly on your server, especially for tasks like editing robots.txt, can be intimidating. Traditional methods such as FTP clients and cPanel’s File Manager can feel clunky and risk errors if you’re not experienced.

    This is where RunCloud shines.

    RunCloud’s intuitive dashboard provides a built-in File Manager that simplifies server-side file management. No more juggling FTP clients or navigating complex cPanel interfaces!

    • Direct Access: Access your website’s root directory and locate your robots.txt file.
    • Built-in Text Editor: RunCloud’s File Manager includes a powerful yet easy-to-use text editor directly within the dashboard. You can make changes to your robots.txt file, save them, and then be done – all without leaving your browser.
    • Secure and Streamlined: RunCloud’s interface provides a secure and streamlined way to manage server files, minimizing the risk of accidental errors.
    • One-Click Staging: Create a staging environment to experiment with before pushing changes to the live server.

    Ready for Effortless WordPress Management? Choose RunCloud.

    RunCloud isn’t just about simplifying robots.txt management. It’s a complete WordPress hosting platform designed for speed, security, and ease of use. From deploying new sites with a single click to managing server configurations, backups, and security settings, RunCloud empowers you to take control of your WordPress hosting without headaches.

    Here’s why RunCloud is the best choice for your WordPress site:

    • Blazing Fast Performance: Optimized server configurations and caching mechanisms ensure your site loads incredibly quickly, improving user experience and SEO.
    • Robust Security: Built-in security features, including firewalls and regular security updates, protect your site from threats.
    • Effortless Management: An intuitive dashboard makes server management a breeze, even for non-technical users.
    • Scalability: Easily scale your server resources as your website grows.
    • Expert Support: RunCloud’s support team can assist you with any questions or issues.

    Start your free trial today and see how easy WordPress hosting can be.

    FAQs on robots.txt in WordPress

    What is the difference between robots.txt and meta tags?

    Robots.txt is a site-wide file instructing search engine crawlers which directories to avoid. At the same time, meta tags are placed within individual page HTML and control how that specific page is indexed and displayed. Meta tags offer finer-grained control.

    Can I block specific pages with robots.txt?

    In your robots.txt file, you can use the Disallow: directive followed by the specific page’s URL path. For example, Disallow: /private-page/ will block that URL.

    How do I test my robots.txt file?

    Use Google Search Console’s robots.txt Tester tool. This tool validates your syntax and shows if any URLs you intend to block are accessible.

    Is it safe to edit robots.txt?

    Editing robots.txt can impact your site’s search visibility, so proceed cautiously; mistakes can block important content. Platforms such as RunCloud make managing and editing your robots.txt easier and safer through a user-friendly interface.

    What happens if I disallow all in robots.txt?

    Using User-agent: * and Disallow: / in your robots.txt file will instruct all search engines not to crawl any part of your website, effectively removing it from search results.

    Can plugins affect my robots.txt file?

    Yes, some WordPress SEO plugins can create or modify your robots.txt file. Review plugin settings carefully to avoid conflicts or unintended disallow rules.

    How often should I update my robots.txt?

    Update your robots.txt file whenever you make significant changes to your website’s structure or want to adjust which sections are accessible to search engines. Regular reviews are recommended, but not frequent updates.

    What is the correct syntax for robots.txt?

    The basic syntax uses User-agent to specify the crawler (e.g., User-agent: * for all) and Disallow to specify paths to block (e.g., Disallow: /wp-admin/). Allow can override Disallow for specific files or folders within a disallowed directory.

  • 8 Best Cheap Web Hosting Services in 2025

    8 Best Cheap Web Hosting Services in 2025

    Looking for reliable web hosting that won’t break the bank in 2025? We’ve analyzed and compared the top 8 affordable hosting providers to help you make an informed decision.

    From shared hosting plans starting at just $2.99/month to scalable cloud solutions, this comprehensive guide covers everything you need to know about budget-friendly hosting options that don’t compromise quality.

    Whether you’re launching your first blog or managing multiple high-traffic websites, we’ll show you how to get the best value for your money with features like free SSL certificates, unlimited bandwidth, and 24/7 customer support.

    Let’s find the best cheap web hosting options for 2025 – and the perfect solution for your needs.

    What is Web Hosting?

    Web hosting is a service that makes websites accessible online by storing website files on powerful servers connected to the global network. When you purchase web hosting, you’re essentially renting space on a server that maintains your website’s files, databases, and other essential resources needed for your site to function properly.

    These specialized computers (servers) are maintained in secure data centers with redundant power supplies, cooling systems, and high-speed internet connections to ensure your website remains accessible 24/7.

    Modern web hosting providers offer additional services beyond simple storage, including:

    • Automated backups
    • Security features
    • Content delivery networks (CDN)
    • Easy-to-use control panels for website management

    Suggested read: Top 8 Popular Web Hosting Control Panels in 2024

    Types of Web Hosting

    Web hosting services come in several distinct varieties, each designed to meet different needs, budgets, and technical requirements for websites of varying sizes and complexities.

    Shared Hosting

    Shared hosting is the most economical and beginner-friendly option. In this hosting, multiple websites share resources on a single server. This hosting type is perfect for small businesses, personal blogs, and startups just beginning their online journey and don’t require extensive server resources.

    Modern shared hosting plans often include features such as one-click installers, managed security updates, and user-friendly control panels that make website management accessible to non-technical users. Shared hosting is affordable because of the economy of scale, where server maintenance and management costs are distributed among many users.

    VPS Hosting

    Virtual Private Server (VPS) hosting is a significant step up from shared hosting. It offers dedicated resources within a virtualized server environment that provides better performance and reliability. With VPS hosting, your website operates in an isolated container with guaranteed CPU, RAM, and storage allocations, ensuring consistent performance regardless of other users on the physical server.

    VPS hosting offers root access and the flexibility to customize your server environment, install specific software, and configure security settings according to your needs. This makes it ideal for growing websites, e-commerce stores, and applications that need more resources and control than shared hosting can provide. The scalability of VPS hosting allows you to adjust resources as your needs change, making it a future-proof solution for evolving websites.

    Suggested read: Self-Managed or Managed Hosting: Which One is Right for You?

    Dedicated Hosting

    Dedicated hosting provides the best performance by allocating an entire physical server exclusively to your website or application. This premium hosting solution offers maximum resources, complete server customization options, and the highest level of security since no other users share your server hardware.

    Dedicated hosting is ideal for high-traffic websites, resource-intensive applications, and organizations with specific compliance requirements that necessitate complete server control. With dedicated hosting, you have the freedom to choose your server’s operating system, install any required software, and configure the server exactly to your specifications.

    Cloud Hosting

    Cloud hosting is the most flexible and scalable hosting solution. You can use a network of connected servers to host websites and applications with good reliability and resource scalability. You can also structure your services so that websites use resources from multiple servers, providing better redundancy and the ability to handle traffic spikes without service interruption.

    Cloud hosting platforms typically offer pay-as-you-go pricing models, ensuring you only pay for the resources you use while being able to scale up or down instantly based on demand. Cloud hosting is particularly well-suited for websites with variable traffic patterns, e-commerce sites that need to scale during peak seasons, and applications that require high availability and performance. Most cloud hosting providers offer advanced features such as load balancing, automated scaling, and global content delivery networks (CDN) to enhance website performance and user experience.

    Suggested read: 10 Best Self-Hosted Email Server Platforms to Use in 2024

    Top 8 Cheap Web Hosting Services in 2025

    The web hosting landscape continues to evolve in 2025, offering more features and better performance at increasingly competitive prices. We’ve tested and analyzed these services to help you make an informed decision based on your specific hosting requirements and financial constraints.

    RunCloud + Cloud VPS

    RunCloud transforms how developers and businesses manage their cloud servers by providing an intuitive server control panel that works seamlessly with all the major cloud providers such as DigitalOcean, Vultr, Linode, and many more. This powerful combination delivers enterprise-level features at a fraction of the cost of traditional managed hosting solutions.

    RunCloud provides automated server setup, enhanced security, and streamlined deployment processes, significantly reducing the technical overhead of managing cloud servers. Its server management capabilities make it ideal for developers and agencies managing multiple websites.

    Suggested read: The 7 Best Node.js Hosting Platforms for 2024 (Free + Paid)

    Key Features

    RunCloud offers a comprehensive suite of features to streamline server management and website deployment. You can use RunCloud’s one-click server provisioning, automated SSL certificate management, and advanced security features that protect your websites from common threats.

    RunCloud provides complete access to your server resources and doesn’t put arbitrary restrictions on the number of websites, size of your website, PHP workers, etc., to upsell you expensive subscriptions and add-ons. If your server can handle it, you can deploy it using RunCloud.

    You can take advantage of its integrated Git deployment, staging environments, and in-house caching solutions that enhance website performance. Furthermore, automated backup systems with easy restore options make disaster recovery straightforward and reliable. The best part is that these features work seamlessly on multiple servers regardless of your cloud platform.

    Cost

    • Essentials Plan ($9/month): The Essentials plan offers management for one server with unlimited web applications. This entry-level plan includes crucial features including full backups, Git deployment, and server-side caching, making it ideal for those who need professional-grade hosting management without complexity.
    • Professional Plan ($19/month): The Professional plan expands capacity to 50 servers and includes advanced features such as custom NGINX configurations and enhanced firewall protection. The 10 GB increase in backup storage and the ability to clone web applications make this plan perfect for agencies managing multiple client websites.
    • Business Plan ($49/month): The Business plan represents the best value for established agencies. It offers management for up to 100 servers, advanced features including zero-downtime deployments, and a comprehensive WordPress toolkit. This plan includes powerful team collaboration tools with 10 team seats, unlimited staging environments, and robust API access, making it ideal for mission-critical workloads and larger organizations.
    • Enterprise Plan ($399/month): The Enterprise plan provides management for up to 500 servers with 100GB of backup storage and enhanced API capabilities. This comprehensive solution includes 50 team seats and significantly higher API request limits, making it perfect for businesses requiring extensive resources, strict SLAs, and enterprise-grade support.

    Suggested read: Cloud Hosting vs VPS Hosting – Which One Should You Choose in 2024?

    Hostinger

    Hostinger has established itself as a market leader in affordable web hosting. It offers good performance and features that rival more expensive providers. Their infrastructure uses cloud technology and SSD storage across all plans, which provides fast and reliable website performance.

    Hostinger’s proprietary control panel, hPanel, provides an intuitive interface that simplifies website management tasks and offers a smoother learning curve than traditional cPanel interfaces.

    Suggested read: 15 Best Email Hosting For Small Business (2024)

    Key Features

    Hostinger delivers a comprehensive hosting package that includes a website builder, one-click WordPress installation, and free SSL certificates across all plans. Furthermore, Hostinger’s LiteSpeed web servers and custom-built caching solutions provide exceptional speed and performance optimization.

    You can use its weekly backups, 24/7 customer support through live chat, and robust security suite, including automated updates and malware scanning. It also includes a free domain name with annual plans, unlimited bandwidth on higher-tier packages, and integrated Git support for developers.

    Suggested read: How To Setup Amazon EC2 (AWS) To Host Your Websites

    Cost

    Hostinger’s shared hosting plans start at an incredibly competitive pricing of $2.99 per month with a 48-month commitment, making it one of the most affordable quality hosts available. The mid-tier plans range from $3.99 to $7.99 monthly, offering additional resources and features suitable for growing websites. Premium plans include cloud hosting options starting at $15.99 monthly, providing dedicated resources and enhanced performance.

    Bluehost

    Bluehost is a top-tier hosting provider recommended by WordPress.org. The company’s extensive experience in the hosting industry is shown through its robust infrastructure and comprehensive feature set.

    Bluehost provides a complete website solution, from domain registration to advanced hosting features. Bluehost’s integration with WordPress makes it exceptionally easy to launch and manage WordPress sites, while their resource allocation ensures stable performance even during traffic spikes.

    Suggested read: What Is Managed WordPress Hosting & Do You Need It?

    Key Features

    Bluehost provides a feature-rich hosting environment with a custom-designed control panel, integrated website builder, and automated WordPress installation tools. Higher-tier plans offer unlimited website hosting, free domain registration for the first year, and comprehensive email hosting capabilities. The Bluehost platform also offers advanced security features, including SSL certificates, spam protection, and domain privacy options. It offers robust e-commerce features, such as WooCommerce integration and shopping cart functionality.

    Cost

    The Basic plan is $2.95/month for single websites, scaling up to the Pro plan at $13.95/month for enhanced performance and resources. The Plus plan at $4.95/month and the Choice Plus plan at $5.45/month cater to users needing multiple websites and additional security features, with all plans requiring a 12-month commitment. The renewal rates increase significantly after the initial term, with Basic renewing at $11.99/month, Plus at $16.99/month, Choice Plus at $21.99/month, and Pro at $28.99/month, making it important to consider long-term hosting costs.

    SiteGround

    SiteGround distinguishes itself in the web hosting industry through superior performance, innovative technology, and exceptional customer support. The company uses Google Cloud infrastructure and proprietary speed optimization tools to deliver outstanding website performance. Its development team regularly implements cutting-edge features like ultrafast PHP, advanced caching mechanisms, and automated WordPress updates.

    SiteGround’s proactive security measures, including AI-powered anti-bot systems and real-time monitoring, protect websites from various threats. Furthermore, their custom-built Site Tools control panel offers a modern, efficient interface for managing hosting services.

    Key Features

    SiteGround delivers enterprise-level features across all plans, including its proprietary SuperCacher technology for enhanced performance. The platform provides automated daily backups, free SSL certificates, and advanced security features, including custom WAF rules. It also offers advanced features such as staging environments, Git integration, and collaboration tools perfect for development teams. It also includes free email hosting, unlimited databases, and unmetered traffic, making it an excellent deal for people looking for a one-stop solution.

    Cost

    For the first subscription period, SiteGround offers three comprehensive hosting tiers: StartUp at $2.99/month for single websites, GrowBig at $4.99/month for unlimited websites, and GoGeek at $7.99/month for high-traffic sites. These promotional rates require a 12-month prepaid commitment, and it’s important to note that subsequent renewals will be billed at regular rates: StartUp at $17.99/month, GrowBig at $29.99/month, and GoGeek at $44.99/month.

    A2 Hosting

    A2 Hosting has built a strong reputation for delivering blazing-fast hosting services through their turbo servers and optimized hosting environment. The servers use NVMe SSD storage, server-side caching, and optimized hardware configurations that significantly reduce page loading times. Their developer-friendly approach provides support for multiple programming languages and frameworks.

    A2 Hosting implements features such as KernelCare for automatic kernel updates and dual firewall protection, which enhance its security. Its “Guru Crew” support team offers knowledgeable assistance 24/7/365. It is strongly committed to environmental sustainability, which is evident because it offers green hosting initiatives through carbon offset programs.

    Key Features

    A2 Hosting claims it offers Turbo Servers that deliver up to 20X faster page loads than standard hosting solutions. It also offers perpetual security features, including HackScan protection and dual firewall implementation. If you sign up for A2 Hosting, you can use its A2 Optimized Site Accelerator, free site migration, and automatic backup systems functionality to manage your WordPress website. It also supports multiple PHP versions, Python, Ruby, and other programming languages, making it ideal for developers.

    Cost

    A2 Hosting provides comprehensive hosting solutions to match different website needs and budgets. It starts with shared hosting at $11.99/month (renewing at $25.99) for beginners, WordPress hosting at $18.99/month (renewing at $35.99) for content creators, VPS hosting at $28.99/month (renewing at $51.99) for growing businesses, and dedicated hosting at $41.99/month (renewing at $61.99) for high-performance requirements.

    DreamHost

    DreamHost is a reliable and user-friendly hosting provider that offers unique features and pricing structures that set it apart from competitors. Their custom control panel provides a streamlined experience compared to traditional cPanel interfaces.

    DreamHost offers transparent pricing without aggressive upselling tactics, maintaining consistent rates even during renewal periods. Its infrastructure includes solid-state drives, unlimited bandwidth, and automated daily backups across all plans. Its commitment to privacy and security includes free domain privacy protection and enhanced SSL certificate options.

    Key Features

    DreamHost provides a comprehensive hosting package with unlimited storage and bandwidth across most plans. The platform offers automated WordPress installation and updates, custom control panel access, and free domain privacy protection.

    You can manage and create your WordPress websites using DreamHost’s automated daily backups, free SSL certificates, and unlimited email accounts. DreamHost also provides advanced features like shell access, Python support, and unlimited MySQL databases.

    Cost

    The Shared Starter plan begins at an affordable $2.95/month (renewing at $6.99). It includes essential features such as unlimited traffic, WordPress installation, and free domain registration, making it ideal for new websites and small projects.

    The mid-tier DreamPress plan, specifically optimized for WordPress, starts at $16.95/month (renewing at $19.99) and supports up to 100k monthly visitors with advanced features including staging environments, priority migration, and essential CDN services.

    InMotion Hosting

    InMotion Hosting provides business-focused hosting solutions and is known for its exceptional technical support capabilities. Their infrastructure supports advanced features like SSH access, multiple Python environments, and Ruby support, which makes it an excellent choice for developers and growing businesses.

    InMotion’s BoldGrid website builder and pre-installed WordPress features make it easier for businesses to establish their online presence quickly. Their commitment to customer education includes an extensive knowledge base and tutorial system.

    Key Features

    InMotion Hosting delivers comprehensive hosting solutions and advanced security features, including hack and malware protection, automatic backups, and free SSL certificates. It also offers professional email accounts, website builder tools, and a suite of marketing tools useful for developing and growing websites. Advanced users can also use advanced features such as SSH access, Git support, and optional root access on VPS plans, all from a single dashboard.

    Cost

    InMotion Hosting offers comprehensive hosting solutions for different business needs and technical requirements. Their WordPress hosting starts at an affordable $2.75/month (renewing at $10.99). It includes valuable features such as a free domain, SSL, premium themes, and unlimited email addresses. At the same time, their VPS hosting begins at $2.85/month (renewing at $11.49) with high-availability servers and cloud-powered reliability.

    For more demanding applications, their dedicated hosting starts at $5.99/month (renewing at $26.99) with configurable server options, and their premium dedicated solutions begin at $35.00/month (renewing at $69.99), offering maximum flexibility and control.

    HostGator

    HostGator is a popular choice for affordable web hosting. It offers reliable services with comprehensive features suitable for both beginners and experienced users. HostGator’s infrastructure supports unlimited websites, storage, and bandwidth while maintaining strong uptime performance through redundant server systems. Their user-friendly approach includes one-click installations for over 75 popular applications.

    HostGator excels in offering scalable solutions that grow with your business, from shared hosting to dedicated servers. HostGator’s comprehensive support system includes 24/7/365 customer service through multiple phone, live chat, and email channels.

    Key Features

    HostGator provides a robust hosting environment with unmetered bandwidth and storage, which is useful when hosting a high-traffic website. Like many other hosting providers, HostGator includes a free website builder, one-click WordPress installation, and free SSL certificates. HostGator offers comprehensive security features, including regular server monitoring, firewall protection, and DDoS prevention to protect your website from automated attacks.

    Cost

    The Baby Plan starts at an affordable $4.50/month (renewing at $16.49) for basic hosting needs. In comparison, the Business Plan provides enhanced features at $6.25/month (renewing at $21.99), and the Pro Plan delivers premium capabilities at $13.95/month (renewing at $29.69).

    Final Thoughts

    Choosing the right web hosting provider is crucial for your website’s success. While all the providers listed above offer excellent services, your specific choice should align with your technical requirements, budget, and growth expectations.

    For personal blogs and hobby websites, Hostinger and Bluehost offer exceptional value. However, combining RunCloud with cloud VPS providers for growing businesses and agencies presents a more scalable and cost-effective solution.

    While traditional hosting providers charge premium rates for managing multiple high-traffic websites, RunCloud’s innovative approach allows you to manage unlimited websites across multiple servers for a fraction of the cost.

    By combining RunCloud’s server management platform with affordable cloud VPS providers, you can achieve enterprise-level performance at budget-friendly prices.

    Ready to transform how you manage your web hosting? Start your journey with RunCloud today!

    FAQs on Cheap Web Hosting Services

    Is shared hosting suitable for my website?

    Shared hosting is ideal for small to medium-sized websites that receive moderate traffic (up to 10,000 monthly visitors) and don’t require extensive server resources. It’s particularly well-suited for personal blogs, small business websites, and portfolio sites that don’t have complex database requirements or heavy server-side processing needs. However, if your website experiences sudden traffic spikes or requires specialized software, you might consider VPS hosting instead.

    Can I upgrade my hosting plan later?

    Most reputable hosting providers offer seamless upgrading options that allow you to scale your resources without significant downtime or technical complications. The upgrade process typically involves a few clicks in your hosting control panel, and providers such as RunCloud make it especially easy to manage resources across different hosting plans. Your website files and databases are usually automatically migrated to the new server environment during the upgrade.

    What is the difference between VPS and shared hosting?

    VPS hosting provides dedicated server resources (CPU, RAM, storage) that are exclusively yours, offering better performance and reliability than shared hosting. Shared hosting places multiple websites on the same server with shared resources, making it more affordable but potentially less stable if other sites on the server consume excessive resources. VPS hosting also offers root access and more customization options, while shared hosting is more restricted but easier to manage.

    Are cheap hosting services reliable?

    Reputable budget hosting providers can offer reliable service by optimizing their infrastructure and automating many processes to reduce costs. However, you should research provider reviews, uptime guarantees, and support quality before choosing a cheap host.

    What features should I look for in a cheap hosting service?

    Essential features should include free SSL certificates, automated backups, 24/7 customer support, and a user-friendly control panel. The host should also provide adequate storage and bandwidth for your needs, basic security features such as malware scanning, and a one-click installer for popular applications like WordPress.

    How do I transfer my website to a new hosting provider?

    Many hosting providers offer free migration services, especially for WordPress sites, and tools like RunCloud can significantly simplify the process. After the transfer, updating your DNS settings and verifying that all website functionality works correctly before pointing your domain to the new host is important.

  • Full vs Incremental vs Differential Backup: Backup Types & Differences

    Full vs Incremental vs Differential Backup: Backup Types & Differences

    Are you confused between different backup types, wondering which strategy offers the best protection for your valuable data? Deciding between incremental and differential backup, or even where a full vs. incremental vs. differential backup fits into your plan, can be confusing.

    Understanding the differences between data backup strategies is essential for implementing backup best practices.

    In this article, we’ll explore the advantages and disadvantages of incremental backups and compare them against different backup and recovery methods.

    Whether you’re evaluating cloud backup options, seeking backup solutions for businesses, or simply trying to determine which is better, differential or incremental backup for your specific needs, this guide will clarify these complex concepts and help you make informed choices about your incremental data storage.

    Let’s get started!

    What are Backups?

    Backups are one of the most important components of any system administration strategy. We actively create copies of our critical data from individual files and databases to complete server images, and store them in a secure, separate location. This proactive measure ensures we can recover our systems and information following data loss events, such as hardware failures, accidental deletions, or malicious attacks.

    However, most people think just making a copy of data is enough to protect it.

    A well-planned backup strategy is not just about having copies of data but about having a reliable path to recovery, which also means testing the restores. If you cannot restore a backup, it is useless.

    What is a Full Backup?

    A full backup is a comprehensive copy of all selected data. This includes every file, database record, configuration setting, and other relevant data within a specified system or application. Think of it as taking a complete snapshot of your system at a given time.

    System administrators initiate full backups to ensure they have a complete, independent version of the data readily available for restoration. This type of backup does not rely on any previous backup, making it self-contained and simple to restore from. This is often the most important backup in your entire system.

    RunCloud’s Full Backup Options for Web Apps

    RunCloud provides a user-friendly interface for initiating full backups of web applications.

    In the RunCloud dashboard, you can navigate to the specific web application, and in the “Backup” section, you’ll find options for triggering on-demand backups. These backups can save all of the app’s components, including the web application files, the database (if one is associated), and any related NGINX configurations. RunCloud allows you to specify the backup destination, including local server storage or an off-site location.

    Moreover, you can create schedules for automated full backups by setting the day of the week and the time to run them without intervention. The easy integration with external storage providers such as Amazon S3, Google Cloud Storage, and DigitalOcean Spaces allows for convenient off-site storage of full backups.

    Suggested read: 3 Free Ways To Migrate WordPress From Shared Hosting To Cloud Server

    Pros of Full Backup

    Full backups offer several significant advantages. First, they guarantee the simplest restoration process. Since we have a complete data snapshot within a single backup set, we don’t need to worry about locating previous backups or reconstructing data from multiple sources. We simply restore the full backup, and the system is back to its state when the backup was taken.

    The complete nature of full backups also reduces the risk of inconsistencies when recovering, providing a high degree of confidence that the restored system is functionally identical to the backup state. In addition, full backups can be independently moved and copied to different locations without any other files needed. This self-contained nature facilitates offsite storage for disaster recovery purposes.

    Cons of Full Backup

    While full backups are indispensable, they also have drawbacks. The most notable con is the substantial amount of storage space they consume. Since every file is copied each time, the full backup size can rapidly grow, especially with large databases or web applications with extensive media content. This also directly leads to the second major drawback: backup time.

    Backing up entire systems takes significantly longer than incremental backups, which just track changes. Longer backup times can mean longer backup windows, potentially interfering with production workloads and increasing resource consumption on the server.

    For example, when full backups are performed too frequently, they may overwhelm the network and require more time for restoration in an emergency. Therefore, we must be mindful of optimizing the schedule and location for the most effective use of full backups.

    Suggested read: How Long Does a DigitalOcean Snapshot Take?

    What is an Incremental Backup?

    An incremental backup is an advanced type of backup strategy that focuses on capturing only the changes made since the most recent backup, regardless of whether that was a full or incremental backup. This method differs significantly from a full backup, which copies everything each time. We use incremental backups to quickly and efficiently capture the data alterations made to our systems and applications after an initial baseline is established through a full backup.

    This incremental approach allows for significantly faster backup times and reduces storage consumption as we do not copy the same unchanged data repeatedly. The main idea is to keep our backup window short and minimize resources during the backup process.

    RunCloud’s Incremental Backup Options for Web Apps

    RunCloud streamlines the process of scheduling and managing incremental backups for web applications.

    In the RunCloud dashboard, you can configure the backup settings for a specific web application. The “Backup Frequency” dropdown menu lets us choose how often we want to initiate incremental backups, typically on a daily or hourly schedule.

    RunCloud also displays the “Next Scheduled Backup At” time, allowing precise backup planning and timing.

    The “Backup File Retention” field dictates how long we store each incremental backup, which is important for planning storage usage. RunCloud automatically keeps track of the last full backup and builds subsequent incremental backups.

    Suggested read: How to Copy Files in Linux and Overwrite without Confirmation

    Pros of Incremental Backup

    Incremental backups offer several compelling advantages, particularly for busy web applications. First and foremost, they are far more resource-efficient than full backups in terms of time and space. Because we are only copying changed data, the backup operation completes much faster, placing less load on the server, which means less impact on live web applications.

    This results in a much shorter backup window, which is critical for maintaining system availability. In addition, the smaller size of incremental backups translates directly into reduced storage requirements, saving valuable disk space and associated costs. This makes incremental backups ideally suited for daily or even more frequent backups and allows you to use more backups for smaller RPOs (Recovery Point Objectives).

    Suggested read: How to Easily Clone a Web Application in RunCloud

    Cons of Incremental Backup

    While incremental backups offer great efficiency, they come with some potential downsides. The primary disadvantage lies in the complexity of the restoration process. To restore a system from an incremental backup, you typically must first restore the initial full backup and then apply each subsequent incremental backup in the correct sequence. This recovery process can be more time-consuming and intricate than restoring from a single full backup.

    We must also be aware that if one incremental backup is lost or corrupted, all subsequent backups may become unusable. Therefore, regular verification of the backup integrity and reliability is important. Additionally, the restore process can be harder to troubleshoot in the event of corrupted or lost files in incremental sets. We must weigh these considerations carefully when planning a complete backup strategy and choose the best approach for balancing speed and convenience.

    Suggested read: The 7 Best WordPress Staging Plugins to Create a Test Site

    What is a Differential Backup?

    A differential backup, like an incremental backup, focuses on saving changes, but it does so in a different way. Instead of recording changes since the last backup (regardless of type), a differential backup captures all the changes made since the last full backup. This means that each subsequent differential backup will contain all modifications since the initial full backup.

    For example, if you have a full backup on Monday, the differential backup on Tuesday will include changes since Monday, the differential backup on Wednesday will also include changes since Monday, and so on. We use differential backups as a middle ground between the size efficiency of incremental backups, and the restoration simplicity of full backups. These are generally larger than incremental backups, but they simplify the restore process since we need only one full and the latest differential set.

    Pros of Differential Backup

    Differential backups offer a balance between efficiency and ease of recovery. They are less space-intensive and faster to create than full backups since they don’t always copy all the data. However, unlike incremental backups, we only need two backup sets to complete a restore: the initial full backup and the most recent differential backup.

    This makes the restoration process simpler and faster than using a long chain of incremental backups. Also, because differential backups are based on the last full backup, the set of differential backups is not dependent on each other, creating a more resilient backup approach. This can be especially useful when we require a restore in a time-sensitive manner.

    Cons of Differential Backup

    While offering several benefits, differential backups have some drawbacks. One key disadvantage is that each differential backup grows in size until the next full backup is completed. This can result in differential backups significantly larger than the first differential backup, making them slower to complete as the week progresses.

    Differential backups occupy more disk space than incremental backups because they contain the accumulated changes since the last full backup. This can lead to higher storage costs and longer backup windows. In addition, while the restore process is simpler than incremental, it is still more complex than a full backup alone. We must restore the initial full backup before applying the latest differential backup.

    Difference Between Full vs. Incremental vs. Differential Backup: Which One Should You Choose?

    FeatureFull BackupIncremental BackupDifferential Backup
    Backup SizeLargestSmallestMedium
    Backup SpeedSlowestFastestMedium
    Restore ComplexitySimplestMost Complex (requires multiple restore sets)Medium (requires one full and latest diff)
    Storage UsageHighestLowestMedium (grows with each backup until full backup)
    FrequencyLeast Frequent (e.g., Weekly, Monthly)Most Frequent (e.g., Hourly, Daily)Medium Frequency (e.g., Daily)
    DependencyIndependent, self-containedDependent on Previous full & Incremental setsDependent on the Last Full Backup

    Which Backup is Better for You?

    There is no one size fits all, and each organization or user should adjust as per their needs and requirements. But here are our recommendations:

    • High-Traffic E-commerce Websites:
      • Best Choice: A combination of weekly full backups with daily differential backups.
      • Reasoning: This allows for a balance of faster backups for frequent recovery points and a simpler restore process.
    • Small Blogs or Static Websites:
      • Best Choice: Weekly full backups with daily incremental backups.
      • Reasoning: These websites tend to have fewer daily changes, making incremental backups efficient and easy to manage.
    • Large Databases with High Transaction Volume:
      • Best Choice: Full backups less frequently, with differential and transaction log backups for better recovery points.
      • Reasoning: Large data stores benefit from less frequent full backups and more frequent differential and transaction log backups, which are efficient and can be restored more easily than multiple incremental backups.
    • Budget-Conscious Users:
      • Best Choice: Full backups are less frequently combined with incremental backups as they are the most storage efficient.
      • Reasoning: This approach minimizes storage costs while still having backups to recover from.

    Final Thoughts

    Throughout this guide, we’ve explored different types of backups and discussed the intricacies of full, incremental, and differential strategies. We’ve compared their strengths and weaknesses and shared the knowledge needed to choose the right approach for your specific needs.

    But it’s worth knowing how to put this knowledge into action with RunCloud.

    RunCloud simplifies the entire backup process by offering an intuitive interface for scheduling and managing all types of backups for your web applications.

    Below is a glimpse into RunCloud’s backup dashboard. RunCloud enables you to configure both, full as well as incremental backups for individual web applications and databases with a few clicks.

    It’s easy to schedule backups daily, hourly, weekly, or monthly. You can also define a retention policy that will manage storage for backups. Furthermore, you can store them on local or remote storage with providers such as Amazon S3, Google Cloud Storage, DigitalOcean Spaces, or even your own S3-compliant bucket.

    With RunCloud, you can be confident that your data is protected, accessible, and readily available when you need it, as RunCloud handles all the complex tasks behind the scenes to ensure your backups are taken securely, automatically, and reliably.

    Start using RunCloud today.

    FAQs on Backups

    How often should you do a full backup vs an incremental?

    You should perform full backups weekly as a baseline and incremental backups daily, at minimum, to save frequent changes on your website. RunCloud allows you to easily schedule both types of backups directly from its dashboard.

    What are the pros and cons of full database backups?

    A full database backup offers the simplest restoration path since you have all the data simultaneously. However, full backups can consume considerable storage space and time, particularly for large databases. You can set up “Backup Retention” in RunCloud’s backup management dashboard to streamline this process for optimized efficiency.

    What is a mirror backup?

    A mirror backup is a replica of your data, kept on a separate storage device and immediately available. This type of backup gives near real-time redundancy and minimizes downtime during failures.

    What is the main reason for using incremental backups?

    We use incremental backups to drastically reduce backup times and storage usage. They only save the changes since the last backup. RunCloud supports efficient incremental backups that save valuable server resources. This is critical for high-traffic web applications needing frequent backups.

    What are the four types of backups?

    Full, incremental, differential, and mirror backups are common types of backups. Each of them serves distinct recovery needs.

    What is the 4-3-2 backup rule?

    The 4-3-2 backup rule means you should have four copies of your data across three different media, two of which should be off-site. RunCloud provides storage capabilities to store your backups in different locations (including multiple cloud providers), ensuring a resilient and layered backup strategy.

    What is the 3-2-1-0 backup rule?

    The 3-2-1-0 backup rule means having at least three copies of your data on two different media, with one copy stored offsite. Additionally, you should periodically verify your backups and ensure that they have zero errors.

    Which backup is most efficient?

    Incremental backups are most efficient in speed and storage as they only back up what changed since the last backup. RunCloud simplifies managing incremental backups with ease and offers the optimal balance between speed and storage utilization.

  • 8 Best GTmetrix Alternatives for Website Performance Testing (Includes Free)

    8 Best GTmetrix Alternatives for Website Performance Testing (Includes Free)

    Website speed matters – if your site loads slowly, people will leave.

    GTmetrix is a common tool for checking website performance, but it’s not the only one.

    This post examines different ways to test your website’s performance, including exploring several GTmetrix alternatives we recommend considering. We’ll also cover options if you’re looking for a free website performance evaluation tool or just want to find the best website performance analyzer for your specific needs.

    Let’s get started!

    What is GTmetrix?

    GTmetrix is a powerful and widely used online performance analysis tool for websites. It is a virtual performance auditor that examines your website’s loading behavior and provides you with a detailed breakdown of its strengths and weaknesses. It goes beyond a simple page load timer and dives deep into the mechanics of how your site interacts with a user’s browser.

    Here are a few reasons why people use GTmetrix to evaluate their web performance:

    • Simulated User Experience: GTmetrix simulates a real user accessing your website from various locations and using different browser configurations (Chrome, Firefox). This allows you to understand how your site performs under different conditions and for a global audience.
    • Performance Audits: GTmetrix runs a series of performance audits based on Google PageSpeed Insights and its own recommendations. These audits identify areas that need optimization and provide clear, actionable suggestions.
    • Historical Data Tracking: You can save and track reports over time to monitor the impact of code changes and server configurations on performance. This allows you to detect regressions and fine-tune your website over time.
    • Multiple Testing Options: GTmetrix allows you to run tests from different locations, simulating various user experiences. You can also specify connection speeds and devices.
    • Integration and Automation: GTmetrix provides API access for integration with other tools and for automating performance testing as part of your CI/CD pipeline. This allows for continuous and repeatable testing.

    GTmetrix provides a rich data set to help developers understand why a website is performing the way it is and guide them to specific areas for performance optimization, but it still has a few limitations.

    Suggested read: 15 Best Performance Testing Tools to Improve Your Site in 2021

    Limitations of GTmetrix

    While GTmetrix is incredibly useful, it’s essential to understand its limitations to ensure you interpret results accurately and use the tool effectively.

    • Synthetic Tests are Not Real: GTmetrix relies on synthetic testing, which simulates a user experience through a virtual browser. This is great for controlled experiments and consistent measurements but doesn’t always perfectly represent real user behavior. Factors like network conditions, device capabilities, and user interactions affecting page load vary significantly. To get a complete picture, you should complement GTmetrix data with RUM tools (Real User Monitoring) that capture actual usage data.
    • Focus on Front-End Performance: GTmetrix is heavily focused on front-end performance, which is how the browser delivers and renders the page. While it will identify server performance issues (like slow TTFB), it won’t provide insight into server-side bottlenecks, database performance, or application-specific code.
    • Test Server Variation: While the tests are controlled, variations in test server load or network conditions may occasionally affect results. Run tests multiple times to verify consistency. Having highly variable results might indicate an external problem with the test or the tested website’s server.
    • Limited Device Emulation: GTmetrix emulates a limited set of mobile devices and browsers. For in-depth testing on a wide range of devices, you still need to rely on other tools, such as browser device emulators and real device testing.

    Suggested read: The Complete WordPress Speed Optimization Guide

    Top 8 GTmetrix Alternatives

    Here are some of the most popular alternatives to GTmetrix, which can be used to evaluate the performance of websites and web applications.

    1 – DebugBear

    DebugBear is a performance auditing suite focusing on real-user data and lab-based tests. It can pinpoint areas where a website is underperforming by providing a multi-faceted view. First, it gathers data from Google’s Chrome User Experience Report (CrUX), which tests represent actual user experiences. It shows the distribution of core web vital metrics including First Contentful Paint (FCP), Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), and Interaction to Next Paint (INP).

    DebugBear is best for projects that require ongoing, in-depth performance analysis and tracking, and is especially well suited for sites that must keep up with Core Web Vitals and performance regressions. DebugBear excels at providing a more detailed and actionable approach to performance monitoring.

    It produces real-world data, which is vital for understanding how your site performs for actual users. For example, in the above report we can see metrics are categorized as “Good”, “Needs Improvement”, and “Poor”, with a percentage breakdown to show the distribution. It also provides a 25-week trend graph for these metrics.

    Why it’s a great alternative: While GTmetrix is more of a point-in-time audit, DebugBear is useful for continuous monitoring and offers a complementary approach to the same problem. DebugBear provides historical tracking data, allowing us to analyze site performance improvements over time.

    Suggested read: How To Optimize Laravel for Performance (8 Expert Tips)

    2 – SpeedVitals

    SpeedVitals is a performance testing tool that provides a user-friendly interface with in-depth performance analysis. It takes a visual approach to analyzing metrics such as FCP, LCP, and CLS. Additionally, it provides core web vitals and page speed scores. It also includes real user monitoring and continuous monitoring.

    It is well-suited for users who want a tool that offers a very rich visual representation of page performance and an easy-to-grasp summary of common metrics. The SpeedVitals report gives a good overview of how well a website performs, using a combination of easy-to-understand grades and numbers alongside technical analysis for those who want more details.

    Why it’s a great alternative: SpeedVitals combines GTmetrix’s performance tracking features with easier visual analytics and in-depth monitoring for real users. The report provides a visual timeline showing how the website appears to the user during load, which helps identify performance bottlenecks.

    It also uses data to measure specific metrics for elements on the page to further understand how the user experiences the site. For example, we can track how long it takes for the first piece of text or image to show up, how fast the page feels like it’s loading, and how long before the user can fully interact with the page. The report also breaks down the size of different types of files, like JavaScript, images, and CSS, to show which ones take up the most space and slow down the website.

    Experts can dive even deeper to analyze which part of the page is the last to load, and it even shows animations of where page elements might shift around to help pinpoint the root of the problem. One of the best sections of the report is the “Code Coverage” area, which shows parts of the website’s code that aren’t even being used. This is helpful because eliminating unused code can make the site much faster.

    Suggested read: Website Load Testing – How To Test Website Performance At Scale

    3 – Google PageSpeed Insights

    As the name suggests, PageSpeed Insights was developed by Google, and it uses the same technology as Google crawl bots to track your website. It offers scores, audits, and specific recommendations based on Google’s web performance best practices, particularly relevant for SEO.

    Google PageSpeed Insights provides both real-world user experience data and lab-based diagnostic information. At the top of the report, it presents a clear summary of “Core Web Vitals” based on real user data from the Chrome UX Report (CrUX). It also shows some additional user metrics, such as FCP and TTFB, which are useful in measuring the quality of user experience and provide a benchmark for performance improvements. It is important to note that this data is gathered from real Chrome users and will not be available for every website.

    Why it’s a great alternative:It provides a perspective on what impacts SEO rankings and offers actionable guidance. Although GTmetrix has PageSpeed Insights data, using it directly allows for more frequent updates.

    Suggested read: How to Optimize Your Site for Google’s Core Web Vitals

    4 – Firefox Profiler

    The Firefox Profiler is a remarkably powerful yet often overlooked performance auditing tool directly integrated into the Firefox browser. Unlike many other profiling solutions that require external installations or complex setups, it’s readily accessible, making it an incredibly convenient option for developers.

    What truly sets it apart is its ability to provide a holistic view of a website’s performance from your own network on your own computer. This is different from most other tools that use virtual machines on the cloud to test your website.

    By testing the website on your own computer, you can test not just network activity but also intricate details of JavaScript execution, rendering processes, and even interactions with the browser’s internal systems. The profiler’s data is presented across multiple interactive visualizations.

    The “Call Tree” provides a hierarchical breakdown of function calls, allowing developers to pinpoint exactly where the code spends its time. The “Flame Graph” visually represents these calls as stacked bars, making it easy to identify performance bottlenecks at a glance.

    The “Stack Chart” provides insight into the call stack and functions. The “Marker Chart” provides an overall timeline with specific markers for rendering, javascript execution, and other key processes, allowing developers to visualize how these different processes interact.

    Why it’s a great alternative:The depth of information offered by the Firefox Profiler goes beyond simple performance metrics. It captures low-level browser operations, which enable developers to diagnose issues that might not be apparent through other tools. This feature is especially useful for tracking how efficiently data is handled within a web application.

    Suggested read: Uptime Monitoring Tools: Why You Need Them, and What to Look for

    5 – WebPageTest

    Catchpoint’s WebPageTest is a customizable testing tool that allows deep control over test conditions such as geographic locations, connection speeds, and device types. It is also well known for its advanced waterfall charts and visual rendering metrics.

    A clean and concise interface provides developers insights into critical metrics such as TTFB, FCP, Speed Index, LCP, CLS, and TBT. These metrics are further enriched by an “Is it Quick?” assessment, which highlights key aspects like render-blocking requests and identifies if the largest content is rendered too late.

    This allows technical users to target specific performance challenges, such as optimizing resource loading, image delivery, and JavaScript processing. The platform also generates a detailed filmstrip showing page load progression, which lets developers visualize the website’s rendering over time.

    WebPageTest is best for developers who need highly granular control over testing environments and for in-depth debugging of performance issues. It presents both synthetic test results and real-user metrics. Furthermore, users can even inspect videos of each test run to identify any visual issues during page load. By breaking down the resources by type and size, WebPageTest makes it easy for developers to identify areas that need to be optimized. This powerful set of features gives developers all the tools they need to find performance bottlenecks.

    Why it’s a great alternative:It offers advanced configuration options for more complex testing requirements. Additionally, WebPageTest provides practical recommendations categorized into “Opportunities”, “Tips”, and “Pro” experiments. The “Is it Usable?” and “Is it Resilient?” sections give performance metrics for these key web factors often missed by other tools.

    6 – Lighthouse (Chrome DevTools)

    The Lighthouse analyzer is built into Chromium browsers and provides a comprehensive website performance audit. You can open it by navigating to the desired URL in your browser and switching to the Lighthouse tab in the Developer tools menu.

    The Lighthouse report breaks down the performance analysis into four key categories: Performance, Accessibility, Best Practices, and SEO. The report begins with an overall performance and individual scores for each performance metric. It provides both numeric values and a visual grade indicating whether the metric is considered good, needs improvement, or is poor.

    It also flags issues related to initial server response time, JavaScript execution, and network payloads, giving a full look at the site’s performance. For accessibility, the report identifies issues with names and labels, ARIA attributes, contrast, tables and lists, and navigation using headings, which developers can use to ensure a website is usable to everyone.

    Why it’s a great alternative: It is integrated directly into Google Chrome and provides instant performance audits without leaving the browser. This is especially useful during development for iterative feedback loops.

    7 – Calibre

    The Calibre website audit tool offers a compelling suite of features for web developers and comes with real-user data and long-term monitoring capabilities. You can use its Chrome User Experience Report (CrUX) functionality to accurately view how real users experience a website across different devices (desktop, tablet, and phone).

    It presents this data not just as a single data point but provides a view of how the metrics change over time. This long-term perspective allows developers to detect changes in performance over the long term and make informed optimization decisions. Additionally, a clear indication of whether the site is passing the core web vitals assessment provides a quick, high-level overview of the website’s status.

    By offering a 75th percentile view, Calibre reliably represents the user experience rather than relying on averages that outliers can skew. The histogram visualization gives developers a clear idea of the metric’s distribution, highlighting the range of user experiences.

    Why it’s a great alternative: Calibre offers granular data over time and alerts you to performance regressions. It’s designed for teams that need to integrate performance testing into their CI/CD pipelines. This allows developers to observe trends, identify regressions after updates, and ensure long-term site health. This long-term trend analysis is particularly valuable because it allows you to make strategic decisions based on real user data. This continuous monitoring and integration approach complements GTmetrix’s ad-hoc analysis.

    8 – SiteSpeed.io

    Sitespeed.io is a comprehensive, open-source web performance monitoring and testing platform that prioritizes user control and data ownership. Unlike many commercial offerings, it allows users to run their own performance tests, store their own data, and customize the analysis process. This commitment to transparency and flexibility is a core differentiator.

    The platform is not just a single tool but a collection of modular components, including Browsertime (for timing metrics), Coach (for best practice analysis), PageXray (for page resource analysis), and Throttle (for network emulation), all managed and unified by the primary sitespeed.io tool. This modular design enables users to assemble a performance analysis workflow that precisely meets their needs, making it suitable for both simple tests and complex, large-scale monitoring.

    Further, it emphasizes not being a “black box” solution by allowing the end user to configure different parameters through its command-line interface. This flexibility and control extend to deployment and integration – Sitespeed.io can be easily deployed using Docker, which provides a ready-to-go environment with necessary browsers and dependencies, drastically simplifying the setup process. It also offers traditional installation using npm, which opens up usage for many developers.

    It supports visualization integrations with time-series databases such as Graphite, InfluxDB, and Grafana. These are industry-standard tools that allow the creation of custom performance dashboards and long-term trend analysis. Additionally, the ability to run tests on Android phones and through custom scripting means sitespeed.io adapts to different testing needs.

    Why it’s a great alternative: Sitespeed.io provides a developer-friendly approach to performance monitoring, which makes it ideal for those who want the flexibility of an open-source tool and the ability to customize their performance testing pipelines. This dedication to privacy and open-source principles sets it apart from many commercial solutions, making it an attractive option for developers and organizations that value data security and transparency.

    Final Thoughts

    Throughout this post, we’ve discussed various web performance analysis tools and explored the strengths and unique benefits each offers. We have compared and evaluated various tools, and whether you are looking for a one-time audit, ongoing monitoring of site speed and core web vitals, or debugging locally with browser tools, you can find something that fits your needs.

    If you are building a website, good website performance isn’t just about using the right analysis tools – it begins with a solid foundation, and having a well-configured and responsive server is essential.

    A powerful hosting environment can significantly improve TTFB and reduce the time it takes for your site to begin loading.

    This is where RunCloud comes in.

    RunCloud gives you control over server configurations and optimizes your server-side processes. This can drastically reduce your site’s load time and improve the user’s experience.

    Ready to take your site’s performance to the next level?

    Start building lightning-fast websites today with RunCloud!

    FAQs on GTmetrix Alternatives

    Is GTmetrix now paid?

    While GTmetrix offers a free version with many features, it also offers paid plans that unlock more advanced capabilities, such as increased test limits, monitoring, and detailed historical analysis. The free version is still functional but has limitations compared to the paid versions.

    What is a good website loading speed?

    Generally, a good website loading speed is under 3 seconds for the initial page load, with under 2.5 seconds being optimal; however, Core Web Vitals metrics such as LCP should be under 2.5 seconds.

    Is PageSpeed Insights reliable?

    PageSpeed Insights is a reliable tool for measuring web performance because it is based on the same methodology Google uses to assess website performance. The provided data and recommendations align with Google’s SEO ranking factors and best practices, making it a key tool for SEO optimization.

    Is GTmetrix better than PageSpeed Insights?

    GTmetrix offers more granular detail with its waterfall analysis and is generally more flexible for testing various parameters. At the same time, PageSpeed Insights provides scores and recommendations directly relevant to Google’s ranking criteria. Which is better depends on your specific needs, such as deep performance debugging or general compliance with Google’s guidelines.

    Does GTmetrix use Lighthouse?

    Yes, GTmetrix incorporates Lighthouse data into its reports. It runs a Lighthouse audit to generate its PageSpeed and other associated performance scores. GTmetrix is a wrapper around Lighthouse and other performance analysis tools, providing additional metrics and functionality.

    What is the difference between DebugBear and GTmetrix?

    DebugBear focuses more on continuous monitoring and detailed performance tracking over time, making it excellent for catching performance regressions. GTmetrix is primarily used for point-in-time performance analysis, offering detailed waterfall charts and audits.

  • Postfix vs Exim vs Sendmail Email MTA – Which One to Use in 2025?

    Postfix vs Exim vs Sendmail Email MTA – Which One to Use in 2025?

    If you send emails from your Linux server, you’ll need a Mail Transfer Agent (MTA) to process them, but choosing the right one can feel like navigating a complex technological labyrinth.

    There are a few popular MTAs available in the market: Postfix, Exim, and Sendmail. However, selecting the right one can be challenging, as each has its own set of pros and cons.

    Whether you’re a startup looking to establish your first email infrastructure or an enterprise seeking to optimize your existing systems, understanding the nuanced differences between these Mail Transfer Agents is necessary to build an effective infrastructure.

    In this comprehensive guide, we’ll dive deep into the functions and features of Mail Transfer Agents. We will share detailed comparisons of Postfix, Exim, and Sendmail, along with the pros and cons of each MTA.

    Let’s get started!

    What are Mail Transfer Agents?

    A Mail Transfer Agent (MTA) is like a digital postal service for email. It’s software in Linux systems that handles email message routing, delivery, and transmission across different computer networks. Think of an MTA as a specialized postal worker who knows how to pick up an email from one computer and deliver it to the correct destination, no matter how far away it might be.

    How Do Mail Transfer Agents Work?

    Mail Transfer Agents work through a series of systematic steps:

    1. Message Reception: When you send an email, the MTA first receives the message from your email client. It examines the recipient’s email address to determine where the message needs to go.
    2. Routing: The MTA then decides the best path to deliver the email. It uses Domain Name System (DNS) lookups to find the correct mail server for the recipient’s domain.
    3. Message Queuing: If the destination server is temporarily unavailable, the MTA doesn’t give up. It places the email in a queue and will attempt delivery multiple times over a set period.
    4. SMTP Protocol: Most MTAs use the Simple Mail Transfer Protocol (SMTP) to communicate between email servers. This is like a standardized language that ensures emails can be understood and transferred correctly.
    5. Delivery: Once the recipient’s mail server is reached, the MTA hands off the message to the Mail Delivery Agent (MDA), which places the email in the recipient’s mailbox.

    Suggested read: How to Send Email from PHP (With Guided Walkthrough)

    Why are Mail Transfer Agents Required in Linux?

    Mail Transfer Agents are essential in Linux systems for several reasons:

    1. Reliable Communication: MTAs ensure that emails are delivered reliably, even with network interruptions or temporary server issues. They can retry delivery and provide detailed error reporting.
    2. Security: Many MTAs include robust security features like spam filtering, virus scanning, and encryption support. Popular Linux MTAs like Postfix and Sendmail offer advanced security mechanisms.
    3. Flexibility: Linux MTAs can handle complex routing scenarios, support multiple domains, and integrate with various authentication methods.

    Suggested read: How To Resolve The “Email Address is Not Verified” Error With AWS SES

    Comparing Postfix vs. Exim vs. Sendmail Email MTA

    Let’s examine some of the most popular MTAs available and understand their pros and cons.

    What is Postfix?

    Postfix is a powerful, open-source Mail Transfer Agent (MTA) designed to efficiently route and deliver electronic mail across complex network environments. It was designed to provide robust email routing capabilities while maintaining exceptional security standards. It is popular for its modular architecture, which allows system administrators to configure and customize email transmission with granular control and enhanced protection against potential security vulnerabilities.

    Postfix supports multiple operating systems, including AIX, BSD, Linux, MacOS X, and Solaris, which makes it a highly adaptable solution for diverse computing environments. It also ensures seamless communication across different email systems and supports advanced features such as SMTP authentication, encryption, and internationalized email addressing.

    Suggested read: Using Mailgun To Send Transactional Email From WordPress

    Pros of Postfix

    Postfix offers an impressive array of advantages, making it a preferred choice for system administrators and organizations. Its modular design enables extensive customization through support for multiple databases, including LDAP, MySQL, PostgreSQL, and MongoDB. This allows seamless integration with existing authentication and directory services.

    It also provides robust security features, including advanced access controls, spam filtering capabilities, and support for encryption protocols like TLS, which help protect email communications from unauthorized access and potential threats.

    Cons of Postfix

    Despite its numerous strengths, Postfix presents certain challenges that organizations must carefully consider during implementation. The configuration complexity can be intimidating for less experienced system administrators as it requires deep technical knowledge to fully leverage its advanced features and customize its numerous parameters effectively.

    Some organizations might find the initial setup and fine-tuning process time-consuming, especially when integrating Postfix with existing email infrastructure or implementing complex routing and filtering rules.

    Additionally, it has a huge feature set, which can sometimes translate into increased resource consumption. This can potentially impact system performance on lower-powered hardware configurations.

    Suggested read: What are Linux Logs? What Are They & How To Use Them

    What is Exim?

    Exim is a mail transfer agent (MTA) used in Unix-like operating systems. The first version of EXIM was developed in 1995 for use in the University of Cambridge Computing Service’s e-mail systems. Exim is distributed under the GPL and is free to download, use, and modify.

    Exim follows the Sendmail design model, where a single main binary controls all the MTA facilities. This monolithic design is considered by some to be inherently less secure and slower, but despite this, Exim’s security record is much better than Sendmail and comparable with Qmail and Postfix, as is its speed. In advanced areas such as queue handling, address routing, and testing, it exhibits excellent performance.

    Suggested read: How To Flush DNS Cache — A Full Guide

    Pros of EXIM

    Exim is a highly versatile Mail Transfer Agent with robust message transport capabilities. It is an SMTP and LMTP email transport solution and provides comprehensive incoming and outgoing email handling mechanisms across multiple transport protocols. EXIM MTA supports RFC 2821 SMTP and RFC 2033 LMTP standards, enabling flexible message transmission through various methods, including TCP/IP, standard input/output, and daemon-based configurations.

    Additionally, its incoming server capabilities are particularly impressive, as it supports SMTP over multiple interfaces, including direct TCP/IP connections, inetd (internet service daemon) integration, and standard input processing. It also has advanced features such as encrypted and authenticated connections on specific ports like 587. EXIM also provides advanced routing controls that enable message redirection, quarantine, and delivery through multiple transport mechanisms.

    Suggested read: Uptime Monitoring Tools: Why You Need Them, and What to Look for

    Cons of Exim

    Exim isn’t a Mail Transport Agent, so there are some features that you won’t get. For example, it will not store emails and doesn’t support IMAP or POP protocols. However, it can deliver messages to mailstores that do, either using SMTP or LMTP message delivery or, in some cases, by saving messages directly into mailboxes.

    Exim doesn’t have a Graphical User Interface (GUI) to help you configure it, but some Linux distributions add one. Various tools are available to give you graphical views of Exim’s mail queues, traffic, and logs.

    What is Sendmail?

    Sendmail is an established Mail Transfer Agent that has been used for email communication in Unix and Unix-like operating systems for decades. It has become the de facto standard for routing and delivering email across complex network environments.

    Sendmail is critical in managing email transmission by interpreting email addresses, determining the most efficient routing path, and ensuring messages reach their intended destinations across different computer networks.

    Pros of Sendmail

    Sendmail offers numerous advantages that have established its reputation in the world of email infrastructure. Its extraordinary flexibility allows system administrators to create highly customized email routing configurations, making it adaptable to complex network environments. Sendmail supports extensive configuration options through its powerful configuration file, enabling precise control over email processing, routing, and security mechanisms.

    Being open-source, Sendmail benefits from continuous community improvements and has robust support for various authentication methods, encryption protocols, and integration with modern security technologies. Its long-standing presence in the market means it has weathered numerous technological shifts and continues to provide reliable email transmission services for organizations worldwide.

    Cons of Sendmail

    Despite its historical significance, Sendmail has several notable challenges that have prompted many organizations to explore alternative Mail Transfer Agents. The configuration process is notoriously complex, requiring deep technical expertise and extensive knowledge of its configuration syntax, which can be intimidating for less experienced system administrators.

    Its monolithic design has been criticized for potential security vulnerabilities, as a single binary controls multiple email processing functions. The default configuration can be less secure if not carefully managed, and the learning curve for proper implementation is steep. Performance can be slower than that of more modern MTAs, and the configuration complexity makes routine maintenance and troubleshooting time-consuming. These limitations have led many organizations to migrate to more contemporary and user-friendly email transfer agents such as Postfix and Exim.

    Postfix vs. Sendmail vs. Exim – Feature Comparison Table

    FeaturePostfixSendmailExim
    Open Source StatusFully open-source, actively maintainedOpen-source, less actively developedFully open-source, GPL licensed
    Configuration ComplexityModerate, more intuitiveHigh, complex configurationModerate to high, flexible but detailed
    Security ModelModular, security-focused designMonolithic, historically more vulnerableFlexible, strong security controls
    Performance ScalabilityHigh, efficient routingModerate, can be slowerGood, advanced queue handling
    Database IntegrationExtensive (LDAP, MySQL, PostgreSQL)Limited native supportModerate database connectivity

    Wrapping Up – Which Transfer Agent Should You Choose: Postfix, Exim, or Sendmail Mail?

    In this post, we have provided you with the pros and cons of some of the most popular MTAs; however, selecting the right MTA is critical and will depend on your specific organizational requirements, technical expertise, and infrastructure complexity.

    Postfix is the recommended solution for most scenarios as it offers an optimal balance between security, performance, and ease of configuration. However, if your organization works with legacy systems or complex email routing requirements, Sendmail remains a viable option, though it demands more advanced technical skills. Exim is also a good option for those seeking a highly customizable solution with robust routing capabilities.

    Implementing and managing Linux servers can be complex and time-consuming – that’s where RunCloud comes to the rescue.

    Our platform simplifies server management, offering one-click DNS configurations, automated security updates, and intuitive monitoring tools that take the complexity out of infrastructure management.

    Ready to simplify your server management? Sign Up for RunCloud Today.

    FAQs on Mail Transfer Agents

    Does Sendmail need an SMTP server?

    Sendmail is an SMTP server itself, functioning as both a Mail Transfer Agent (MTA) and an SMTP server simultaneously. It natively handles email routing, transmission, and delivery using the SMTP protocol without requiring a separate SMTP server.

    Does PHP use Sendmail?

    PHP can use Sendmail as a default method for sending emails on Unix and Linux systems by leveraging the built-in mail() function. The PHP configuration allows developers to specify the Sendmail path for email transmission, enabling seamless integration with the system’s mail transfer infrastructure.

    What is the main difference between postfix and prefix operators?

    This question seems unrelated to Mail Transfer Agents and more like a programming concept. In programming, prefix operators modify a variable before its value is used, while postfix operators modify a variable after its current value is used.

    What are the two roles of Simple Mail Transfer Protocol?

    Simple Mail Transfer Protocol (SMTP) primarily serves two critical roles: transferring email messages between email servers, and routing emails from a sender’s email client to the recipient’s mail server. SMTP ensures reliable, standardized communication for email transmission across different network infrastructures.

    What is the message transfer agent SMTP?

    SMTP is not a message transfer agent but a communication protocol MTAs use to send and receive email messages between servers. It defines the rules and procedures for transmitting emails, ensuring consistent and reliable communication across different email systems.

    What are the two types of user agents in email?

    The two primary types of user agents in email are the Mail User Agent (MUA), the email client interface users interact with (like Thunderbird or Outlook), and the Web-based Email User Agent, which allows users to access and manage emails through web browsers.

    What is the difference between MTA and MUA?

    A Mail Transfer Agent (MTA) is responsible for routing and delivering emails between servers using protocols such as SMTP, acting like a postal service for electronic messages. In contrast, a Mail User Agent (MUA) is the email client software that users directly interact with to compose, read, and manage their emails.

  • How to Partition and Format Disk Drives on Linux? (Detailed Guide)

    How to Partition and Format Disk Drives on Linux? (Detailed Guide)

    Disk, partitions, ext4, mkfs, /dev/sda, filesystem – these are common keywords when working with Linux servers, but what do they really mean?

    Managing storage is a fundamental aspect of server administration, and it can initially seem intimidating. Terms like formatting, mounting, partition table (GPT, MBR), and choosing the right file system type (NTFS, FAT32, exFAT) can quickly become overwhelming.

    This guide explains the essential concepts of disk partitioning and disk formatting in Linux. We’ll start by explaining what disk partitioning and disk formatting are – and why they’re necessary. Then, we’ll explore different types of file systems and help you understand their strengths and weaknesses. Finally, we’ll provide step-by-step instructions for both partitioning and formatting your disk on Linux systems.

    So let’s get started!

    What is a Disk Drive?

    A disk drive, also known as a storage drive, is a non-volatile storage device for a computer. This device retains data even when the system loses power. The drive stores the operating system, applications, and user data, and the computer uses it to both read and write data.

    Suggested read: 9 Best Linux Distros in 2024

    What is a disk drive

    Types of Disk Drives

    Disk drives come in all shapes and sizes, each with its own speed and storage capabilities. Knowing their differences can help you pick the right one for your needs.

    • Hard Disk Drives (HDDs): HDDs store data on spinning magnetic platters and use a read/write head that moves across the surface. They are a cost-effective option for large storage capacities, but their mechanical nature results in slower access times.
    • Solid-State Drives (SSDs): SSDs use flash memory to store data, eliminating moving parts and providing significantly faster read/write speeds than HDDs. This results in faster boot times, application loading, and overall system responsiveness, although typically at a higher cost per gigabyte.
    • NVMe SSDs (Non-Volatile Memory Express SSDs): NVMe SSDs are a type of SSD that uses a high-speed PCIe interface. They deliver even greater performance than standard SATA SSDs. This interface allows for much higher bandwidth and lower latency, making them ideal for demanding workloads.

    Suggested read: How to Check Running Processes in Linux Using ps, top, htop, and atop Commands

    What is Disk Partitioning?

    Disk partitioning is a fundamental aspect of storage management that divides a physical hard drive (or other storage device such as an SSD) into multiple logical sections. System administrators perform this division to organize data, isolate operating systems, or improve system performance.

    Each partition functions as an independent unit, almost as if it were a separate physical disk. The operating system then treats each partition as a distinct volume. This separation allows multiple file systems and operating systems to coexist on a single physical drive and simplifies backup and recovery processes.

    Suggested read: How to Kill a Process in Linux From the Command Line

    How to Partition Disk Drive on Linux

    Here’s a step-by-step guide to partitioning a disk drive on Linux:

    Step 1: Identify the Disk

    Before partitioning a disk, you need to identify the correct device name. Use the lsblk command in your terminal to list all block devices (disks and partitions) connected to your system.

    After executing the command, carefully examine the output and pay attention to the NAME, SIZE, TYPE, and MOUNTPOINT columns.

    You’re looking for a disk (indicated by TYPE being “disk”) that is not currently mounted (has no MOUNTPOINT) or is a disk you are sure you want to repartition (which results in losing all data stored on it). The NAME will typically be something like /dev/sda, /dev/sdb, /dev/nvme0n1, etc.

    Be absolutely certain you have the correct device name – partitioning the wrong disk will result in data loss.

    If in doubt, do not proceed!

    To minimize risk, disconnect any non-essential external drives.

    Step 2: Choose a Partitioning Tool

    Linux offers several tools for partitioning disks, each with its own strengths. For command-line interaction, fdisk and parted are popular choices. fdisk is a classic, menu-driven utility suitable for most tasks, especially on disks using the older MBR partition scheme. On the other hand, parted supports both MBR and the newer GPT (GUID Partition Table) scheme and is often preferred for disks larger than 2TB.

    The cfdisk utility offers a text-based interface that provides a middle ground between fdisk’s simplicity and parted’s power. GParted is a widely used and user-friendly option for a graphical interface, but it is not useful for Linux servers as they don’t have a GUI.

    We’ll focus on using parted for this guide due to its versatility. To start the interactive partitioning session, we’ll use parted /dev/sdX (replacing /dev/sdX with the actual disk name).

    Step 3: Create a New Partition

    Once you’ve started parted with the correct disk (e.g., sudo parted /dev/sdb), you’ll be at the parted prompt. First, print the current partition table using the print command to double-check the device.

    • Select Partition Table Type (if needed): If the disk is brand new or you want to change the partition table type, use the mklabel command. For example, (parted) mklabel GPT.
    • Create the Partition: Use the mkpart command. You’ll be prompted to enter the following:
      • Partition type: primary, extended (only on MBR), or logical (only within an extended partition). With GPT, you’ll almost always choose the primary.
      • File system type: This is a hint for later formatting; it doesn’t actually format the partition. Choose ext4, fat32, ntfs, etc., as appropriate.
      • Start: Specify the partition’s starting point, either in megabytes (MB) or gigabytes (GB) or as a percentage of the disk (e.g., 0%).
      • End: Specify the partition’s ending point using the same units as the start (e.g., 100GB or 100%).
      • Example: (parted) mkpart primary ext4 0% 100% (creates a primary partition using the ext4 formatting that takes the entire disk).
    • Repeat (if needed): Repeat the mkpart command for each additional partition you want to create.

    Step 4: Verify the Partition

    After creating the partition(s), you can verify the changes using the print command within the parted prompt. This command displays the current partition table, showing the partition number, start and end points, size, file system type (hint), and any flags. Carefully review this output to ensure the partitions are as you intended.

    If anything looks incorrect, you can use rm <number> (e.g., rm 1 to remove partition number 1) to delete a partition within parted and recreate it.

    Once satisfied, type quit to exit parted and save the changes to the disk.

    What is Disk Formatting?

    Disk formatting prepares a storage device (the whole disk or a partition) for use by an operating system. This process creates a specific file system – a structured method for organizing and storing files. The operating system uses this file system to manage data on the device. Formatting lays the groundwork that defines how the operating system will track files, directories, and free space.

    Suggested read: How to Check Linux CPU Usage or Utilization? (5 Ways)

    What is a File System?

    A file system is the underlying structure that an operating system uses to manage data on a storage device. It determines how files are named, stored, organized, and accessed. Think of it as the librarian of your hard drive, keeping track of where everything is located and how to retrieve it. Without a file system, a storage device would just be a collection of unorganized data.

    There are multiple popular file system formats:

    • ext4 (Fourth Extended Filesystem): The ext4 file system is the standard and most widely used file system for Linux distributions. It’s a journaling file system that records changes before they are written to disk. This improves reliability and reduces the risk of data corruption in case of power failures or system crashes. ext4 offers excellent performance, supports large files and volumes, and is generally the best choice for Linux server environments. It also includes delayed and multiblock allocation features to enhance write performance.
    • NTFS (New Technology File System): NTFS is the primary file system used by Windows operating systems. Like ext4, it’s a journaling file system with improved reliability and data recovery capabilities. NTFS supports features such as file permissions, encryption (BitLocker), disk quotas, and shadow copies (for backups and restoring previous versions of files). It also supports much larger file and partition sizes than older FAT systems.
    • FAT32 (File Allocation Table 32): FAT32 is an older file system known for its broad compatibility. It’s commonly used on USB flash drives and SD cards because it can be read and written by virtually any operating system, including Windows, macOS, and Linux. However, FAT32 has significant limitations: it supports a maximum file size of only 4GB and a practical maximum volume size of 2TB. This makes it unsuitable for storing large files like modern video files.
    • exFAT (Extended File Allocation Table): exFAT is a Microsoft-developed file system designed to overcome the limitations of FAT32 while maintaining good cross-platform compatibility. It supports very large file and partition sizes, making it suitable for storing large media files and using large external drives. exFAT is often used on SDXC cards and large USB drives when compatibility with Windows and macOS is needed. It is often the preferred filesystem for USB thumb drives.

    Suggested read: How do you check if the TCP port is open, closed, or in use on Linux?

    How to Format a Disk Drive on Linux

    Here’s a step-by-step guide to formatting a disk drive (or, more accurately, a partition) on Linux:

    Step 1: Identify the Partition to Format

    Before formatting, you must know the exact device name of the partition you want to format. Formatting the wrong partition will result in irreversible data loss.

    Use the lsblk command in your terminal to list all block devices and their partitions. Carefully examine the output, paying attention to the NAME, SIZE, TYPE, and MOUNTPOINT columns.

    You’re looking for the specific partition (e.g., /dev/sda1, /dev/sdb2, /dev/nvme0n1p1 – the “p” and number indicate a partition, not the whole disk). The TYPE column will show “part” for partitions. Double-check the SIZE to ensure it matches the partition you intend to format.

    Step 2: Unmount the Partition

    If the partition you intend to format is currently mounted (meaning it’s accessible as a directory), you must unmount it before formatting. Use the umount command followed by either the device name or the mount point. For example:

    • sudo umount /dev/sdX1 (replace /dev/sdX1 with the actual partition name)
    • sudo umount /mnt/mydirectory (if the partition is mounted at /mnt/mydirectory)

    If the umount command reports that the device is busy, it means a process is still using the partition. You must identify and stop that process before you can unmount it.

    Step 3: Format the Partition

    Use the mkfs command (make file system) with the appropriate option for your chosen file system. The general format is: sudo mkfs -t [filesystem type] [options] /dev/sdX1. The -t option specifies the filesystem type. Here are the specific commands:

    • For ext4: sudo mkfs -t ext4 /dev/sdX1
    • For FAT32: sudo mkfs -t vfat -F 32 /dev/sdX1 (the -F 32 specifies FAT32; you can also use -F 16 for FAT16, but this is rarely needed)
    • For NTFS: sudo mkfs -t ntfs /dev/sdX1
    • For exFAT: sudo mkfs -t exfat /dev/sdX1

    Remember to replace /dev/sdX1 with the actual partition name in the above examples.

    Step 5: Verify the Format

    After formatting the partition, you can verify the result using several methods:

    • lsblk -f: This command shows each partition’s file system type (FSTYPE) and UUID. Check that the FSTYPE matches what you intended.
    • blkid /dev/sdX1: This command specifically shows the specified partition’s UUID and TYPE (file system).
    • Mount and check: Mount the partition (e.g., sudo mount /dev/sdX1 /mnt) and then use df -h to check the disk space and file system type. This confirms that the partition is usable. After testing, you can unmount the partition with the command sudo umount /dev/sdX1 or sudo umount /mnt if that is where it is mounted.

    Suggested read: How to Find Most Used Disk Space Directories and Files in Linux

    Wrapping Up: Disk Partitioning and Formatting

    Understanding the different file systems, choosing the right tools, and, most importantly, double-checking every command before execution are critical for maintaining data integrity and system stability. Remember to always back up important data before making any changes to partitions.

    Managing Linux servers, especially tasks like disk partitioning and monitoring, can seem daunting. However, with tools such as RunCloud, the process becomes significantly easier and more streamlined.

    RunCloud provides a user-friendly web interface that simplifies server management tasks, including monitoring disk usage, managing services, and deploying applications. Instead of wrestling with the command line for every operation, you can use RunCloud’s intuitive dashboard to oversee your server’s health and performance. This allows you to focus on your applications and websites rather than getting bogged down in the complexities of server administration.

    Ready to experience the ease of Linux server management? Start your free trial with RunCloud today!

    FAQs on Partitioning and Formatting Disk Drives on Linux

    What is the difference between partitioning and formatting?

    Partitioning divides a physical hard drive or storage device into logical sections. Each section, a partition, functions like an independent disk. On the other hand, formatting prepares a partition (or an entire unpartitioned disk) by creating a specific file system (e.g., ext4, NTFS, FAT32). This file system allows an operating system (such as Linux or Windows) to organize, store, and retrieve files. Partitioning divides the disk while formatting prepares a partition for data.

    How do I know which file system to choose?

    The best file system depends on system compatibility and your specific needs. Ext4 is generally recommended for Linux servers due to its performance, reliability, and features. If you require compatibility with Windows, NTFS or exFAT are good choices, especially for USB drives. FAT32 offers broad compatibility but has limitations on maximum file size and max volume size. Consider factors like journaling (for data recovery) and support for large files when selecting.

    Can I resize partitions without losing data?

    Yes, but it’s risky and requires careful planning. Tools like parted, GParted, and GNOME Disks allow resizing, but always back up your data first. Shrinking a partition is generally safer than expanding it, especially if the partition being expanded is at the end of the disk. If free space isn’t directly adjacent to the partition you’re expanding, data movement is required, increasing the risk of data loss if interrupted.

    What tools are recommended for disk management on Linux?

    For command line (CLI) use, fdisk, parted, and cfdisk are powerful for partitioning.
    mkfs (e.g., mkfs.ext4, mkfs.vfat) is used for formatting.
    For a GUI, GParted and GNOME Disks offer user-friendly interfaces for both partitioning and formatting.
    lsblk displays information about block devices (disks and partitions).
    blkid shows UUIDs and file system types.
    df helps monitor disk space usage.

    Is it safe to format a disk drive?

    Formatting is safe for the drive but permanently erases all data on the selected partition or disk. Always double-check that you’ve selected the correct partition (using lsblk, for example) before formatting. Ensure you have backups of any important data.

    How do I recover data from a formatted drive?

    Data recovery after formatting is possible but not guaranteed, and it becomes increasingly difficult the more the drive is used after formatting. Specialized data recovery software (often commercial) attempts to reconstruct file system structures. To maximize recovery chances, immediately stop using the drive after accidental formatting. Professional data recovery services are often the best option for critical data.

    What are primary, extended, and logical partitions?

    These terms relate to the older MBR (MS-DOS) partition table scheme. An MBR disk can have a maximum of four primary partitions. To overcome this limitation, one primary partition can be designated as an extended partition, which can then be subdivided into multiple logical partitions. GPT (GUID Partition Table), the modern standard, doesn’t have these limitations and supports many more partitions directly.

    How do I check disk space usage on Linux?

    The df (disk free) command is the primary tool. df -h displays usage in human-readable format (e.g., GB, MB). You can also use du (disk usage) to see the size of specific directories and files. GNOME Disks provides a graphical view of disk space.

    Can you partition a drive without formatting?

    Yes, you can. Partitioning simply creates the divisions on the disk. Formatting is a separate step that creates a file system within a partition to make it usable by an operating system. You might partition a disk and leave some partitions unformatted for later use or different purposes.

  • How to Restrict WordPress Admin Access by IP Address (Easy Guide)

    How to Restrict WordPress Admin Access by IP Address (Easy Guide)

    Open access to your wp-admin directory and wp-login.php makes it a prime target for brute-force attacks and unauthorized access.

    By whitelisting specific IP addresses and implementing WordPress admin access control, you can effectively stop hackers, block automated bots, and significantly reduce failed login attempts.

    This WordPress tutorial will show you how to restrict WordPress admin access by IP address by either editing the .htaccess file directly, applying NGINX configurations, or using a security plugin.

    Whether you use NGINX, Apache, or rely on a managed server provider, this guide will teach you how to whitelist (and blacklist) specific IP addresses.

    Let’s get started!

    What is IP Address Restriction?

    IP Address Restriction, also known as IP whitelisting, is a security measure that limits access to a specific resource, such as your WordPress admin area (/wp-admin), to only a pre-approved list of IP addresses.

    Simply put, it is like a digital security guard that allows only those with the correct “address” to enter. It says, “Only connections from these specific IP addresses are allowed to access this website area”.

    Why Restrict Admin Access by IP Address?

    Restricting admin access by IP address adds another layer of security to your WordPress site. By default, the admin login page is accessible to anyone on the internet, which makes it a prime target for malicious actors.

    IP restriction makes it exponentially more difficult for attackers to access the WordPress backend. Even if an attacker obtains valid login credentials (through phishing, malware, or other means), they will still be blocked if their IP address is not on the approved list. This is especially useful if you and your team work from fixed locations with static IPs.

    Additionally, brute force attacks involve repeatedly attempting to guess login credentials. Limiting access to only trusted IP addresses reduces the possibility of brute-force attacks originating from other locations. Although you can also use security plugins to stop brute force attempts, IP restriction stops them before they even start. If rate limiting is in place, this significantly reduces the load on your server and prevents potential account lockouts for legitimate users.

    Suggested Read: How to Unban IP Address in Fail2Ban? (Step-By-Step Guide)

    How To Restrict WordPress Admin Access by IP Address

    There are several ways to restrict access to your WordPress admin area, each with advantages and disadvantages. Here are three common methods:

    Method 1: Using .htaccess File

    The .htaccess file is a configuration file used by Apache web servers. You can directly edit it to restrict access based on IP addresses. Follow the steps below to do this:

    1. Access the .htaccess file: The .htaccess file is usually located in the root directory of your WordPress installation (the same directory where wp-config.php resides). RunCloud provides convenient access to your server’s filesystem. Log in to your RunCloud dashboard, select your server, and then the web application you want to modify. Here, you’ll find a “File Manager” in the left menu that you can use to edit files.
    1. Edit the .htaccess file:

    Important: Before making any changes, always download a copy of your .htaccess file to your computer and make a backup.

    • In the RunCloud File Manager, click on the .htaccess file to open the file in a text editor.
    • Add the following code block to the beginning of the file but after the “# BEGIN WordPress” section (if it exists). If there is no WordPress section, place it at the beginning:
    <Files wp-login.php>
        order deny,allow
        deny from all
        allow from YOUR_IP_ADDRESS
        allow from ANOTHER_IP_ADDRESS
    </Files>
    <Directory /wp-admin>
        order deny,allow
        deny from all
        allow from YOUR_IP_ADDRESS
        allow from ANOTHER_IP_ADDRESS
    </Directory>

    Replace YOUR_IP_ADDRESS and ANOTHER_IP_ADDRESS with the actual IP addresses from which you want to allow access. You can add as many ‘allow from‘ lines as needed. Place the <Files …> section above the <Directory> section if you have no WordPress section.

    1. Save and Upload: Save the changes to the .htaccess file by clicking the Save button on the top right.
    2. Test: Try accessing /wp-admin or /wp-login.php from an IP address on the allowed list. You should be able to log in. After that, try accessing it from an IP address not on the list. You should be denied access.

    Suggested Read: How to Block IP Address Using WordPress .htaccess File to Stop Bad Visitors

    Method 2: Using NGINX Config

    If you use an NGINX web server, you’ll need to modify the NGINX configuration file instead of using .htaccess. RunCloud significantly simplifies this process.

    1. Access the NGINX Configuration: Log in to your RunCloud dashboard, select your server, and then the web application you want to modify. You should see “NGINX Config” in the left menu on this screen.
    2. Edit the NGINX Configuration: RunCloud provides a user-friendly interface for editing NGINX configurations, eliminating the need for SSH access and manual configuration. On the next screen, click “Create a New Configuration”, and select “Block XML-RPC” from the dropdown menu. This predefined configuration isn’t necessary, but it is recommended as it automatically fills most fields and makes it harder for novice users to make mistakes.
    1. Add configuration: Copy the code snippet below and paste it into the text field in your RunCloud dashboard. Replace YOUR_IP_ADDRESS and ANOTHER_IP_ADDRESS with the actual IP addresses you want to allow. You can add multiple allow lines as needed. The deny all line ensures that any IP address not explicitly allowed is blocked.
    location /wp-admin/ {
        allow YOUR_IP_ADDRESS;
        allow ANOTHER_IP_ADDRESS;
        deny all;
    }
    location /wp-login.php {
        allow YOUR_IP_ADDRESS;
        allow ANOTHER_IP_ADDRESS;
        deny all;
    }
    1. Save and Apply: In RunCloud, simply save the changes you’ve made to the NGINX configuration within the editor. RunCloud automatically checks the configuration for errors before applying it, preventing common mistakes that could break your website.
    2. Test: As with the .htaccess method, test access from both allowed and disallowed IP addresses to ensure it works correctly. Any attempt to access the website from a disallowed IP address should result in the following message being displayed:

    Suggested Read: What is DNS & How Does It Work? Everything you need to know.

    Method 3: Using a WordPress Security Plugin

    Several WordPress security plugins offer IP address restriction features. This is often the easiest method for those less comfortable with server configuration files. In this tutorial, we will explain how to block IP addresses using Patchstack.

    1. Install and Activate Patchstack: Install and activate the Patchstack security plugin from the WordPress plugin repository. You can do this directly through your WordPress dashboard by navigating to “Plugins” > “Add New“, searching for “Patchstack“, and clicking “Install Now“, followed by “Activate“.
    2. Access Patchstack Options: Once activated, you must integrate your WordPress website with your Patchstack account. In your Patchstack dashboard you can access the Patchstack configuration options by navigating to “Hardening” > “Login Protection” within your Patchstack dashboard. This section provides various settings related to login security, including the IP whitelisting feature.
    1. Add IP Addresses to Whitelist: Within the “Login Protection” settings, locate the section dedicated to whitelisting IP addresses. Here, you can enter the IP addresses you wish to allow access to your WordPress admin area, ensuring they are never blocked due to failed login attempts or other security measures. Each IP address must be entered on its own line, and Patchstack supports several formats for defining IP ranges.
      The following formats are accepted:
      • 127.0.0.1: A specific IP address.
      • 127.0.0.*: A wildcard, allowing all IP addresses within the 127.0.0 range.
      • 127.0.0.0/24: CIDR notation specifies a range of IP addresses (in this case, 127.0.0.1 to 127.0.0.255).
      • 127.0.0.0-127.0.0.19: An IP range using a hyphen to define the start and end of the range.
    2. Save Changes: After adding the desired IP addresses to the whitelist, click the “Save Changes” button at the bottom of the page. This action will save your configurations and activate the IP whitelisting, ensuring that only the specified IP addresses can access your WordPress admin area without being subject to blocking rules.

    Suggested Read: How to Set or Change System Hostname in Linux

    Wrapping Up: Who Should Restrict Admin Access by IP Address?

    The short answer: nearly everyone running a WordPress site should strongly consider restricting admin access by IP address. While it might seem like an advanced security measure, the risk of leaving your admin area wide open to brute-force attacks and unauthorized logins far outweighs the perceived complexity.

    Protecting your WordPress backend is very important whether you’re a small business owner, a blogger, or a large enterprise.

    RunCloud’s intuitive interface significantly simplifies blocking unwanted IPs and managing server configurations. Editing your .htaccess file (for Apache servers) or your NGINX configuration becomes a breeze within the RunCloud panel.

    Compared to restrictive hosting panels, RunCloud offers limitless flexibility. You have complete control over your server environment, and RunCloud allows you to optimize your WordPress site for maximum security and performance.

    Speaking of performance, RunCloud’s optimized server configurations, combined with the added security of IP restriction, can lead to a faster, more responsive website. By blocking malicious traffic before it even reaches your server, you reduce the load on your resources, which improves page load times and enhances the overall user experience.

    Sign up for RunCloud today.

    FAQs on Restricting WordPress Admin Access by IP Address

    Can I restrict access to multiple IP addresses?

    You can restrict access to the WordPress admin area (/wp-admin) to multiple specific IP addresses by adding multiple Allow from lines in your .htaccess file. This allows trusted team members or developers from different locations to access the backend. RunCloud’s robust server management features and built-in web firewalls can complement this by providing additional layers of security beyond IP restrictions.

    What happens if my IP address changes?

    If your IP address changes, you will be locked out of your WordPress admin area. You’ll need to update the .htaccess file with your new IP address. Consider using a static IP address or a dynamic DNS service if your IP changes frequently to avoid constant updates.

    Is it safe to edit the .htaccess file?

    Editing the .htaccess file can be risky if done incorrectly, as it can potentially cause website errors or make it inaccessible entirely.

    What security plugins work best for IP restriction?

    Patchstack provides a user-friendly interface and additional security features beyond simple IP restrictions. These features work well with RunCloud’s server-level security and built-in firewalls.

    How do I know if my site is secure after making changes?

    After implementing IP restrictions, test the configuration by attempting to access the WordPress admin area from an IP address that is not allowed. If you are blocked, the restriction is working correctly.

    What are the risks of not restricting admin access?

    Failing to restrict access to your WordPress admin area significantly increases the risk of brute-force attacks, unauthorized access, and potential website compromise. Hackers can exploit vulnerabilities or use stolen credentials to gain control of your site, leading to data breaches, malware injection, and reputational damage. RunCloud’s web application firewall helps mitigate some of these risks, but IP restriction adds a crucial layer of defense.

    How can I temporarily allow access from another location?

    To temporarily allow access from another location, you can add appropriate rules to whitelist the new IP address in the .htaccess file. Remember to remove it when access is no longer needed to maintain security.

  • Introducing Support for MySQL on RunCloud

    Introducing Support for MySQL on RunCloud

    We’re excited to announce that RunCloud now supports MySQL alongside MariaDB, giving you more freedom to choose the database that best fits your web applications.

    This addition reflects our commitment to providing flexible, enterprise-grade solutions for developers and businesses of all sizes.

    Starting today, when deploying a server on RunCloud, you can choose between MariaDB or MySQL as your preferred database system. This feature is available for all RunCloud users running Agent 2.9.6 and above.

    Why MySQL Support Matters

    While MariaDB has served our users well, we recognize that many developers and organizations have specific requirements or preferences for MySQL, including:

    • Direct MySQL Compatibility: Some applications are specifically optimized for MySQL
    • Enterprise Familiarity: Many teams have existing MySQL expertise and tooling
    • Ecosystem Integration: Certain tools and frameworks work best with MySQL
    • Migration Flexibility: Easier transitions for projects moving from other platforms

    Getting Started

    To start using MySQL on your RunCloud servers, ensure your RunCloud Agent is updated to version 2.9.6 or higher. The easiest way to do this is to deploy a new server (or restore backups of existing web applications to a new server that is configured to use MySQL).

    Migration Support

    We understand that many users may want to transition their existing web applications from MariaDB to MySQL.

    Here’s what you need to know about migration options:

    Server Migration

    • New Servers Required: To use MySQL, you’ll need to deploy new servers. Existing MariaDB servers cannot be converted to MySQL.
    • Clean Installation: This approach ensures optimal performance and reliability by avoiding potential compatibility issues.

    Application Migration Options

    • Full Backup Migration: You can successfully migrate web applications using full backup restoration
      • Clone existing MariaDB sites to MySQL servers
      • Restore from full backups of MariaDB sites
      • Bidirectional support: Migration works both from MariaDB to MySQL and vice versa
    • Incremental Backups: Please note that incremental backup restoration is not supported for cross-database migrations

    Best Practices

    • Test migrations in a staging environment first
    • Schedule migrations during low-traffic periods
    • Create full backups before attempting any migration

    Try MySQL on RunCloud Today

    Whether you’re launching a new project or managing existing applications, RunCloud’s new MySQL support gives you more freedom to choose the right database for your needs.

    To get started:

    1. Log in to your RunCloud dashboard
    2. Deploy a new server
    3. Select MySQL as your database system

    Need help getting started? Our support team is ready to assist you at support@runcloud.io.


    Note: MySQL support requires RunCloud Agent 2.9.6+4 or higher. Please ensure your agent is updated before attempting to use MySQL features.