Blog

  • How to Host a Node.js App on Your VPS

    How to Host a Node.js App on Your VPS

    How to Host a Node.js App on Your VPS

    Node.js has become one of the most popular platforms for building fast, scalable applications. Whether you’re developing a real-time chat app, an API, or an e-commerce site, deploying your Node.js project to a VPS (Virtual Private Server) ensures better performance, security, and full control compared to shared hosting.

    In this guide, we’ll walk you step-by-step through hosting a Node.js app on your VPS, from installation to deployment.

    Step 1: Update Your Server

    Before installing Node.js, make sure your VPS is up to date:

    sudo apt update && sudo apt upgrade -y
    

    Step 2: Install Node.js and npm

    Node.js comes with npm (Node Package Manager), which you’ll use to manage dependencies. Install it with:

    sudo apt install nodejs npm -y
    

    Check the versions to confirm installation:

    node -v
    npm -v
    

    For the latest stable version, you can also install Node.js using NodeSource:

    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    sudo apt install -y nodejs
    

    Step 3: Upload Your App to the VPS

    You can upload your Node.js project files using Git, FileZilla (SFTP), or scp. Example with Git:

    git clone https://github.com/yourusername/your-node-app.git
    cd your-node-app
    

    Install dependencies:

    npm install
    

    Step 4: Test Your App

    Run your app locally on the VPS to confirm it works:

    node app.js
    

    Or, if you’re using a framework like Express, it might be:

    npm start
    

    By default, Node.js apps run on a port (e.g., 3000). Test it in your browser:

    http://your-server-ip:3000
    

    Step 5: Use PM2 to Keep Your App Running

    By default, if you close the terminal, your app will stop. To solve this, install PM2, a process manager for Node.js:

    sudo npm install -g pm2
    

    Start your app with PM2:

    pm2 start app.js
    

    Enable PM2 to auto-start on server reboot:

    pm2 startup systemd
    pm2 save
    

    Now, your Node.js app will always stay online.

    Step 6: Set Up a Reverse Proxy with Nginx

    Your app is running, but it’s only accessible via port (e.g., :3000). To make it accessible via your domain (e.g., https://example.com), configure Nginx as a reverse proxy.

    Install Nginx:

    sudo apt install nginx -y
    

    Create a new config file:

    sudo nano /etc/nginx/sites-available/nodeapp
    

    Add this configuration:

    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
    
        location / {
            proxy_pass http://localhost:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
    

    Enable the config and restart Nginx:

    sudo ln -s /etc/nginx/sites-available/nodeapp /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl restart nginx
    

    Now, your app is available on your domain without needing a port number.

    Step 7: Secure Your App with SSL (HTTPS)

    For security and SEO, enable SSL using Certbot:

    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    

    Follow the prompts, and you’ll have HTTPS enabled.

    Step 8: Verify Deployment

    Visit your domain in a browser:

    https://yourdomain.com
    

    Your Node.js app should now be live and secure! 🎉

    Conclusion

    Hosting a Node.js app on your VPS gives you:
    ✅ Full control over your environment
    ✅ Scalability with PM2 and Nginx
    ✅ Secure access with SSL certificates
    ✅ Reliability with a dedicated VPS from Vicservers

    At Vicservers, we provide VPS and dedicated servers optimized for Node.js and modern web applications. Whether you’re deploying a small project or scaling a large production system, we’ve got the right infrastructure for you.

    Ready to host your Node.js app with confidence? Get started today with Vicservers VPS hosting!

  • How to Set Up LAMP Stack on Ubuntu Server

    How to Set Up LAMP Stack on Ubuntu Server

    How to Set Up LAMP Stack on Ubuntu Server

    When it comes to hosting dynamic websites and applications, one of the most popular and reliable environments is the LAMP stack. LAMP stands for Linux, Apache, MySQL, and PHP, and together, these components create a solid foundation for web development and hosting.

    In this guide, we’ll walk you through setting up a LAMP stack on Ubuntu Server, step by step.

    What is LAMP Stack?

    • Linux – The operating system (we’ll use Ubuntu).
    • Apache – The web server that serves your website content.
    • MySQL/MariaDB – The database system to store application data.
    • PHP – The scripting language that makes websites dynamic and interactive.

    Step 1: Update Your Server

    Before installing anything, update your system to ensure all packages are current:

    sudo apt update && sudo apt upgrade -y
    

    Step 2: Install Apache Web Server

    Apache is the most widely used web server software. Install it with:

    sudo apt install apache2 -y
    

    Enable Apache to start on boot:

    sudo systemctl enable apache2
    sudo systemctl start apache2
    

    Test Apache by visiting your server’s IP address in a browser:

    http://your-server-ip
    

    You should see the default Apache welcome page.

    Step 3: Install MySQL Database Server

    Next, install MySQL (or MariaDB if you prefer):

    sudo apt install mysql-server -y
    

    Run the security script to secure your database installation:

    sudo mysql_secure_installation
    

    This will prompt you to set a root password, remove test databases, and disable remote root login.

    Log in to MySQL to test:

    sudo mysql -u root -p
    

    Step 4: Install PHP

    PHP is required for dynamic websites like WordPress. Install PHP and common extensions:

    sudo apt install php libapache2-mod-php php-mysql -y
    

    Check the installed PHP version:

    php -v
    

    Step 5: Test PHP Processing

    Create a test PHP file to confirm Apache and PHP are working together.

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

    Add this line:

    <?php
    phpinfo();
    ?>
    

    Save and exit. Now visit:

    http://your-server-ip/info.php
    

    You should see the PHP info page with details about your PHP installation.

    Step 6: Adjust Firewall (Optional)

    If you are running UFW firewall, allow Apache traffic:

    sudo ufw allow in "Apache Full"
    

    Step 7: Remove the PHP Info File

    Since info.php contains sensitive server details, delete it after testing:

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

    Step 8: Verify LAMP Stack

    At this point, your Ubuntu server should have:
    ✅ Apache serving web pages
    ✅ MySQL storing your data
    ✅ PHP processing scripts

    Your LAMP stack is ready for hosting apps like WordPress, Joomla, or custom PHP websites.

    Conclusion

    The LAMP stack is one of the most reliable, cost-effective, and widely supported hosting environments. Whether you’re deploying a personal website or a full enterprise application, LAMP provides the scalability and flexibility you need.

    At Vicservers, we help businesses deploy secure and optimized LAMP hosting environments. With our VPS and dedicated server solutions, you get performance, security, and support all in one place.

    Ready to launch your project? Contact Vicservers today for reliable hosting solutions tailored to your needs.

     

  • Load Balancing 101: What It Is and How to Set It Up

    Load Balancing 101: What It Is and How to Set It Up

    Load Balancing 101: What It Is and How to Set It Up

    In today’s fast-paced digital world, user expectations for speed, reliability, and performance are higher than ever. Whether you’re running an e-commerce store, a SaaS platform, or a corporate website, downtime or slow response times can lead to lost customers and damaged trust.

    This is where load balancing comes in. It’s one of the most important technologies behind reliable server performance, ensuring users enjoy smooth, uninterrupted access to your applications and services.

    In this guide from Vicservers, we’ll explain:

    • What load balancing is.
    • Why it’s important.
    • The different types of load balancers.
    • Step-by-step instructions for setting up load balancing.
    • Best practices to get the most out of your system.

    What is Load Balancing?

    At its core, load balancing is the process of distributing incoming network traffic across multiple servers. Instead of overwhelming a single server, a load balancer acts as a traffic manager, making sure every server shares the workload.

    Think of it like a busy restaurant: instead of having just one waiter handle every table, the manager assigns tables evenly among multiple waiters. This way, no one gets overloaded, service is faster, and customers are happier.

    In the digital world, the load balancer is the manager directing requests (like HTTP, HTTPS, or database queries) to the appropriate server.

    Why is Load Balancing Important?

    1. High Availability (Uptime Guaranteed)
      If one server goes down, traffic is automatically redirected to other servers. This minimizes downtime.
    2. Scalability
      As your business grows, you can simply add more servers behind the load balancer to handle increased traffic.
    3. Improved Performance
      By spreading requests across multiple servers, response times are faster, and bottlenecks are reduced.
    4. Enhanced Security
      Load balancers can prevent DDoS attacks by distributing malicious traffic, making it harder to overwhelm a single server.
    5. Flexibility & Maintenance
      You can take one server offline for updates without affecting users traffic simply reroutes to the remaining servers.

    Types of Load Balancers

    Not all load balancers are the same. They differ in complexity, function, and where they operate in the network stack.

    1. Hardware Load Balancers

    • Physical devices that sit between clients and servers.
    • Very powerful but expensive.
    • Mostly used in large enterprises.

    2. Software Load Balancers

    • Applications installed on regular servers to handle traffic distribution.
    • More affordable and flexible.
    • Common in cloud and VPS hosting environments.

    3. DNS Load Balancing

    • Uses the Domain Name System (DNS) to distribute traffic by resolving a single domain to multiple IP addresses.
    • Simple, but less precise because DNS caching can delay changes.

    4. Layer 4 vs Layer 7 Load Balancing

    • Layer 4 (Transport Layer): Routes traffic based on IP address and port (faster, simpler).
    • Layer 7 (Application Layer): Routes based on content (e.g., URL, headers, cookies). Ideal for advanced setups like microservices.

    Popular Load Balancing Algorithms

    Load balancers use different algorithms to decide how to distribute traffic. Some common ones include:

    • Round Robin: Sends each request to the next server in line.
    • Least Connections: Directs new traffic to the server with the fewest active connections.
    • IP Hash: Uses the client’s IP address to decide which server to route to (good for sticky sessions).
    • Weighted Round Robin: Assigns more traffic to servers with higher capacity.

    How to Set Up Load Balancing (Step-by-Step)

    Let’s walk through a practical example of setting up load balancing using NGINX—one of the most popular open-source load balancers.

    Step 1: Prepare Your Servers

    • You’ll need at least two application servers and one server for the load balancer.
    • Example:
      • Server 1: 192.168.1.10
      • Server 2: 192.168.1.11
      • Load Balancer: 192.168.1.100

    Step 2: Install NGINX on the Load Balancer

    On Ubuntu/Debian:

    sudo apt update
    sudo apt install nginx -y
    

    Step 3: Configure Load Balancing in NGINX

    Open the NGINX configuration file:

    sudo nano /etc/nginx/sites-available/loadbalancer.conf
    

    Add the following configuration:

    upstream backend {
        server 192.168.1.10;
        server 192.168.1.11;
    }
    
    server {
        listen 80;
    
        location / {
            proxy_pass http://backend;
        }
    }
    

    This setup tells NGINX to distribute incoming traffic between the two servers.

    Step 4: Enable Configuration

    sudo ln -s /etc/nginx/sites-available/loadbalancer.conf /etc/nginx/sites-enabled/
    sudo systemctl restart nginx
    

    Step 5: Test the Load Balancer

    • Visit your load balancer’s IP (192.168.1.100).
    • You should see responses alternating between the two backend servers.

    Advanced Load Balancer Features

    • SSL Termination: Handle HTTPS traffic at the load balancer, offloading work from backend servers.
    • Health Checks: Continuously check if backend servers are alive. If one goes down, it’s automatically removed from the pool.
    • Sticky Sessions: Ensure users stay connected to the same server (important for apps that store session data locally).
    • Caching & Compression: Improve performance by caching responses and compressing traffic.

    Load Balancing in the Cloud

    Most cloud providers offer managed load balancing services:

    • AWS Elastic Load Balancer (ELB)
    • Google Cloud Load Balancing
    • Azure Load Balancer

    With Vicservers, we also help set up custom VPS load balancing solutions tailored to your infrastructure.

    Best Practices for Load Balancing

    1. Start with Redundancy: Always have at least 2 backend servers.
    2. Use Monitoring Tools: Tools like Prometheus, Grafana, or htop help monitor performance.
    3. Secure Your Load Balancer: Enable firewalls (UFW, iptables) and SSL.
    4. Plan for Scalability: Configure auto-scaling to add more servers during peak times.
    5. Test Failover: Simulate server crashes to ensure the load balancer handles them smoothly.

    Conclusion

    Load balancing is no longer a luxury—it’s a necessity for any modern business that wants high availability, performance, and scalability. Whether you’re managing a small website or a large enterprise system, implementing load balancing ensures your users always have a seamless experience.

    At Vicservers, we help businesses set up reliable hosting environments with load balancing built-in. From NGINX-based solutions to enterprise-level scaling, we’ve got you covered.

    Ready to supercharge your server performance? Talk to Vicservers today and explore hosting solutions designed for speed, security, and reliability.

     

  • How to Run Multiple Sites on One Server Using Virtual Hosts

    How to Run Multiple Sites on One Server Using Virtual Hosts

    How to Run Multiple Sites on One Server Using Virtual Hosts

    If you’re running more than one website, you don’t necessarily need separate servers for each. With Virtual Hosts, you can host multiple websites, each with its own domain name, content, and configuration, on the same physical or virtual server. This is not only cost-effective but also much easier to manage, especially if you’re using a powerful hosting service like Vicservers.

    In this guide, we’ll walk you step-by-step through setting up multiple sites on one server using Apache’s Virtual Host feature.

    What Are Virtual Hosts?

    Virtual Hosts allow a single web server to serve different websites based on:

    • Domain Name (Name-based hosting)
    • IP Address (IP-based hosting)
    • Port Number (Port-based hosting)

    Most commonly, name-based virtual hosting is used — meaning that Apache identifies which site to serve by checking the Host header in the request.

    For example:

    • www.site1.com/var/www/site1
    • www.site2.com/var/www/site2

    Both can be hosted on the same server and IP.

    Prerequisites

    Before you begin, ensure you have:

    • A Linux server (Ubuntu 20.04/22.04 recommended)
    • Apache installed
    • Root or sudo access
    • Two (or more) domain names pointed to your server’s IP address
    • Basic command-line knowledge

    If you don’t have a VPS yet, Vicservers offers affordable, high-performance VPS solutions perfect for hosting multiple sites.

    Step 1: Install Apache

    If you don’t already have Apache installed:

    sudo apt update
    sudo apt install apache2 -y
    

    Enable Apache to start on boot:

    sudo systemctl enable apache2
    sudo systemctl start apache2
    

    Step 2: Create Directory Structure for Each Website

    You’ll need a separate root directory for each site.

    sudo mkdir -p /var/www/site1.com/public_html
    sudo mkdir -p /var/www/site2.com/public_html
    

    Set permissions:

    sudo chown -R $USER:$USER /var/www/site1.com/public_html
    sudo chown -R $USER:$USER /var/www/site2.com/public_html
    

    Step 3: Add Sample Content

    For site1.com:

    echo "<h1>Welcome to Site 1</h1>" > /var/www/site1.com/public_html/index.html
    

    For site2.com:

    echo "<h1>Welcome to Site 2</h1>" > /var/www/site2.com/public_html/index.html
    

    Step 4: Create Virtual Host Files

    Apache stores Virtual Host configs in /etc/apache2/sites-available/.

    For site1.com:

    sudo nano /etc/apache2/sites-available/site1.com.conf
    

    Add:

    <VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName site1.com
        ServerAlias www.site1.com
        DocumentRoot /var/www/site1.com/public_html
        ErrorLog ${APACHE_LOG_DIR}/site1_error.log
        CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
    </VirtualHost>
    

    For site2.com:

    sudo nano /etc/apache2/sites-available/site2.com.conf
    

    Add:

    <VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName site2.com
        ServerAlias www.site2.com
        DocumentRoot /var/www/site2.com/public_html
        ErrorLog ${APACHE_LOG_DIR}/site2_error.log
        CustomLog ${APACHE_LOG_DIR}/site2_access.log combined
    </VirtualHost>
    

    Step 5: Enable the New Sites

    Enable each Virtual Host:

    sudo a2ensite site1.com.conf
    sudo a2ensite site2.com.conf
    

    Disable the default Apache site (optional):

    sudo a2dissite 000-default.conf
    

    Reload Apache:

    sudo systemctl reload apache2
    

    Step 6: Update DNS Records

    In your domain registrar’s panel:

    • Create an A Record for site1.com → your server’s IP
    • Create an A Record for site2.com → your server’s IP
    • Optionally add www CNAME records pointing to the root domains

    Step 7: Add SSL Certificates

    Using Let’s Encrypt for free SSL:

    Install Certbot:

    sudo apt install certbot python3-certbot-apache -y
    

    Run:

    sudo certbot --apache -d site1.com -d www.site1.com
    sudo certbot --apache -d site2.com -d www.site2.com
    

    This will configure HTTPS automatically.

    Step 8: Test the Setup

    Open:

    http://site1.com
    http://site2.com
    

    You should see different pages for each site.

    Best Practices for Running Multiple Sites on One Server

    1. Use Strong Permissions
      • Don’t run sites as root
      • Use separate system users if possible
    2. Enable Resource Limits
      • Use Apache’s mod_evasive and mod_security to prevent abuse
    3. Monitor Server Load
      • Tools like htop, top, or VicServers’ built-in monitoring help track CPU/memory usage
    4. Keep Backups
      • Automate backups with rsync or VicServers’ backup solutions
    5. Keep Software Updated
      • Regularly update Apache, PHP, and system packages

    Why Use Vicservers for Multiple Site Hosting?

    Running multiple sites requires:

    • High uptime (Vicservers guarantees 99.9%)
    • Scalable resources
    • Expert support
    • Easy DNS management
    • Security-first infrastructure

    With Vicservers’ VPS and dedicated plans, you get:

    • Full root access for complete control
    • SSD storage for fast load times
    • Free SSL certificates
    • 24/7 Nigerian-based support

    Conclusion

    Virtual Hosts make it easy to host multiple websites on one server without sacrificing performance or security. With Vicservers providing reliable hosting infrastructure, you can scale your web projects without breaking the bank.

    Need help setting this up?
    Vicservers offers FREE Virtual Host setup for new VPS customers.

    Get Started with Vicservers Today

     

  • Installing and Managing Docker on Ubuntu VPS: A Step-by-Step Guide

    Installing and Managing Docker on Ubuntu VPS: A Step-by-Step Guide

    Installing and Managing Docker on Ubuntu VPS: A Step-by-Step Guide

    If you’re running an Ubuntu VPS from Vicservers, Docker is one of the most powerful tools you can add to your toolkit. It allows you to package applications into containers, making deployment faster, more secure, and consistent across environments.

    In this guide, we’ll walk you through installing and managing Docker on Ubuntu, so you can start building and running containers in minutes.

    Why Use Docker on Your Ubuntu VPS?

    Docker is the go-to containerization platform because it:

    • Eliminates “it works on my machine” issues
    • Speeds up deployments
    • Uses resources efficiently
    • Scales easily

    Whether you’re hosting a website, running microservices, or experimenting with new apps, Docker keeps your environment clean and predictable.

    1️⃣ Update Your VPS

    Before installing anything, ensure your package list and existing packages are up to date:

    sudo apt update && sudo apt upgrade -y
    

    2️⃣ Install Required Packages

    Docker needs some dependencies to work correctly:

    sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
    

    3️⃣ Add Docker’s Official GPG Key

    This ensures the packages come from a trusted source:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
    

    4️⃣ Add Docker Repository

    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

    5️⃣ Install Docker Engine

    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io -y
    

    6️⃣ Enable and Start Docker

    sudo systemctl enable docker
    sudo systemctl start docker
    

    7️⃣ Verify Installation

    docker --version
    

    If you see the version number, Docker is ready to go

    Managing Docker on Your VPS

    Check Docker Status

    sudo systemctl status docker
    

    Run a Test Container

    sudo docker run hello-world
    

    List Running Containers

    sudo docker ps
    

    Stop a Container

    sudo docker stop <container_id>
    

    Remove a Container

    sudo docker rm <container_id>
    

    Bonus: Run Docker Without Sudo

    If you want to run Docker commands without typing sudo every time:

    sudo usermod -aG docker $USER
    newgrp docker
    

    Thoughts

    Installing Docker on your Ubuntu VPS is straightforward, and once it’s up and running, you’ll unlock an entire ecosystem of portable, efficient applications. Whether you’re a developer, sysadmin, or just exploring, Docker helps you make the most of your Vicservers VPS.

    Tip: Keep your Docker version updated for the latest features and security patches:

    sudo apt update && sudo apt upgrade docker-ce -y
    

    Deploying Your First App with Docker Compose on Ubuntu VPS

    In our previous guide, we showed you how to install and manage Docker on your Ubuntu VPS. Now, it’s time to level up and learn how to use Docker Compose — a powerful tool that lets you run multi-container applications with just one command.

    If Docker is the engine, Docker Compose is the orchestration tool that helps you manage apps made up of multiple containers.

    Conclusion

    With Docker Compose on your Ubuntu VPS, you can manage complex applications easily, deploy faster, and maintain a cleaner server environment. This is a game-changer for developers and businesses looking to scale their services without the headaches of traditional setups.

     

  • Using Git for Website Version Control on a Server

    Using Git for Website Version Control on a Server

    Using Git for Website Version Control on a Server

    Whether you’re a solo developer, a freelancer, or managing a team, keeping your website’s code organized and safe is essential. That’s where Git comes in — and it can make your life a lot easier, especially when you’re hosting on a platform like Vicservers.

    In this post, we’ll walk you through how to use Git to manage your website directly on your server.

    Why Use Git for Your Website?

    Here are just a few reasons:

    • Version Control: Keep track of every change made to your site.
    • Easy Rollbacks: Broke something? Go back to a working version.
    • Team Collaboration: Multiple developers? Git handles it like a champ.
    • Deployment Simplified: Push from local to live with one command.

    What You’ll Need

    • A server (like one hosted with Vicservers) with SSH access.
    • Git installed on both your local machine and the server.
    • A basic website project (HTML/CSS/JS, PHP, etc.).
    • Familiarity with the terminal/command line.

    Step-by-Step: Deploy a Website Using Git

    1. Install Git on Your Server

    If it’s not already installed, SSH into your server and run:

    sudo apt update
    sudo apt install git
    

    (For CentOS: sudo yum install git)

    2. Set Up a Bare Git Repository on the Server

    SSH into your server and choose where to store your Git repository:

    cd ~
    mkdir website.git
    cd website.git
    git init --bare
    

    This is a “bare” repo — it doesn’t contain files, just the Git history.

    3. Configure the Post-Receive Hook

    This hook will automatically deploy your website when you push to the repo.

    cd ~/website.git/hooks
    nano post-receive
    

    Paste this:

    #!/bin/bash
    GIT_WORK_TREE=/var/www/html git checkout -f
    

    Then:

    chmod +x post-receive
    

    Make sure /var/www/html is your actual web root directory.

    4. Set Up the Local Repository

    On your local machine:

    cd your-website-folder
    git init
    git add .
    git commit -m "Initial commit"
    

    Then add the remote pointing to your server:

    git remote add live ssh-user@your-server-ip:~/website.git
    

    5. Push to the Server

    git push live master
    

    That’s it! Your website files will deploy to /var/www/html.

    Tips & Best Practices

    • Use .gitignore to exclude files you don’t want on the server.
    • Set up SSH keys to avoid entering your password every push.
    • Back up your server periodically even with Git in place.
    • Use Git branches for staging/production workflows.

    Bonus: Secure Your Deployment

    Don’t forget to:

    • Use strong SSH keys for authentication.
    • Lock down file permissions (www-data or your web server user should own the deployed files).
    • Optionally, use a CI/CD tool later as your project grows.

    Git + Vicservers = Smooth Deployment

    At Vicservers, we support developers by offering fast, secure, and reliable servers that are Git-friendly out of the box. Combine Git with our server solutions and you’ve got a powerful setup for modern web development.

    Happy coding — and even happier deploying!

     

  • Migrating a Website to a New Host – A Complete Guide

    Migrating a Website to a New Host – A Complete Guide

    Migrating a Website to a New Host – A Complete Guide

    Changing web hosts can feel overwhelming — but with the right steps, you can migrate your website smoothly with zero downtime and no data loss. Whether you’re looking for better performance, improved support, or more scalable solutions, migrating to a new hosting provider like Vicservers can be one of the best decisions you make for your website.

    Why Migrate to a New Host?

    Before we get into the how, let’s look at why people migrate:

    • Slow website performance and frequent downtimes
    • Poor customer support from the existing host
    • Better features or pricing at a new host
    • Security concerns or limited scalability

    If any of these sound familiar, it’s time to consider moving.

    Step-by-Step Website Migration Guide

    Step 1: Choose the Right Hosting Provider

    Do your research and choose a reliable host that fits your needs. At Vicservers, we offer:

    • 99.9% uptime
    • 24/7 expert support
    • Easy migration tools
    • Scalable hosting plans

    Step 2: Back Up Your Website

    Before doing anything else, back up all your website files and databases. This ensures you have a safety net in case anything goes wrong.

    • Use tools like cPanel Backup, UpdraftPlus (for WordPress), or manual FTP/SFTP and phpMyAdmin backups.
    • Store the backup on your local computer or cloud storage.

    Step 3: Transfer Website Files to the New Host

    Upload your files to the new hosting provider:

    • Connect to your new server using FTP/SFTP or cPanel File Manager
    • Upload all your website files to the public_html directory or the relevant folder

    For WordPress sites, make sure you copy the wp-content, wp-includes, and wp-admin folders, plus the core files.

    Step 4: Migrate Your Database

    If your website uses a database (like MySQL), follow these steps:

    1. Export your database from the old host using phpMyAdmin
    2. Create a new database in your new host’s control panel
    3. Import the database into the new server via phpMyAdmin
    4. Update your website’s configuration file (e.g., wp-config.php for WordPress) with the new database credentials

    Step 5: Update DNS Records

    Now that your site is on the new host, it’s time to point your domain to the new server:

    • Log into your domain registrar
    • Update the nameservers to those provided by your new hosting provider
    • DNS changes can take up to 24–48 hours to fully propagate

    Tip: During propagation, avoid making updates to the site on either host.

    Step 6: Test Everything Thoroughly

    Before announcing your migration is complete, test your site for:

    • Broken links and missing images
    • Functionality of forms, plugins, and eCommerce carts
    • Mobile responsiveness and page load speed

    Use a temporary URL or modify your hosts file to preview the site on the new server without DNS changes.

    Step 7: Cancel Your Old Hosting (After Backup)

    Once you’ve confirmed everything is working and your DNS has fully propagated, you can cancel your old hosting plan. Make sure to:

    • Take a final backup
    • Save any emails, logs, or files you may still need

    Bonus: Let Vicservers Handle It for You

    Feeling overwhelmed? Don’t worry — Vicservers offers free website migration for new customers. Our experts will handle the transfer process securely and quickly, so you can focus on running your business.

    Final Thoughts

    Website migration doesn’t have to be stressful. By following this guide (or letting Vicservers do the work for you), you can move your site with confidence, zero downtime, and no data loss.

    Ready to migrate?
    Contact our support team today for a free consultation or sign up and enjoy seamless migration with Vicservers, your trusted hosting partner.

     

  • How to Install and Configure phpMyAdmin on Your Server

    How to Install and Configure phpMyAdmin on Your Server

    How to Install and Configure phpMyAdmin on Your Server

    Managing MySQL databases via the command line can be time-consuming and complex — especially for beginners. That’s where phpMyAdmin comes in. It provides a web-based interface to handle MySQL or MariaDB databases easily. In this blog post, we’ll walk you through how to install and configure phpMyAdmin on a Linux server (Ubuntu-based) using Vicservers hosting.

    What is phpMyAdmin?

    phpMyAdmin is an open-source PHP tool designed to handle the administration of MySQL/MariaDB over the web. You can use it to:

    • Create, modify, and delete databases
    • Execute SQL queries
    • Manage users and permissions
    • Import/export databases

    It’s a must-have for developers, WordPress site owners, and web admins.

    Prerequisites

    To follow this guide, you’ll need:

    • A Linux server (Ubuntu 20.04/22.04 preferred)
    • Root or sudo access
    • Apache or NGINX web server installed
    • MySQL or MariaDB installed
    • PHP and required extensions

    Note: VicServers clients with cPanel can install phpMyAdmin through cPanel by default. This guide is for VPS or dedicated server users.

    Step 1: Update Your Server

    Start by updating your package list:

    sudo apt update && sudo apt upgrade -y
    

    This ensures you have the latest security patches and dependencies.

    Step 2: Install Apache, PHP, and MySQL (If Not Already Installed)

    If you’re starting from scratch:

    sudo apt install apache2 php php-mysql mysql-server unzip -y
    

    Ensure Apache and MySQL are running:

    sudo systemctl start apache2
    sudo systemctl start mysql
    

    Enable them on boot:

    sudo systemctl enable apache2
    sudo systemctl enable mysql
    

    Step 3: Install phpMyAdmin

    Install phpMyAdmin using the package manager:

    sudo apt install phpmyadmin -y
    

    During installation:

    • Choose Apache2 as the web server
    • Select Yes to configure a database for phpMyAdmin
    • Set a password for the phpmyadmin user

    If you don’t see the selection prompt, run:

    sudo dpkg-reconfigure phpmyadmin
    

    Step 4: Enable the phpMyAdmin Configuration

    phpMyAdmin creates a configuration file at /etc/phpmyadmin/apache.conf. You need to include it in your Apache configuration.

    Run:

    sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
    sudo a2enconf phpmyadmin
    sudo systemctl reload apache2
    

    If using NGINX, you’ll need to manually configure it.

    Step 5: Secure phpMyAdmin (Recommended)

    1. Change the URL (Optional but Safer)

    Attackers often target /phpmyadmin. To change it:

    sudo mv /usr/share/phpmyadmin /usr/share/myadmin
    

    Edit Apache conf:

    sudo nano /etc/apache2/conf-available/phpmyadmin.conf
    

    Update the Alias line:

    Alias /myadmin /usr/share/myadmin
    

    Then reload:

    sudo systemctl reload apache2
    

    2. Set Up Apache Authentication

    Create a password file:

    sudo htpasswd -c /etc/phpmyadmin/.htpasswd your_username
    

    Add this to the phpMyAdmin config:

    <Directory /usr/share/phpmyadmin>
        AuthType Basic
        AuthName "Restricted Access"
        AuthUserFile /etc/phpmyadmin/.htpasswd
        Require valid-user
    </Directory>
    

    Then restart Apache:

    sudo systemctl restart apache2
    

    Step 6: Test phpMyAdmin

    Open your browser and go to:

    http://your-server-ip/phpmyadmin
    

    Or, if you renamed it:

    http://your-server-ip/myadmin
    

    You should see the login page. Use your MySQL root user or any MySQL database user.

    Troubleshooting Common Issues

    Issue Solution
    403 Forbidden Check Apache config file and directory permissions
    Not found Ensure Apache conf is enabled and Alias path is correct
    Can’t log in Verify database user credentials and privileges
    PHP errors Make sure php-mbstring, php-zip, and other PHP extensions are installed

    Install missing PHP extensions:

    sudo apt install php-mbstring php-zip php-gd php-json php-curl -y
    sudo systemctl restart apache2
    

    Optional: Remove phpMyAdmin (If Needed)

    To remove:

    sudo apt purge phpmyadmin -y
    sudo rm -rf /usr/share/phpmyadmin
    

     Conclusion

    phpMyAdmin makes it incredibly easy to manage databases on your server without needing to master complex MySQL commands. With VicServers, you get full control over your environment — whether you’re running a WordPress blog, an eCommerce store, or custom apps.

    If you’re not comfortable setting it up yourself, VicServers’ support team is always here to help. Just submit a ticket or chat with us live.


    📞 Need Help?

    🖥️ Visit VicServers.com
    📧 Email: [email protected]

    Vicservers — Trusted Hosting Solutions for Developers, Startups, and Businesses in Nigeria and beyond.

     

  • Using FileZilla to Transfer Files to Your Hosting Server

    Using FileZilla to Transfer Files to Your Hosting Server

    Using FileZilla to Transfer Files to Your Hosting Server

    Whether you’re launching a new website, updating your current one, or moving files between systems, a reliable method for file transfer is essential. One of the most popular tools for this is FileZilla, a free, open-source FTP (File Transfer Protocol) client. In this guide, we’ll walk you through how to use FileZilla to transfer files to your hosting server with Vicservers.

    What You’ll Need

    Before you begin, make sure you have:

    • A hosting account with Vicservers
    • Your FTP credentials (you can find them in your Vicservers cPanel)
    • FileZilla installed on your computer (available for Windows, macOS, and Linux)
    • Your website files ready for upload

    Step 1: Download and Install FileZilla

    1. Visit filezilla-project.org
    2. Download FileZilla Client (not the Server version).
    3. Install it following the setup instructions for your operating system.

    Step 2: Get Your FTP Credentials from Vicservers

    Login to your cPanel on Vicservers and find the FTP section.

    You’ll need the following information:

    • Host/Server: Usually ftp.yourdomain.com or your server IP
    • Username: Your FTP account name
    • Password: The one you set or generated
    • Port: Usually 21 for FTP, or 22 for SFTP (recommended for secure transfer)

    If you haven’t created an FTP account yet:

    1. Go to FTP Accounts in cPanel.
    2. Click Add FTP Account.
    3. Set the username, domain, password, and directory access.
    4. Click Create FTP Account.

    Step 3: Connect to Your Server via FileZilla

    1. Open FileZilla.
    2. Go to the top bar and enter:
      • Host: ftp.yourdomain.com
      • Username: your FTP username
      • Password: your password
      • Port: 21 (or 22 for SFTP)
    3. Click Quickconnect.

    Tip: If you want to save your login details, use the Site Manager (File > Site Manager > New Site).

    Step 4: Understanding the FileZilla Interface

    Once connected, you’ll see two main panels:

    • Left Side (Local Site): Files on your computer
    • Right Side (Remote Site): Files on your hosting server

    Browse both sides to find the source (your local files) and the destination (e.g. public_html on your server).

     Step 5: Upload Files to Your Hosting Server

    1. Navigate to your website folder on the left panel.
    2. On the right panel, go to public_html (this is your web root directory).
    3. Select all files you want to upload (usually index.html, wp-content, etc.)
    4. Drag and drop them from the left panel to the right.

    ✅ That’s it — FileZilla will begin transferring the files.

    You can view the progress at the bottom of FileZilla:

    • Queued files waiting to upload
    • Failed transfers (retry them)
    • Successful transfers

    Step 6: Download Files from Server (Optional)

    Need to back up or download files?

    • Navigate to the directory on the right side (server).
    • Drag files to the desired location on the left side (your computer).

    This is especially useful for:

    • Backing up your WordPress site
    • Editing files locally
    • Transferring content to another host

    Step 7: File Management Tips

    • public_html is the folder where all public web content should go.
    • Upload index.html or index.php to show a homepage.
    • Avoid deleting unknown files from the right panel unless you know their function.
    • Use the refresh button if you don’t see recent changes.

    Common Issues & Fixes

    Problem Solution
    Can’t connect Check FTP credentials and firewall settings
    Timeout errors Use Passive Mode in Site Manager > Transfer Settings
    Permission denied Ensure you have write access to the destination directory
    Upload failed Retry or check if the file already exists and is locked

    Bonus: Use SFTP for Secure Transfers

    SFTP (Secure File Transfer Protocol) encrypts your connection, making it safer than plain FTP.

    To use SFTP:

    1. Use Port 22
    2. Select SFTP – SSH File Transfer Protocol in FileZilla Site Manager

    Vicservers supports SFTP on most hosting plans. Contact support if you’re unsure.

    Why FileZilla Is Great for Vicservers Clients

    • Easy to use, even for beginners
    • Works perfectly with Vicservers FTP settings
    • Great for manual uploads, backups, and editing
    • Supports both FTP and secure SFTP connections
    • Works on Windows, Mac, and Linux

    When Should You Use FileZilla?

    • When uploading large amounts of files
    • When installing WordPress manually
    • When troubleshooting your website
    • For migrating sites between servers
    • To manage website backups

    ✅ Final Checklist

    Before disconnecting:

    • ✔️ Verify that your site loads properly via your domain
    • ✔️ Double-check file paths (e.g. /public_html/index.html)
    • ✔️ Remove sensitive files (like .sql backups) after you’re done
    • ✔️ Log out or disconnect FileZilla when finished

    Need Help? Vicservers Has Your Back

    Our support team is available 24/7 to assist with FTP setup, file transfers, and technical troubleshooting.

    📧 Email: [email protected]
    🌐 Visit: www.vicservers.com

    Vicservers – Fast, secure, and beginner-friendly hosting solutions for Nigeria’s growing digital economy.

  • How to Deploy a WordPress Site from Localhost to Server

    How to Deploy a WordPress Site from Localhost to Server

    How to Deploy a WordPress Site from Localhost to Server

    Creating your WordPress website on a local machine (localhost) is a smart and safe way to design, develop, and test before it goes live. But once everything looks good, the next big step is deployment — moving your WordPress site from localhost to a live server so the world can access it.

    In this guide, we’ll walk you through how to deploy a WordPress site from your local development environment (like XAMPP, WAMP, or LocalWP) to a live server using Vicservers’ hosting services.

     What You’ll Need:

    • A working WordPress site on localhost
    • A domain name (e.g. yoursite.com)
    • A hosting plan (Vicservers offers reliable and affordable plans)
    • Access to cPanel or FTP
    • A database management tool (phpMyAdmin is common)

    Step 1: Export the WordPress Files from Localhost

    The first step is to collect all your website files from the local environment.

    ✅ If you’re using XAMPP/WAMP:

    1. Navigate to the htdocs folder:
      • Windows: C:\xampp\htdocs\yourprojectfolder
    2. Zip the entire WordPress folder.
    3. This zip file includes:
      • All themes and plugins
      • The wp-content folder
      • WordPress core files

    Step 2: Export the Database

    Your website’s content, settings, and configurations are stored in the database.

    To export your local database:

    1. Open http://localhost/phpmyadmin
    2. Select your WordPress database.
    3. Click Export > choose Quick and format SQL.
    4. Click Go to download the .sql file.

    Step 3: Upload WordPress Files to the Server

    Now, let’s move your zipped WordPress site to the live hosting environment.

    Option 1: Upload via cPanel File Manager

    1. Login to your VicServers cPanel
    2. Go to File Manager > public_html (or a subdirectory)
    3. Click Upload, and upload the zipped site folder
    4. Once uploaded, Extract it within public_html
    5. Ensure all extracted files (like wp-config.php, wp-content) are directly under public_html

    Option 2: Upload via FTP (FileZilla)

    1. Connect to your server using FTP credentials
    2. Navigate to /public_html/
    3. Upload all files from your local WordPress directory

    Step 4: Create a New Database on Your Server

    1. In cPanel, go to MySQL® Databases
    2. Create a new database (e.g. wp_live_db)
    3. Create a new MySQL user and assign it to the database
    4. Note the:
      • Database name
      • Database user
      • Password

    Step 5: Import the Local Database to the Server

    1. Go to phpMyAdmin in cPanel
    2. Select the new database you created
    3. Click Import
    4. Upload the .sql file you exported earlier from localhost
    5. Click Go

    If the import is successful, your database structure and content are now on the live server.

    Step 6: Update wp-config.php File

    Edit the wp-config.php file on your server to connect WordPress to the new database.

    define('DB_NAME', 'your_new_db_name');
    define('DB_USER', 'your_db_user');
    define('DB_PASSWORD', 'your_password');
    define('DB_HOST', 'localhost');
    

    Save and close the file.

    Step 7: Fix URLs in the Database

    Your local site might have used http://localhost/sitename, but your live site will use something like https://yourdomain.com. You need to update all the URLs in the database.

    Option 1: Use a Plugin (easiest)

    • Install Better Search Replace or WP Migrate Lite
    • Search for: http://localhost/sitename
    • Replace with: https://yourdomain.com
    • Run the replacement on the entire database (make a backup first!)

    Option 2: Use SQL Query (advanced)

    In phpMyAdmin, run:

    UPDATE wp_options SET option_value = replace(option_value, 'http://localhost/sitename', 'https://yourdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
    UPDATE wp_posts SET guid = replace(guid, 'http://localhost/sitename','https://yourdomain.com');
    UPDATE wp_posts SET post_content = replace(post_content, 'http://localhost/sitename', 'https://yourdomain.com');
    UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://localhost/sitename','https://yourdomain.com');
    

    Step 8: Clean Up & Test

    What to check:

    • Homepage loads correctly
    • All menus, images, and links work
    • Contact forms, logins, and plugins are functional
    • Make sure permalinks work. If not:
      1. Login to WordPress Admin
      2. Go to Settings > Permalinks
      3. Click Save Changes to flush rewrite rules

    Step 9: Secure Your Site

    Now that your site is live, security becomes crucial.

    At Vicservers, you already get:

    • Free SSL certificates
    • Malware scans
    • DDoS protection
    • Regular backups

    You should also:

    • Use strong admin passwords
    • Install security plugins like Wordfence
    • Enable 2FA for admin accounts
    • Keep themes/plugins updated

    Optional: Set Up Email, Cron Jobs, and More

    • Create custom email addresses (e.g. [email protected]) via cPanel
    • Use cron jobs for scheduled tasks like backups
    • Set up caching or install a CDN for performance

    ✅ Recap: Localhost to Live in 9 Steps

    Step Description
    1 Export site files
    2 Export local database
    3 Upload files to server
    4 Create new database
    5 Import the SQL file
    6 Edit wp-config.php
    7 Replace URLs
    8 Test everything
    9 Secure the live site

    Final Thoughts

    Deploying a WordPress site from localhost to server may seem intimidating at first, but with the right steps, it’s straightforward and rewarding. Vicservers provides all the tools and support you need — from cPanel to 24/7 technical assistance — so you can launch with confidence.

    Need Hosting for Your WordPress Site?

    ✅ SSD-Powered Hosting
    ✅ Free SSL & Domain (on selected plans)
    ✅ One-Click WordPress Install
    ✅ Daily Backups
    ✅ Support from real people — not bots

    👉 Get Started at Vicservers

    Your step-by-step guide to taking your WordPress website live with Vicservers