DigitalOcean Web Server Configuration and Hosting Multiple Websites

How to Create a Subdomain on DigitalOcean

You will learn how how to create or add a subdomain on DigitalOcean servers.



Contents:

Prerequisites

You have read the following tutorial:

Example of the subdomain used in this tutorial: apps.example.com

Step 1: Create an ‘A’ record for the subdomain

  1. Go to your DNS settings page and open the records where you have main domain DNS settings.
  2. Now add an A record with subdomain in Enter Name field (only add subdomain part. For example if you are going to create a subdomain apps.example.com then only enter apps and in the IP address field, enter the droplet IP.

Step 2: Create subdomain directory and index file

Create the subdomain and add the index file:

subdomain_dir=/var/www/apps.example.com
# Create directory
sudo mkdir $subdomain_dir
# Create index.html
sudo touch $subdomain_dir/index.html

Edit the index file content as you want. The content looks like this:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to Example Appstore!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to Example Appstore!</h1>
<p>This site is under active development.</p>

<h2>Related Websites</h2>
<a href = "https://www.datanovia.com">Datanovia</a><br/>
</body>
</html>

Step 3: Create NGINX server block for the subdomain

This enables the subdomain in the NGINX server.

# 1. Copy the default config for the new subdomaine
mysubdomain="apps.example.com"
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/$mysubdomain
sudo ln -s /etc/nginx/sites-available/$mysubdomain /etc/nginx/sites-enabled/$mysubdomain
  
# 2. Open the config file
sudo nano /etc/nginx/sites-available/$mysubdomain
  
# 3. Edit the file
# The content should look something like this
server {
        listen 80;
        listen [::]:80;
        root /var/www/apps;
        index index.html;
        server_name apps.example.com;
}
  
# 4. Restart NGINX
sudo service nginx restart

Step 4: Add SSL certificate for security

# Obtain an SSL Certificate
sudo certbot --nginx -d $mysubdomain

Step 5: Access to the subdomain

Go to: apps.example.com



Version: Français

DigitalOcean: How To Install Nginx and SSL (Prev Lesson)
(Next Lesson) How to Remove a Domain from Certbot and NGINX
Back to DigitalOcean Web Server Configuration and Hosting Multiple Websites

Comments ( 2 )

  • Nuttapong Sarkana

    thank you very much.

    • Kassambara

      You’re welcome!

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments