Posted in

Apache2 Down , backup site or page for visitors

When Apache2 is down, you can still show a page on your webserver by using a different method. Here are a few approaches you can consider:

1. Use a Backup Web Server

You can set up a backup web server (such as Nginx or a lightweight server like Python's SimpleHTTPServer) that will serve a static page when Apache2 is down.

Example using Nginx:

  1. Install Nginx:


    sudo apt update sudo apt install nginx
  2. Configure Nginx to Serve a Static Page: Edit the Nginx default site configuration file:


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

    Modify the configuration to serve a static HTML page:


    server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html; server_name _; location / { try_files $uri $uri/ =404; } }
  3. Create a Static HTML Page:


    sudo nano /var/www/html/index.html

    Add your HTML content:


    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Maintenance Page</title> </head> <body> <h1>We'll be back soon!</h1> <p>Sorry for the inconvenience, but we're performing some maintenance at the moment. We'll be back online shortly!</p> </body> </html>
  4. Start Nginx:


    sudo systemctl start nginx

    Ensure it starts on boot:


    sudo systemctl enable nginx
  5. Check Nginx Status:


    sudo systemctl status nginx

Now, when Apache2 is down, Nginx will serve the static maintenance page.

2. Use a Load Balancer

Set up a load balancer that can detect when Apache2 is down and automatically switch to a different server or display a static page.

Example using HAProxy:

  1. Install HAProxy:


    sudo apt update sudo apt install haproxy
  2. Configure HAProxy: Edit the HAProxy configuration file:


    sudo nano /etc/haproxy/haproxy.cfg

    Add the following configuration:


    frontend http-in bind *:80 default_backend apache backend apache server apache1 127.0.0.1:8080 check server backup 127.0.0.1:8081 backup backend static-backup server static 127.0.0.1:8081
  3. Configure the Backup Server: Set up a simple web server on port 8081 to serve the static page. You can use Nginx as shown above, or a simple Python HTTP server.

  4. Start HAProxy:


    sudo systemctl start haproxy

    Ensure it starts on boot:


    sudo systemctl enable haproxy
  5. Check HAProxy Status:


    sudo systemctl status haproxy

HAProxy will now direct traffic to your backup server when Apache2 is down.

3. Use a Cloud-based Solution

If you prefer a cloud-based solution, you can use a service like Cloudflare. Cloudflare has a feature called “Always Online” which can serve a cached version of your site when your server is down.

Example using Cloudflare:

  1. Sign up and Configure Cloudflare:

    • Sign up for a Cloudflare account.
    • Add your domain to Cloudflare.
    • Change your domain's nameservers to point to Cloudflare.
  2. Enable Always Online:

    • Go to the Cloudflare dashboard.
    • Navigate to the “Caching” section.
    • Enable the “Always Online” feature.

Cloudflare will now serve a cached version of your site when your Apache2 server is down.

Leave a Reply

Your email address will not be published. Required fields are marked *