How To Install WordPress With Nginx On Debian 11 – Holhol24


WordPress is the most well liked web page platform on the net. It is unfastened, open-source, and works neatly with nearly any internet web hosting provider, making it one of the most highest to put in and use.

If you do not need any internet web hosting but, we advise putting in WordPress for your native Debian system or VPS.

Here, we will be able to see learn how to set up WordPress with Nginx on Debian 11.

Install LEMP Stack

Follow the under hyperlinks to put in the LEMP stack for your Debian machine on your WordPress set up.

Install EMP (Nginx, MariaDB, and PHP) on Debian 11

Setup Nginx Virtual Host

We will get started with making a digital host for a WordPress set up. You can in finding all Nginx’s digital host configuration information below /and so forth/nginx/conf.d listing. Typically digital host information include a site title, port quantity, record root, log location, speedy CGI, and so forth.

Assume the next,

Domain title: www.holhol24.web
Port No: 80
Document root: /usr/percentage/nginx/www.holhol24.web/html
Logs: /usr/percentage/nginx/www.holhol24.web/logs

Create a digital host configuration.

sudo nano /and so forth/nginx/conf.d/www.holhol24.web.conf

Then, position the next content material into the above configuration record. You will want to exchange server_name as in keeping with your requirement.

server {
	server_name www.holhol24.web;
	root /usr/percentage/nginx/www.holhol24.web/html;

	index index.php index.html;

	access_log /usr/percentage/nginx/www.holhol24.web/logs/get entry to.log;
	error_log /usr/percentage/nginx/www.holhol24.web/logs/error.log;

	# Prevent get entry to to hidden information
	location ~* /.(?!well known/) {
		deny all;

	# Prevent get entry to to positive record extensions
	location ~.(ini|log|conf)$ {
		deny all;

        # Enable WordPress Permananent Links
	location / {
		try_files $uri $uri/ /index.php?$args;

	location ~ .php$ {
        # NOTE: You must have "cgi.fix_pathinfo = 0;" in php.ini
        come with fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


Create a record root and logs listing.

sudo mkdir -p /usr/percentage/nginx/www.holhol24.web/html/

sudo mkdir -p /usr/percentage/nginx/www.holhol24.web/logs/

Verify the Nginx configuration record with the under command.

sudo nginx -t

If you get the next, it signifies that the digital host configuration is right kind.

nginx: the configuration record /and so forth/nginx/nginx.conf syntax is fine
nginx: configuration record /and so forth/nginx/nginx.conf check is a hit

Restart the Nginx and PHP-FPM products and services.

sudo systemctl reload nginx php7.4-fpm

Create DNS Record

Go for your area registrar and create an A and CNAME (non-compulsory if you don’t want to make use of www subdomain) document on your area. Typically you’ll have to make two data on your WordPress web page.

  1. Non-www Domain Name (Ex. holhol24.web) >> A document level for your server IP
  2. www Domain Name (Ex. www.holhol24.web)  >> CNAME document level to holhol24.web

For this demo, I can create two data in order that my WordPress web page might be obtainable at www.holhol24.web.

DNS Records

Install Let’s Encrypt SSL Certificate

Install Certbot shopper

The Certbot shopper, which is helping us producing and putting in the Let’s Encrypt SSL certificates, is now to be had as a snap package deal for Debian working machine. So, first, set up snapd daemon for your machine.

sudo apt replace

sudo apt set up -y snapd

Then, replace snapd to the newest model.

sudo snap set up core && sudo snap refresh core

Finally, set up the Certbot shopper the usage of the under command.

sudo snap set up --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Install SSL Certificate

Use the under command to generate and set up the Let’s Encrypt SSL certificates for the Nginx internet server.

sudo certbot --nginx

1. Enter e-mail cope with to obtain notification on pressing renewal and safety notices
2. Type Y and press Enter to sign in with the ACME server
3. Type Y or N to obtain emails about EFF information, campaigns, publication.
4. Certbot will robotically locate the WordPress area and ask you permission to turn on HTTPS on your WordPress web page. Type 1 or suitable numbers separated by means of a comma if you have more than one internet sites.

Which names do you want to turn on HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: www.holhol24.web
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the precise numbers separated by means of commas and/or areas, or depart enter
clean to make a choice all choices proven (Enter 'c' to cancel): 1

Wait for the SSL set up to finish. You will now be capable of get entry to the web page with HTTPS.

Note: If you get entry to the web page now, you’re going to get a 403 forbidden error since you are but to position WordPress information.

Auto-Renew SSL Certificate

The Certbot shopper now comprises auto-renewal of SSL certificate throughout the systemd. So, you’re going to now not need to renew the certificate manually.

Install WordPress with Nginx

Create WordPress Database

First, login into MariaDB/MySQL database server.

sudo mysql -u root -p

Then, create the database for WordPress set up together with the database consumer and password.


CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wppassword';

GRANT ALL PRIVILEGES ON wpdatabase.* TO 'wpuser'@'localhost';


Download WordPress

Download the newest model of the WordPress installer by means of the usage of the next command.

curl -O

Then, extract the downloaded record.

tar -zxvf newest.tar.gz

And then, transfer the information for your web page record root listing.

sudo mv wordpress/* /usr/percentage/nginx/www.holhol24.web/html/

Update the possession and a bunch of the WordPress listing.

sudo chown -R www-data:www-data /usr/percentage/nginx/www.holhol24.web/

Install WordPress

Open your browser and seek advice from your WordPress web page area to accomplish the WordPress set up.


1. Choose the Installation Language and click on Continue

2. Click Let’s cross!

3. Enter the WordPress database main points after which click on Submit

4. Click Run the set up

5. Enter the WordPress web page data after which click on Install WordPress

6. Click Log In to get entry to the WordPress admin backend to control WordPress set up. Alternatively, you’ll be able to get entry to the WordPress backend by means of going to https://your-wordpress-website/wp-admin

Access WordPress Website

Now, it is possible for you to to get entry to the web site together with your area title.


WordPress Website
WordPress Website


That’s All. I’m hoping you might have discovered learn how to set up WordPress with Nginx on Debian 11.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More