Seamless Hosting Payments with Your Favorite Cryptocurrencies

At Hosteons, we have been accepting cryptocurrency payments for many years, providing our customers with a secure and flexible payment option. This post is a reminder and an opportunity to highlight the convenience of paying with crypto for our hosting services.

Why Pay with Cryptocurrency?

Cryptocurrencies offer a fast, secure, and decentralized way to make payments. Here are a few reasons why choosing crypto could be a great option for you:

  1. Enhanced Security: Cryptocurrency transactions are secure, transparent, and free from intermediaries.
  2. Global Accessibility: No matter where you are in the world, you can make payments without worrying about currency conversions or international transaction fees.
  3. Anonymity: Crypto transactions allow you to maintain your privacy while making payments.
  4. Ease of Use: Paying with crypto is quick and straightforward, requiring just a few steps.

How to Pay with Cryptocurrency at Hosteons

Making payments with cryptocurrency at Hosteons is as simple as ever. Follow these steps:

  1. Choose Your Service: Select the hosting plan or VPS package that best suits your needs.
  2. Proceed to Checkout: At the checkout page, select the cryptocurrency payment option.
  3. Choose Your Crypto: Pick from the list of supported cryptocurrencies like USDT, BTC, DOGE, LTC, and more.
  4. Complete the Transaction: Follow the provided instructions to complete the payment via your crypto wallet.

Benefits of Crypto Payments at Hosteons

  • No Hidden Fees: Enjoy transparent pricing with no additional charges for paying with crypto.
  • Instant Payment Processing: Your payments are processed quickly, so your services are activated without delays.
  • Support for Multiple Cryptocurrencies: From stablecoins like USDT to popular coins like Bitcoin and Dogecoin, we’ve got you covered.

Start Using Crypto Today

We’re excited to continue offering this flexible payment method to our customers worldwide. Whether you’re a cryptocurrency enthusiast or just looking for a hassle-free way to pay, Hosteons has you covered.

Head over to Hosteons today and experience the convenience of paying with cryptocurrency for your hosting needs. If you have any questions or need assistance, our 24/7 support team is always here to help!

Mastering DNS Settings for Seamless Hosting

When it comes to hosting your website, DNS (Domain Name System) settings play a crucial role in ensuring that your site is accessible, reliable, and performs optimally. Misconfigurations in DNS can lead to downtime, slow loading speeds, and even security vulnerabilities. In this guide, we will walk you through the essentials of mastering DNS settings for seamless hosting, helping you deliver a flawless online experience for your users.

What is DNS?

DNS is like the phonebook of the internet. It translates human-readable domain names (e.g., example.com) into IP addresses (e.g., 192.168.1.1) that computers use to locate servers. When users type your domain name into a browser, DNS ensures they are directed to the correct server hosting your website.

Key DNS Records You Need to Know

  1. A Record (Address Record):
  • Maps your domain name to an IPv4 address.
  • Example: example.com -> 192.0.2.1
  1. AAAA Record:
  • Similar to A records but maps to IPv6 addresses.
  • Example: example.com -> 2001:db8::1
  1. CNAME Record (Canonical Name):
  • Used to alias one domain name to another.
  • Example: www.example.com -> example.com
  1. MX Record (Mail Exchange):
  • Directs email to the correct mail server for your domain.
  • Example: mail.example.com -> 10 mailserver.example.com
  1. TXT Record:
  • Allows you to store text information for various purposes like domain verification or SPF (Sender Policy Framework) records.
  • Example: v=spf1 include:_spf.example.com ~all
  1. NS Record (Name Server):
  • Specifies the authoritative name servers for your domain.
  • Example: ns1.example.com, ns2.example.com
  1. PTR Record (Pointer Record):
  • Used for reverse DNS lookups, mapping IP addresses back to domain names.

Setting Up Your DNS for Hosting

  1. Choose Reliable DNS Hosting:
    Opt for a trusted DNS hosting provider with features like global redundancy, fast propagation, and easy-to-use management interfaces.
  2. Point Your Domain to Hosting Servers:
  • Update the A record to point to your hosting server’s IP address.
  • Configure the CNAME record for subdomains like www or blog.
  1. Set Up Email:
  • Use MX records to direct email traffic to your email server.
  • Add SPF, DKIM, and DMARC records to enhance email security.
  1. Enable CDN (Content Delivery Network):
    Use a CNAME record to point your domain or subdomain to your CDN provider’s URL for faster content delivery.
  2. Add Security Features:
  • Implement DNSSEC (DNS Security Extensions) to prevent DNS spoofing.
  • Configure TXT records for SPF, DKIM, and DMARC to protect against email fraud.
  1. Monitor and Test DNS Configuration:
    Use tools like dig, nslookup, or online DNS checkers to verify your records and resolve any errors.

Common DNS Pitfalls and How to Avoid Them

  1. Propagation Delays:
  • DNS changes can take up to 48 hours to propagate. Plan ahead to avoid downtime.
  1. Incorrect TTL (Time-to-Live) Settings:
  • Setting TTL too low can lead to frequent lookups, increasing latency. Set an optimal TTL based on your requirements.
  1. Misconfigured Records:
  • Double-check your records to ensure they point to the correct servers.
  1. Ignoring Backup DNS Servers:
  • Always configure secondary (backup) name servers for redundancy.

Advanced Tips for DNS Optimization

  1. Use GeoDNS:
  • Route traffic based on users’ geographical locations for better performance.
  1. Leverage DNS Load Balancing:
  • Distribute traffic across multiple servers to ensure reliability and scalability.
  1. Automate DNS Management:
  • Use APIs or automation tools to update DNS settings quickly, especially for dynamic environments.

Conclusion

Mastering DNS settings is a vital skill for website owners and hosting professionals alike. By understanding the fundamental DNS records, avoiding common pitfalls, and optimizing configurations, you can ensure your website remains accessible, secure, and performs efficiently. At Hosteons, we provide robust hosting solutions that integrate seamlessly with DNS management, helping you focus on growing your online presence without worrying about technical roadblocks.

Need assistance with DNS or hosting? Our support team is available 24/7 to guide you every step of the way. Visit Hosteons to explore our hosting solutions today!

Celebrate the Holidays with Hosteons Exclusive Christmas Sale!

The holiday season is here, and Hosteons is bringing you an exciting Christmas Sale that you simply can’t miss! Whether you’re an individual blogger, a small business, or an enterprise looking to boost your online presence, this is your chance to save big on high-performance hosting solutions.

🎉 What’s Included in Our Christmas Sale?

Our exclusive sale offers incredible discounts on all hosting packages. From shared hosting to VPS and hybrid servers, we’ve got the perfect plan to suit your needs.

  • Massive Discounts on all packages available at Hosteons Christmas Sale Store.
  • This offer is applicable for new orders only. Existing customers are welcome to order new packages but note that upgrades for current servers are not eligible for these promotional prices.

💎 Get More Value with Free Perks!

Want even more value? When you share your experience with Hosteons, you can unlock free bonuses to supercharge your hosting:

  • Double Disk Space
  • Free 10G Port
  • Double Bandwidth

Simply post a review about Hosteons on at least two of the following platforms:

📝 How to Claim Your Free Perks:

  1. Place a new order during the Christmas Sale.
  2. Submit your review on at least two platforms listed above.
  3. Open a support ticket and share the links to your reviews.

Once verified, we’ll add your free bonuses to your new hosting package!

Why Choose Hosteons?

At Hosteons, we’re dedicated to providing top-notch hosting solutions with unmatched reliability and customer support. With data centers across multiple global locations and 24/7 technical support, you can trust us to keep your online projects running smoothly.

🎁 Act Fast—Limited-Time Offer!

This Christmas Sale is only available for a limited time, so don’t miss out! Secure your hosting plan today and enjoy unbeatable deals and free bonuses.

Explore the Christmas Sale Now

Celebrate the holidays with Hosteons, and let us help you make 2025 your most successful year yet!

How to Install and Set Up V2Ray or ShadowsocksR (SSR) on Your VPS

V2Ray and ShadowsocksR (SSR) are popular tools for bypassing internet restrictions and enhancing online privacy. With Hosteons’ VPS, you can easily set up your own private proxy server using V2Ray or SSR. This tutorial will guide you through the installation and configuration process step by step.

Prerequisites

Before you begin, ensure you have:

  1. A VPS: Hosteons provides reliable VPS solutions with root access.
  2. Linux OS: Ubuntu 20.04 or Debian 11 are recommended.
  3. Root Access: Administrative privileges on your VPS.

Step 1: Update Your VPS

Start by updating your system to ensure all packages are up to date:

sudo apt update && sudo apt upgrade -y

Step 2: Install V2Ray

  1. Download the official V2Ray installation script:
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
  1. Start and enable V2Ray:
sudo systemctl start v2ray
sudo systemctl enable v2ray
  1. Confirm that V2Ray is running:
sudo systemctl status v2ray

Step 3: Configure V2Ray

  1. Open the V2Ray configuration file:
sudo nano /usr/local/etc/v2ray/config.json
  1. Add the following basic configuration:
{
  "inbounds": [
    {
      "port": 1080,
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "YOUR_UUID",
            "alterId": 64
          }
        ]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}
  • Replace YOUR_UUID with a unique UUID. Generate one using:
uuidgen
  1. Save and exit the file.
  2. Restart V2Ray to apply the changes:
sudo systemctl restart v2ray

Step 4: Install ShadowsocksR (SSR)

If you prefer SSR over V2Ray, follow these steps:

  1. Clone the SSR repository:
git clone https://github.com/shadowsocksrr/shadowsocksr.git
  1. Navigate to the SSR directory:
cd shadowsocksr
  1. Run the setup script:
bash setup_cymysql.sh
  1. Configure SSR by editing the configuration file:
nano user-config.json

Add the following settings:

{
  "server": "0.0.0.0",
  "server_port": 8388,
  "password": "YOUR_PASSWORD",
  "method": "aes-256-cfb",
  "protocol": "auth_sha1_v4",
  "obfs": "tls1.2_ticket_auth",
  "timeout": 300
}
  • Replace YOUR_PASSWORD with a strong password.
  1. Start the SSR server:
bash run.sh

Step 5: Open Firewall Ports

Allow traffic on the necessary ports for your proxy server:

sudo ufw allow 1080/tcp
sudo ufw allow 8388/tcp
sudo ufw enable

Step 6: Test Your Proxy Server

  1. Download and install a V2Ray or SSR client on your device.
  2. Configure the client with the server details, including IP address, port, and UUID or password.
  3. Connect to the proxy server and verify your connection.

Conclusion

Setting up V2Ray or ShadowsocksR on a VPS from Hosteons enhances your online privacy and allows you to bypass internet restrictions. With this guide, you can deploy your own secure and private proxy server in minutes. If you encounter any issues, Hosteons’ support team is available to assist you.

How to Set Up OpenLiteSpeed, PHP, and MySQL on Your VPS

OpenLitespeed Tutorial

OpenLiteSpeed is a high-performance, lightweight web server that’s perfect for hosting websites or applications. Combined with PHP and MySQL, it provides an efficient and reliable stack for serving dynamic content. This guide will walk you through setting up OpenLiteSpeed, PHP, and MySQL on your VPS.

Prerequisites

Before starting, ensure you have:

  1. A VPS: A reliable VPS provider like Hosteons.
  2. Linux OS: Ubuntu 20.04 or Debian 11 (minor adjustments may be needed for other distributions).
  3. Root Access: Administrative privileges on your VPS.

Step 1: Update Your Server

Begin by updating your system to ensure all software is up-to-date:

sudo apt update && sudo apt upgrade -y

Step 2: Install OpenLiteSpeed

  1. Add the OpenLiteSpeed repository:
sudo wget -O - https://repo.litespeed.sh | sudo bash
  1. Install OpenLiteSpeed:
sudo apt install openlitespeed -y
  1. Start OpenLiteSpeed and enable it to run at boot:
sudo systemctl start lsws
sudo systemctl enable lsws
  1. Access the OpenLiteSpeed WebAdmin interface at http://your_server_ip:7080. The default username is admin, and the password can be set with:
sudo /usr/local/lsws/admin/misc/admpass.sh

Step 3: Install MySQL

MySQL is required for managing databases. Install it with:

sudo apt install mysql-server -y

Secure the installation:

sudo mysql_secure_installation

Follow the prompts to set a root password and enhance security settings.


Step 4: Install PHP

OpenLiteSpeed works seamlessly with PHP. To install and configure PHP:

  1. Install PHP and necessary extensions:
sudo apt install lsphp81 lsphp81-mysql -y
  1. Configure OpenLiteSpeed to use PHP:
  • Log in to the WebAdmin panel (http://your_server_ip:7080).
  • Navigate to Server Configuration > External App.
  • Click Add to create a new external application with the following settings:
    • Name: lsphp81
    • Address: uds://tmp/lshttpd/lsphp81.sock
    • Max Connections: 35
    • Environment: PHP_LSAPI_CHILDREN=35
    • Command: /usr/local/lsws/lsphp81/bin/lsphp
  • Save the changes.
  1. Map the external application to your virtual host:
  • Go to Virtual Hosts > Context.
  • Add a new context:
    • Type: CGI
    • URI: /*
    • Handler Name: lsphp81
  • Save and restart OpenLiteSpeed.

Step 5: Test PHP

To confirm PHP is correctly configured:

  1. Create a test PHP file:
echo '<?php phpinfo(); ?>' | sudo tee /usr/local/lsws/Example/html/info.php
  1. Visit http://your_server_ip/info.php in a web browser. You should see the PHP information page.

Step 6: Secure Your Server

  1. Remove the PHP Info File: After testing, delete the PHP info file:
sudo rm /usr/local/lsws/Example/html/info.php
  1. Set Up a Firewall: Allow only necessary ports (HTTP, HTTPS, and OpenLiteSpeed WebAdmin):
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 7080
sudo ufw enable
  1. Enable SSL: Secure your site with Let’s Encrypt:
sudo apt install certbot
sudo certbot certonly --webroot -w /usr/local/lsws/Example/html -d your_domain

Configure SSL in the WebAdmin panel under Listeners > SSL.


Conclusion

You now have a fully functional OpenLiteSpeed, PHP, and MySQL stack set up on your VPS. This setup provides a fast and efficient environment for hosting websites or applications. Hosteons’ reliable VPS solutions are perfect for deploying this powerful combination, ensuring optimal performance and support for your hosting needs.

How to Set Up Nginx, PHP, and MySQL on a VPS

If you’re looking to host a website or web application, setting up a reliable server stack is essential. Nginx, PHP, and MySQL provide a powerful combination for serving dynamic content efficiently. This guide will walk you through setting up Nginx, PHP, and MySQL on a Linux VPS from scratch.

Prerequisites

Before starting, ensure you have:

  1. A VPS: A reliable VPS provider like Hosteons.
  2. Linux OS: Ubuntu 20.04 or Debian 11 (other distributions may require slight adjustments).
  3. Root Access: Administrative privileges on your server.

Step 1: Update Your Server

To ensure you have the latest packages and security patches, update your system:

sudo apt update && sudo apt upgrade -y

Step 2: Install Nginx

Nginx is a lightweight, high-performance web server. Install it with the following command:

sudo apt install nginx -y

After installation, start and enable Nginx to run at boot:

sudo systemctl start nginx
sudo systemctl enable nginx

You can check if Nginx is running by visiting your server’s IP address in a web browser. You should see the default Nginx welcome page.

Step 3: Install MySQL

MySQL is a popular relational database management system used for storing application data. Install it using:

sudo apt install mysql-server -y

Once installed, secure the MySQL installation by running:

sudo mysql_secure_installation

Follow the prompts to set a root password, remove test databases, and disallow remote root logins for added security.

Step 4: Install PHP

PHP is a server-side scripting language used for dynamic web content. To install PHP along with necessary extensions, run:

sudo apt install php-fpm php-mysql -y

Step 5: Configure Nginx to Use PHP

By default, Nginx does not process PHP files. You need to configure Nginx to pass PHP requests to the PHP processor.

  1. Open the default Nginx server block configuration:
sudo nano /etc/nginx/sites-available/default
  1. Modify the file to include the following settings:
server {
    listen 80;
    server_name your_domain_or_IP;
    root /var/www/html;

    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}
  1. Save and exit the file, then test the Nginx configuration:
sudo nginx -t
  1. Reload Nginx to apply the changes:
sudo systemctl reload nginx

Step 6: Test PHP

Create a test PHP file to ensure everything is working:

sudo nano /var/www/html/info.php

Add the following content:

<?php
phpinfo();
?>

Save and exit the file. Visit http://your_server_ip/info.php in your web browser. If PHP is correctly configured, you will see a PHP information page.

Step 7: Secure Your Setup

  1. Remove the PHP Info File: Once you confirm PHP is working, delete the info.php file to prevent unauthorized access:
sudo rm /var/www/html/info.php
  1. Set Up a Firewall: Allow HTTP and HTTPS traffic while blocking unused ports:
sudo ufw allow 'Nginx Full'
sudo ufw enable
  1. Enable SSL: Secure your site with HTTPS using a tool like Let’s Encrypt:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain

Follow the prompts to set up SSL certificates.

Conclusion

You now have a fully functional server running Nginx, PHP, and MySQL, ready to host your website or application. This stack provides a robust, secure, and efficient foundation for your web hosting needs. If you’re using Hosteons’ VPS, you can take advantage of their reliable performance and support to ensure your setup runs smoothly.

How to Set Up WireGuard VPN on a VPS: A Step-by-Step Tutorial

WireGuard is a modern, lightweight VPN protocol that provides a high level of security and performance. Its simplicity, speed, and efficiency make it an excellent choice for setting up a private VPN on a VPS. This guide will walk you through the steps to set up WireGuard on your VPS, ensuring you have a secure and private connection.

Prerequisites

Before starting, ensure you have the following:

  1. A VPS: Choose a reliable VPS provider like Hosteons with a Linux operating system (e.g., Ubuntu or Debian).
  2. Basic Linux Knowledge: Familiarity with command-line operations.
  3. Root Access: Administrative privileges on your VPS.

Step 1: Update Your VPS

Start by updating your VPS to ensure all packages are up-to-date.

sudo apt update && sudo apt upgrade -y

Step 2: Install WireGuard

WireGuard is included in most modern Linux distributions. To install it, use the following commands:

sudo apt install wireguard -y

If you’re using a different distribution, check the WireGuard documentation for specific installation instructions.

Step 3: Generate Keys

WireGuard uses public and private key pairs for encryption. Generate these keys as follows:

wg genkey | tee privatekey | wg pubkey > publickey
  • privatekey: Your private key (keep this secure and never share it).
  • publickey: Your public key (used to configure the client).

Step 4: Configure WireGuard

Create a configuration file for WireGuard on your VPS:

sudo nano /etc/wireguard/wg0.conf

Add the following content to the file:

[Interface]
PrivateKey = YOUR_PRIVATE_KEY
Address = 10.0.0.1/24
ListenPort = 51820
SaveConfig = true

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

Replace:

  • YOUR_PRIVATE_KEY with the private key generated earlier.
  • CLIENT_PUBLIC_KEY with the public key from your client device.

Step 5: Enable IP Forwarding

Enable IP forwarding to allow traffic to pass through your VPS:

sudo sysctl -w net.ipv4.ip_forward=1

To make this change permanent, edit the sysctl configuration file:

sudo nano /etc/sysctl.conf

Uncomment or add the following line:

net.ipv4.ip_forward=1

Step 6: Start and Enable WireGuard

Start the WireGuard service and enable it to run at boot:

sudo systemctl start [email&nbsp;protected]
sudo systemctl enable [email&nbsp;protected]

Step 7: Configure the Client

On your client device (e.g., laptop or smartphone), install WireGuard and create a configuration file. For example:

[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.0.0.2/24

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = YOUR_VPS_IP:51820
AllowedIPs = 0.0.0.0/0

Replace:

  • CLIENT_PRIVATE_KEY with the client’s private key.
  • SERVER_PUBLIC_KEY with your VPS’s public key.
  • YOUR_VPS_IP with the public IP address of your VPS.

Step 8: Test the Connection

Activate the VPN on your client and test the connection:

  1. Start the VPN:
   sudo wg-quick up wg0
  1. Verify the connection on the server:
   sudo wg

You should see details of the connected peer.

Optional: Add a Firewall Rule

To enhance security, configure your firewall to only allow WireGuard traffic:

sudo ufw allow 51820/udp
sudo ufw enable

Conclusion

Setting up WireGuard on a VPS is a straightforward process that provides a secure, high-performance VPN solution. With your own private VPN, you gain control over your data and privacy without relying on third-party commercial VPN services. Hosteons offers affordable and reliable VPS solutions to get you started with your WireGuard VPN today!

Why You Should Use a VPN While Traveling or Using Public Networks

In today’s interconnected world, the convenience of accessing the internet from virtually anywhere is a double-edged sword. Public networks—whether in airports, cafes, hotels, or malls—offer easy internet access but come with significant security risks. One of the most effective ways to protect your data and privacy in such situations is by using a Virtual Private Network (VPN). This article explores why you should use a VPN while traveling or on public networks and why setting up your own private VPN on a small VPS is a better choice than relying on commercial VPN services.

The Risks of Public Networks

When you connect to public Wi-Fi networks, you expose your data to several threats, including:

  1. Man-in-the-Middle (MITM) Attacks: Cybercriminals can intercept data transmitted between your device and the network, gaining access to sensitive information such as passwords, emails, and financial details.
  2. Data Snooping: Without encryption, your browsing activities, login credentials, and other data are visible to anyone with the right tools on the same network.
  3. Fake Wi-Fi Hotspots: Hackers can set up rogue hotspots designed to steal data from unsuspecting users who connect to them.
  4. Malware Distribution: Public networks can be used to inject malware into devices, compromising your security further.

Why Use a VPN?

A VPN creates a secure, encrypted tunnel between your device and the internet, protecting your data from prying eyes. Here’s how a VPN can safeguard your online activities:

  1. Encryption: VPNs encrypt your internet traffic, ensuring that even if it’s intercepted, the data is unreadable.
  2. Anonymity: By masking your IP address, VPNs make it harder for third parties to track your online activities.
  3. Access to Restricted Content: VPNs can bypass geo-restrictions, allowing you to access websites or services that may be unavailable in certain regions.
  4. Protection on Public Networks: VPNs shield your data from the inherent vulnerabilities of public Wi-Fi.

The Problem with Commercial VPNs

While commercial VPNs offer convenience, they come with their own set of issues:

  1. Trust Issues: You’re placing your trust in a third-party company to handle your data. Many commercial VPN providers have been caught logging user data despite claims of “no-logs” policies.
  2. Performance: Shared infrastructure can result in slower speeds and inconsistent performance, especially during peak usage hours.
  3. Cost: Subscription fees for commercial VPNs can add up over time.
  4. Security Concerns: Some providers may use weak encryption protocols or lack transparency about their practices.

Why Set Up Your Own Private VPN on a VPS

A better alternative to using commercial VPNs is to set up your own private VPN on a small VPS. Here’s why this approach stands out:

  1. Complete Control: By setting up your own VPN, you control how your data is handled and stored.
  2. Enhanced Privacy: No third-party provider can log your data, as you manage the entire setup.
  3. Cost-Effective: Many VPS providers, like Hosteons, offer affordable plans that make it economical to run your private VPN.
  4. Customizability: You can configure your VPN to meet your specific needs, including advanced encryption settings and protocols.
  5. Performance: Since the VPN is exclusively yours, you avoid the performance issues common with shared commercial VPNs.

Setting Up a Private VPN on a VPS

Setting up a private VPN on a VPS might sound technical, but it’s more straightforward than you think. Popular software like OpenVPN or WireGuard can be installed and configured on your VPS with the help of readily available tutorials. Once set up, your private VPN provides the same level of security as commercial options—without the downsides.

Conclusion

Using a VPN while traveling or connecting to public networks is essential for safeguarding your data and privacy. However, instead of relying on commercial VPN services, setting up your own private VPN on a small VPS offers better privacy, control, and performance at a lower cost. With providers like Hosteons offering affordable VPS solutions, there’s never been a better time to take charge of your online security.

Automating SMTP Port Management Across VPS Nodes: A Step-by-Step Guide for Virtualizor based KVM VPS Nodes

If you manage multiple VPS nodes and offer SMTP services selectively to clients, automating the management of IP sets can save significant effort. In this guide, we’ll walk through how we automated the synchronization of SMTP-enabled IPs across over 100 VPS nodes.

This tutorial has been tested and is fully operational on Virtualizor-based KVM VPS nodes. The script is configured to run at 1-hour intervals by default, but you can adjust the interval depending on your requirements and available resources. It can be set up on a separate server, on the same server as WHMCS, or another VPS. If using the WHMCS server, ensure it is properly secured, as this script has access to all your servers.


Prerequisites

  1. Python 3.x installed on your system.
  2. Required Python libraries:
   pip install paramiko pandas
  1. WHMCS with VPS product configurations.
  2. SSH access to all VPS nodes and the WHMCS server.
  3. ipset installed and configured on each VPS node.
  4. Proper iptables rules set up on all VPS nodes (detailed below).

Required iptables and ipset Configuration on VPS Nodes

To manage SMTP access effectively, you need the following iptables and ipset rules configured on all VPS nodes. These rules must also persist across reboots:

modprobe br_netfilter
ipset create allowed_ips hash:ip
iptables -F
iptables -P FORWARD DROP
iptables -I FORWARD -m set --match-set allowed_ips src -o viifbr0 -p tcp --dport 25 -j ACCEPT
iptables -I FORWARD -m set --match-set allowed_ips dst -o viifbr0 -p tcp --dport 25 -j ACCEPT

iptables -A FORWARD -o viifbr0 -p tcp --dport 25 -j REJECT
iptables -A FORWARD -o viifbr0 -j ACCEPT
service iptables save 

These rules ensure that SMTP traffic is blocked by default unless explicitly allowed via ipset. Ensure the rules are applied on every reboot of the VPS nodes.


Overview of the Solution

  1. Fetch VPS Configuration from WHMCS: Retrieve a JSON file listing VPS configurations, including SMTP-enabled status and associated IPs.
  2. Process Data: Parse the JSON file to extract primary and additional IPs for SMTP-enabled VPSs.
  3. Sync IP Sets Across Nodes: Use ipset to update allowed IPs for SMTP on each node. This includes adding or removing IPs as needed.
  4. Parallel Execution: Speed up the process by handling multiple nodes concurrently with Python threading.

Implementation

1. Create the Excel File for Node Information

The Python script uses an Excel file to identify the SSH IPs and ports of all VPS nodes. Create an Excel file in the following format:

IP AddressSSH Port
192.168.1.10022
192.168.1.1012222

Save this file as securecrt_servers.xlsx and ensure it is accessible to the script.

2. Fetch VPS Data from WHMCS

Add a hook in WHMCS to export VPS data:

File: /path/to/whmcs/includes/hooks/export_vps_data.php

<?php

use Illuminate\Database\Capsule\Manager as Capsule;

add_hook('AfterCronJob', 100, function($vars) {
    $logFile = __DIR__ . '/export_hook_debug.log';
    $filePath = __DIR__ . '/vps_data.json';

    try {
        $vpsData = Capsule::table('tblhosting')
            ->join('tblproducts', 'tblhosting.packageid', '=', 'tblproducts.id')
            ->join('tblclients', 'tblhosting.userid', '=', 'tblclients.id')
            ->leftJoin('tblhostingconfigoptions', 'tblhosting.id', '=', 'tblhostingconfigoptions.relid')
            ->leftJoin('tblproductconfigoptions', 'tblhostingconfigoptions.configid', '=', 'tblproductconfigoptions.id')
            ->select(
                'tblclients.firstname',
                'tblclients.lastname',
                'tblhosting.dedicatedip',
                'tblhosting.assignedips',
                'tblhosting.domain',
                'tblproducts.name as productname',
                'tblproductconfigoptions.optionname',
                'tblhostingconfigoptions.optionid'
            )
            ->where('tblproducts.type', 'server')
            ->where('tblhosting.domainstatus', 'Active')
            ->get();

        $formattedData = [];
        foreach ($vpsData as $vps) {
            $smtp_enabled = false;
            if (stripos($vps->optionname ?? '', 'SMTP Access') !== false && $vps->optionid > 0) {
                $smtp_enabled = true;
            }

            $formattedData[] = [
                'client_name' => $vps->firstname . ' ' . $vps->lastname,
                'primary_ip' => $vps->dedicatedip,
                'additional_ips' => $vps->assignedips,
                'domain' => $vps->domain,
                'product_name' => $vps->productname,
                'smtp_enabled' => $smtp_enabled,
            ];
        }

        file_put_contents($filePath, json_encode($formattedData, JSON_PRETTY_PRINT));
    } catch (Exception $e) {
        file_put_contents($logFile, "Error: " . $e->getMessage() . PHP_EOL, FILE_APPEND);
    }
});

3. Configure SMTP Access Using WHMCS Configurable Options

To enable or disable SMTP for a VPS:

  1. Set Up a Configurable Option:
  • Go to WHMCS Admin > Products/Services > Configurable Options.
  • Create an option named SMTP Access with values such as Enabled and Disabled.
  1. Client Self-Management (Optional):
  • If you want clients to manage this option while ordering or upgrading, associate the configurable option with the product.
  1. Manual Control:
  • To keep SMTP access manual, hide the configurable option from clients and enable or disable it directly in the admin panel.

Note: Changes to SMTP access will take effect within the interval configured for the sync script (default: 1 hour).

4. Automate Syncing with Python

File: /path/to/script/smtp_sync.py

import requests
import subprocess
import paramiko
import ipaddress
import os
import pandas as pd
import re
import json
from concurrent.futures import ThreadPoolExecutor

DEBUG = True

NODES_FILE_PATH = '/path/to/securecrt_servers.xlsx'
nodes_df = pd.read_excel(NODES_FILE_PATH)
NODES = [
    {"host": row["IP Address"], "port": row["SSH Port"]}
    for _, row in nodes_df.iterrows()
]

IPSET_NAME = "allowed_ips"
ERROR_LOG_FILE = "node_errors.log"
WHMCS_SERVER = {
    "host": "whmcs-server-ip",
    "user": "your-whmcs-user",
    "port": 22,
    "key_path": os.path.expanduser("~/.ssh/id_rsa")
}
REMOTE_VPS_FILE = "/path/to/whmcs/hooks/vps_data.json"
LOCAL_VPS_FILE = "/tmp/vps_data.json"

# Define functions for fetching, processing, and syncing IPs
# See the complete script in the provided implementation.

Cron Job Setup

Run the Python script every hour by adding it to your crontab:

crontab -e

Add the following line:

0 * * * * /usr/bin/python3 /path/to/script/smtp_sync.py >> /var/log/smtp_sync.log 2>&1

Benefits of the Solution

  1. Automated Management: No manual updates to IP sets are required.
  2. Scalability: Handles hundreds of nodes efficiently using multithreading.
  3. Reliability: Synchronization ensures consistent SMTP access control across all nodes.

Troubleshooting Common VPS Issues: A Beginner’s Guide

Virtual Private Servers (VPS) are essential for hosting websites, running applications, and managing online businesses. However, even the best VPS environments can face occasional issues. This beginner’s guide covers the most common VPS problems and how to troubleshoot them effectively.


1. VPS Not Responding or Inaccessible

Symptoms:

  • Website or application is down.
  • Unable to connect via SSH or control panel.

Troubleshooting Steps:

  • Check Server Status: Use your hosting provider’s control panel to check if the VPS is running.
  • Ping Test: Use ping <server_ip> from your local terminal to test connectivity.
  • Restart VPS: Reboot the VPS from the control panel.

Possible Causes:

  • High resource usage (CPU, RAM).
  • Misconfigured firewall settings.
  • Network issues at the provider’s end.

2. Slow Website or Application Performance

Symptoms:

  • Slow page loads.
  • Delayed responses from hosted applications.

Troubleshooting Steps:

  • Check Resource Usage: Use top or htop commands via SSH.
  • Check Disk Space: Run df -h to ensure your VPS isn’t running out of space.
  • Optimize Web Server: Use caching, compression (Gzip), and database optimization.

Possible Causes:

  • Insufficient server resources.
  • Outdated software or scripts.
  • Malware or malicious traffic.

3. Website Not Loading (But Server Is Running)

Symptoms:

  • Website shows a 500, 403, or 404 error.
  • Connection errors in the browser.

Troubleshooting Steps:

  • Check Web Server Logs: Use tail -f /var/log/nginx/access.log or apache2/access.log.
  • Verify DNS Settings: Ensure DNS records point correctly to your VPS IP.
  • Check File Permissions: Ensure correct file ownership and permissions.

Possible Causes:

  • Web server misconfiguration.
  • Incorrect DNS or expired domain.
  • Recent changes in the application’s code or settings.

4. Unable to Send or Receive Emails

Symptoms:

  • Emails are not sent or received.
  • Emails are marked as spam.

Troubleshooting Steps:

  • Check Mail Server Logs: tail -f /var/log/mail.log (Postfix/Exim).
  • Verify Port Blocking: Ensure SMTP ports (25, 465, 587) are not blocked by firewalls.
  • SPF/DKIM Records: Verify DNS records like SPF, DKIM, and DMARC.

Possible Causes:

  • Incorrect mail server configuration.
  • Blocked email ports.
  • IP blacklisting due to spam activity.

5. Security Breaches or Unauthorized Access

Symptoms:

  • Suspicious logins or processes.
  • Unfamiliar files in the system.

Troubleshooting Steps:

  • Check Login History: Use last and who commands.
  • Inspect Running Processes: Use ps aux to find suspicious processes.
  • Check Firewall Rules: Review iptables or any installed security plugins.
  • Change Passwords: Reset SSH and application passwords immediately.

Possible Causes:

  • Weak passwords or outdated software.
  • Lack of firewall or security tools.
  • Vulnerabilities in hosted applications.

6. VPS Boot Failure

Symptoms:

  • VPS doesn’t boot after a restart.
  • Kernel panic or boot-related error messages.

Troubleshooting Steps:

  • Check Console Logs: Use the VPS provider’s control panel console for boot logs.
  • Boot in Rescue Mode: Use rescue mode for troubleshooting.
  • Reinstall OS (If Needed): As a last resort, reinstall the operating system.

Possible Causes:

  • Corrupted OS files.
  • Misconfigured bootloader or kernel.
  • Hardware issues on the provider’s side.

Conclusion

Managing a VPS doesn’t have to be overwhelming. With these troubleshooting tips, beginners can resolve most common VPS issues quickly and efficiently. If you still face problems, Hosteons’ 24×7 support team is here to help you with reliable and expert assistance.

Need VPS Hosting? Check out Hosteons.com for powerful and budget-friendly VPS solutions with free backups, multiple global locations, and top-tier server performance!