Apache · December 17, 2023

Apache for Newbie: Set up Apache with mod_md

Apache for Newbie: Set up Apache with mod_md

Apache is one of the most popular web servers in the world, known for its flexibility, reliability, and security. If you are new to Apache and want to set it up with mod_md, this article will guide you through the process.

What is Apache?

Apache is an open-source web server software that powers millions of websites worldwide. It is known for its stability, security, and ability to handle high traffic loads. Apache supports various operating systems, including Linux, Windows, and macOS.

What is mod_md?

Mod_md is an Apache module that provides automated certificate management using the ACME protocol. It allows you to obtain and renew SSL/TLS certificates from Let's Encrypt, a free and open certificate authority.

Setting up Apache with mod_md

Before setting up Apache with mod_md, make sure you have a VPS hosting account with root access. Here are the steps to follow:

Step 1: Install Apache

First, you need to install Apache on your VPS. The exact steps may vary depending on your operating system. For example, on Ubuntu, you can use the following command:

sudo apt-get update
sudo apt-get install apache2

Once Apache is installed, you can start and enable it to run on system boot:

sudo systemctl start apache2
sudo systemctl enable apache2

Step 2: Install mod_md

Next, you need to install the mod_md module for Apache. This module is not included in the default Apache installation, so you will need to download and install it manually.

Download the mod_md module from the official Apache website:

wget https://downloads.apache.org/httpd/mod_md/mod_md-latest.tar.gz
tar -xzf mod_md-latest.tar.gz
cd mod_md-*

Compile and install the module:

./configure --with-apxs=/usr/bin/apxs
make
sudo make install

Step 3: Configure mod_md

Once the module is installed, you need to configure it. Create a new Apache configuration file for mod_md:

sudo nano /etc/apache2/mods-available/md.conf

Add the following lines to the file:

MDomain example.com
MDCertificateAgreement accepted

Replace "example.com" with your domain name. The "MDCertificateAgreement" line specifies that you accept the Let's Encrypt terms of service.

Save the file and exit the text editor.

Step 4: Enable mod_md

Enable the mod_md module and restart Apache:

sudo a2enmod md
sudo systemctl restart apache2

Step 5: Obtain SSL/TLS Certificates

Now that mod_md is enabled, it will automatically obtain SSL/TLS certificates from Let's Encrypt for your domain. You don't need to manually request or renew certificates.

Verify that the certificates are obtained successfully:

sudo md-status

You should see the status of your domain and the expiration date of the certificates.

Summary

Setting up Apache with mod_md allows you to automate the process of obtaining and renewing SSL/TLS certificates from Let's Encrypt. By following the steps outlined in this article, you can easily configure Apache with mod_md on your VPS hosting account.

If you are looking for reliable and secure VPS hosting solutions, consider Server.HK. With our top-notch VPS hosting services, you can ensure the smooth operation of your website.