Tag: Shared Hosting

  • 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

  • Best Practices for Hardening a Linux Server

    Best Practices for Hardening a Linux Server

    Best Practices for Hardening a Linux Server

    When it comes to server security, prevention is always better than cure. Whether you’re hosting a personal blog, a client website, or a critical business application, protecting your Linux server from unauthorized access and potential exploits is essential. Hardening your server is the process of reducing its attack surface to minimize vulnerabilities — and it’s a must for any responsible administrator.

    In this blog post, we’ll walk through practical, tested Linux server hardening best practices to help you lock down your environment and stay ahead of cyber threats.

    Why Linux Server Security Matters

    Linux is widely known for its stability and security, but no system is secure by default. Out-of-the-box Linux configurations often leave ports open, use weak settings, or allow unnecessary services. This can open the door to:

    • Unauthorized access
    • Privilege escalation
    • Data breaches
    • Ransomware or malware infections
    • DDoS attacks

    With Vicservers, you get secure-by-default hosting infrastructure, but as a server owner or administrator, hardening your Linux system is your responsibility.

    1. Keep Your System Updated

    Always start with the basics:

    sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
    sudo yum update -y                     # CentOS/RHEL
    

    Enable automatic security updates:

    sudo apt install unattended-upgrades
    

    🔁 Regular patching prevents known exploits from being used against your server.

    2. Disable the Root Login

    Root login is a major target for brute-force attacks. Disable it and create a limited user with sudo privileges instead:

    sudo adduser yourusername
    sudo usermod -aG sudo yourusername
    

    Edit SSH config:

    sudo nano /etc/ssh/sshd_config
    

    Find and change:

    PermitRootLogin no
    

    Then restart SSH:

    sudo systemctl restart ssh
    

    3. Use SSH Key Authentication

    Password authentication is weaker than key-based login. Here’s how to set up SSH keys:

    On your local machine:

    ssh-keygen -t rsa -b 4096
    ssh-copy-id yourusername@yourserver_ip
    

    On the server, disable password logins:

    sudo nano /etc/ssh/sshd_config
    
    PasswordAuthentication no
    

    Restart SSH.

    4. Set Up a Firewall (UFW)

    The Uncomplicated Firewall (UFW) is easy to use and powerful:

    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow OpenSSH
    sudo ufw enable
    

    Add more services as needed:

    sudo ufw allow http
    sudo ufw allow https
    

    ✅ Only open ports you absolutely need.

    5. Remove Unused Services and Packages

    Every installed package is a potential risk. Identify and remove what you don’t use:

    sudo netstat -tulpn  # Check listening ports
    sudo systemctl list-units --type=service
    

    Remove unnecessary services:

    sudo apt purge apache2
    sudo apt autoremove
    

    6. Install and Configure Fail2Ban

    Fail2Ban helps prevent brute-force attacks by blocking suspicious IPs:

    sudo apt install fail2ban
    

    Create a custom jail config:

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    

    Then edit /etc/fail2ban/jail.local and configure:

    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 5
    

    Restart the service:

    sudo systemctl restart fail2ban
    

    7. Disable Unused Network Protocols

    Turn off IPv6 if you don’t use it:

    sudo nano /etc/sysctl.conf
    

    Add:

    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    

    Then apply:

    sudo sysctl -p
    

     8. Configure AppArmor or SELinux

    Both are mandatory access control systems that prevent unauthorized access to files and processes.

    • AppArmor is easier and used in Ubuntu.
    • SELinux is more complex but powerful (used in CentOS/RHEL).

    Install AppArmor:

    sudo apt install apparmor apparmor-profiles
    sudo systemctl enable apparmor
    

    9. Limit User Privileges

    Never give full root access unless absolutely necessary. Use sudo and create roles using /etc/sudoers.

    sudo visudo
    

    Add rules like:

    webadmin ALL=(ALL) /usr/bin/systemctl restart apache2
    

    10. Automate Backups

    Security also means recoverability. Automate your backups using:

    rsync -av --delete /var/www/ user@backupserver:/backups/site/
    

    Or use VicServers’ off-site backup services for peace of mind.

    11. Monitor Logs and Access

    Set up logwatch or logrotate to keep an eye on logs:

    sudo apt install logwatch
    sudo logwatch --detail High --mailto [email protected] --service sshd --range today
    

    Check login attempts:

    sudo cat /var/log/auth.log | grep "Failed password"
    

    12. Use Strong Password Policies

    Install libpam-pwquality for enforcing password strength:

    sudo apt install libpam-pwquality
    

    Edit /etc/pam.d/common-password:

    password requisite pam_pwquality.so retry=3 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1
    

    13. Enable Port Knocking (Optional)

    This adds an extra layer by hiding the SSH port. It only opens when a specific “knock” sequence is sent.

    Install knockd:

    sudo apt install knockd
    

    Configure port sequences like:

    [options]
        UseSyslog
    
    [openSSH]
        sequence = 7000,8000,9000
        seq_timeout = 15
        command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
    

    14. Use Monitoring Tools

    Use htop, top, or glances to monitor server performance.

    Install Glances:

    sudo apt install glances
    

    Also, tools like Netdata or Zabbix offer web dashboards for proactive monitoring.

    ✅ Quick Checklist for Hardening a Linux Server

    Task Status
    Keep system up to date
    Disable root login
    Set up SSH keys
    Configure UFW firewall
    Remove unused services
    Install Fail2Ban
    Disable IPv6
    Use AppArmor or SELinux
    Enforce password policies
    Set up backups
    Monitor logs
    Use secure DNS (optional)

    Final Thoughts

    Server hardening isn’t a one-time task. It’s an ongoing commitment to security, performance, and reliability. By following these best practices, you significantly reduce your risk exposure and ensure your systems are ready for real-world threats.

    At VicServers, we prioritize security at every layer — from hardened infrastructure to 24/7 monitoring and support. Whether you’re managing a VPS, Dedicated Server, or Shared Hosting plan, our platform gives you the tools and guidance to succeed.

    Ready to Take Your Hosting Further?

    ✅ Secure Linux VPS hosting
    ✅ Automated backups
    ✅ 24/7 support
    ✅ DDoS protection and firewalls

    👉 Get Started at Vicservers

    Have questions or need help hardening your server? Reach out to our support team anytime.

    Published by VicServers – Empowering Secure Hosting Across Africa

  • How to Speed Up Your Website Using GZIP and Caching

    How to Speed Up Your Website Using GZIP and Caching

    How to Speed Up Your Website Using GZIP and Caching

    Website speed isn’t just a matter of convenience anymore — it’s a ranking factor, a conversion booster, and a customer expectation. A slow-loading site can kill your traffic, hurt your SEO, and cost you money. That’s why enabling GZIP compression and caching are two of the smartest (and easiest) ways to speed up your website today.

    In this post, we’ll walk you through how to use GZIP and caching effectively to boost your site’s performance, improve user experience, and reduce bandwidth usage — all in line with Vicservers’ commitment to lightning-fast, secure hosting.

     Why Speed Matters

    Before diving into GZIP and caching, here’s why website speed is critical:

    • 📉 53% of users abandon a site that takes more than 3 seconds to load (Google)
    • 📈 Faster sites rank higher on Google
    • 💸 Slow websites lose sales and credibility

    With these stakes in mind, let’s jump into two powerful speed-boosting tools: GZIP compression and browser/server caching.


    What Is GZIP Compression?

    GZIP is a file format and a software application used for file compression and decompression. When GZIP is enabled on your server, it compresses your web files (like HTML, CSS, JavaScript) before sending them to users’ browsers.

    ✅ Benefits of GZIP:

    • Shrinks file sizes by up to 70%
    • Reduces page load times
    • Saves bandwidth
    • Improves SEO scores

    How GZIP Works

    Imagine you’re sending a long document to a friend. You wouldn’t send 50 pages individually — you’d zip it and send one compressed file. GZIP works the same way: your server compresses files before transmission, and the browser decompresses them on arrival.

    How to Enable GZIP on Your Server

    If You’re Using Apache:

    1. Open your .htaccess file (in your website root folder)
    2. Add the following:
    <IfModule mod_deflate.c>
      AddOutputFilterByType DEFLATE text/plain
      AddOutputFilterByType DEFLATE text/html
      AddOutputFilterByType DEFLATE text/xml
      AddOutputFilterByType DEFLATE text/css
      AddOutputFilterByType DEFLATE application/javascript
      AddOutputFilterByType DEFLATE application/json
    </IfModule>
    

    ✅ Make sure mod_deflate is enabled in Apache.


    If You’re Using NGINX:

    Open your NGINX config (usually in /etc/nginx/nginx.conf) and add:

    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
    gzip_min_length 256;
    gzip_vary on;
    

    Don’t forget to restart your server after changes:

    sudo systemctl restart nginx
    

    If You’re on VicServers (with cPanel):

    1. Log in to cPanel
    2. Go to Optimize Website
    3. Select “Compress All Content”
    4. Click Update Settings

    That’s it! VicServers makes it beginner-friendly.


    ✅ Test If GZIP Is Working

    Use tools like:

    • https://www.giftofspeed.com/gzip-test/
    • Chrome DevTools → Network tab → Check content encoding

    If you see content-encoding: gzip, it’s working!

    What Is Caching?

    Caching stores copies of files so future requests load faster. Think of it as your browser or server “remembering” what’s been seen before so it doesn’t reload everything from scratch.

    🔄 Types of Caching:

    1. Browser Caching – Stores files in the user’s browser
    2. Server-Side Caching – Stores pages on the server for quicker rendering
    3. CDN Caching – Stores files on edge servers closer to users

    How to Enable Browser Caching (Apache)

    Add this to your .htaccess file:

    <IfModule mod_expires.c>
      ExpiresActive On
      ExpiresByType image/jpg "access plus 1 year"
      ExpiresByType text/css "access plus 1 week"
      ExpiresByType application/javascript "access plus 1 month"
      ExpiresDefault "access plus 2 days"
    </IfModule>
    

    This tells browsers how long they should keep a file cached before rechecking with the server.

    How to Enable Caching in NGINX

    In your nginx.conf:

    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 7d;
        add_header Cache-Control "public";
    }
    

    Don’t forget to reload NGINX:

    sudo systemctl reload nginx
    

    🔌 WordPress Users: Use Plugins

    If you’re on WordPress, you can use caching plugins like:

    • W3 Total Cache
    • WP Super Cache
    • LiteSpeed Cache (Recommended on VicServers)

    These plugins offer one-click caching, GZIP, minification, and CDN support.

     How to Check If Caching Works

    Use:

    • GTmetrix.com
    • Google PageSpeed Insights
    • Browser DevTools → “Network” tab → Look for cache-control headers

    How Caching and GZIP Work Together

    • GZIP reduces file size for each download
    • Caching reduces the number of downloads

    Together, they create a faster, leaner web experience.

    Other Speed Optimization Tips

    • Use a Content Delivery Network (CDN) like Cloudflare
    • Compress images using tools like TinyPNG
    • Limit heavy JavaScript usage
    • Enable lazy loading for images
    • Regularly update your CMS/plugins/themes

    Why Vicservers Is Built for Speed

    When you host with Vicservers, you’re not just getting space — you’re getting performance infrastructure built to scale. Our hosting plans include:

    • SSD storage
    • GZIP-ready configurations
    • Server-side caching support
    • LiteSpeed for high-speed performance
    • One-click WordPress optimization

    We give you the tools. You make the impact.

    Need Help?

    If you’re not sure how to enable GZIP or caching, don’t worry — Vicservers support is always here to assist.

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

    Final Thoughts

    Speed isn’t optional — it’s essential. GZIP compression and caching are two of the most effective ways to optimize your website’s load time and keep your visitors happy. Whether you run a blog, an e-commerce store, or a corporate site, the faster your pages load, the better your results.

    Ready to boost your website’s speed and SEO? Host with Vicservers and experience the difference.

    Published by VicServers – Powering Nigeria’s Digital Future

  • WordPress Security 101: Plugins and Server Settings

    WordPress Security 101: Plugins and Server Settings

    WordPress Security 101: Plugins and Server Settings

    WordPress powers over 40% of websites globally — and that popularity makes it a prime target for cyberattacks. Whether you’re managing a blog, an e-commerce store, or a corporate website, WordPress security should be one of your top priorities.

    In this beginner-friendly guide, we at Vicservers will walk you through the essentials of securing your WordPress site using plugins and proper server configurations.

    Why WordPress Security Matters

    • 43% of cyberattacks target small businesses
    • Over 90,000 attacks happen on WordPress sites every minute
    • A hacked site can cost you time, money, traffic, and reputation

    Fortunately, you don’t need to be a cybersecurity expert to protect your site. All it takes is smart plugin choices and secure server settings.

    Essential WordPress Security Plugins

    1. Wordfence Security

    Features:

    • Web application firewall (WAF)
    • Real-time traffic monitoring
    • Malware scanning and repair

    Why we recommend it:
    Wordfence offers one of the best free versions for site protection, plus detailed reports.

    2. iThemes Security

    Features:

    • Brute-force protection
    • 404 detection
    • File change monitoring

    Why we recommend it:
    It’s great for beginners and includes over 30 security tweaks right out of the box.

    3. Sucuri Security

    Features:

    • Malware detection
    • Website firewall (premium)
    • Security activity auditing

    Why we recommend it:
    Sucuri also offers free malware cleanup with their premium plan — a lifesaver after an attack.

    4. WP Login Lockdown

    Features:

    • Restricts login attempts from the same IP
    • Stops brute-force attacks
    • Customizable lockout times

    Why we recommend it:
    Simple and lightweight — great for protecting your WordPress login page.

    5. UpdraftPlus (for Backup)

    Features:

    • Scheduled backups to Google Drive, Dropbox, etc.
    • Restore directly from WordPress
    • Supports file/database backup

    Why we recommend it:
    In case of an attack, backups will save your life. UpdraftPlus is the most reliable free backup plugin.

    Secure Server Settings (The Vicservers Way)

    As important as plugins are, server security is your first line of defense. Here’s how to lock down your hosting environment — especially if you’re on a VPS or dedicated server.

    1. Use a Secure Hosting Provider

    Choose a host like Vicservers that provides:

    • Free SSL
    • Firewall & malware scanning
    • Regular software patching
    • Isolated server environments

    2. Keep PHP and MySQL Up-to-Date

    Older versions are full of vulnerabilities. Always upgrade to the latest stable versions of:

    • PHP (e.g., 8.1 or above)
    • MySQL / MariaDB

    On Vicservers, we handle these updates for you.

    3. Disable Directory Listing

    Add this to your .htaccess file to prevent visitors from seeing the contents of folders:

    Options -Indexes
    

    4. Limit File Permissions

    Set the correct file and folder permissions:

    Files:   644  
    Folders: 755
    wp-config.php: 400 or 440
    

    This ensures hackers can’t modify key files.

    5. Move wp-config.php and .htaccess

    Move sensitive config files one directory above the web root when possible. This adds a layer of protection from browser-based access.

    6. Use SSH/SFTP Instead of FTP

    Disable traditional FTP and always use SFTP or SSH for secure file transfers.

    7. Install a Web Application Firewall (WAF)

    Use a server-level WAF like:

    • CSF Firewall
    • Fail2Ban (blocks brute-force IPs)
    • ModSecurity (built into many cPanels)

    We include these on all Vicservers managed VPS.

    Additional Tips for Locking Down WordPress

    • Use strong passwords & 2FA (Two-Factor Authentication)
    • Change the default login URL from /wp-login.php to something unique
    • Limit user roles and audit accounts regularly
    • Delete unused plugins and themes
    • Install a CAPTCHA on login and comment forms

    Automate, Monitor, and Recover

    Automate:

    • Daily backups with UpdraftPlus
    • Plugin/theme updates with tools like ManageWP or via cPanel

    Monitor:

    • Use Wordfence Live Traffic and Sucuri logs
    • Set up email alerts for suspicious logins

    Recover:

    • Keep regular off-site backups
    • Have a security action plan if you’re compromised

    Pro Tips from Vicservers Experts

    • Use Cloudflare for an additional security layer & DDoS protection
    • Don’t install plugins from untrusted sources
    • Consider a staging environment for safe testing
    • Use cPanel’s IP blocker to blacklist frequent offenders

    Final Thoughts

    WordPress is powerful — but with power comes responsibility. Fortunately, keeping your site safe doesn’t require a cybersecurity degree. A combination of smart plugin choices, proper server configurations, and a reliable host like Vicservers gives your site a strong security foundation.

    Need Help Securing Your WordPress Site?

    Our team at Vicservers offers:

    ✅ WordPress hardening
    ✅ VPS firewall setup
    ✅ Free SSL installation
    ✅ Daily malware scans
    ✅ Full website recovery

     Let’s Secure Your WordPress Site Today

    🌐 www.vicservers.com
    📧 [email protected]

    By Vicservers | Web Hosting Experts in Nigeria