Skip to main content
Skip table of contents

Apache Configuration Guide

This guide walks you through setting up an Apache web server on Ubuntu 22.04 with:

  • A reverse proxy configuration where your website.com/hash points to hash.yourwebsite.com

  • HTTPS support using Let’s Encrypt via Certbot


Prerequisites

  • A server running Ubuntu 22.04

  • A registered domain name (e.g., yourwebsite.com )

  • DNS A record pointing yourwebsite.com to your server’s IP


Step 1: Install Apache Web Server

CODE
sudo apt update
sudo apt install apache2 -y


Step 2: Enable Required Apache Modules

CODE
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod headers
sudo a2enmod rewrite

Restart Apache to apply changes:

CODE
sudo systemctl restart apache2


Step 3: Configure Apache Virtual Host for site.com

Replace yourwebsite.com below with your actual domain

Create a new site configuration file:

CODE
sudo nano /etc/apache2/sites-available/yourwebsite.com.conf

Paste the following content:

CODE
<VirtualHost *:80>
    ServerName yourwebsite.com

    DocumentRoot /var/www/html
    SSLProxyEngine On
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    ProxyPreserveHost Off
        <Proxy *>
           Require all granted
        </Proxy>
    ProxyPass /hash http://hash.yoursite.com
    ProxyPassReverse /hash http://hash.yoursite.com/

    ErrorLog ${APACHE_LOG_DIR}/yoursite.com_error.log
    CustomLog ${APACHE_LOG_DIR}/yoursite.com_access.log combined
</VirtualHost>

Enable the new site and disable the default:

CODE
sudo a2ensite site.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2


Steps 4, 5, and 6 are only necessary if you do not have a signed certificate for your web server already

Step 4: Install Certbot and Apache Plugin

CODE
sudo apt install certbot python3-certbot-apache -y


Step 5: Obtain SSL Certificate with Certbot

Replace yourwebsite.com below with your actual domain

CODE
sudo certbot --apache -d yourwebsite.com

Certbot will:

  • Automatically configure HTTPS in Apache

  • Enable HTTP to HTTPS redirection

  • Reload Apache automatically


Step 6: (Optional) Test Auto-Renewal

Verify Certbot renewal service:

CODE
sudo systemctl list-timers | grep certbot

Simulate a dry run renewal:

CODE
sudo certbot renew --dry-run


Step 7: Verify Setup

Test the proxy by visiting:

CODE
https://yourwebsite.com/hash

It should forward the request to:

CODE
http://hash.yourwebsite.com/


Conclusion

You now have:

  • Apache running on Ubuntu 22.04

  • HTTPS enabled via Let’s Encrypt

  • A reverse proxy from yourwebsite.com/hash to hash.yourwebsite.com


If you have any questions or feedback, please open a request on our Helpdesk.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.