How to Install WordPress on Ubuntu 24.04 LTS with Nginx and PHP-FPM

WordPress Logo

In this detailed guide, learn how to install WordPress on Ubuntu 24.04 LTS with the Nginx web server and PHP-FPM processor. Follow these steps to get your WordPress site up and running!


🔹 Step 1: Update and Upgrade Your Ubuntu System

Always keep your server updated with the latest packages and security patches:

sudo apt update
sudo apt upgrade -y

🔹 Step 2: Install Nginx Web Server 🌐

Nginx serves your WordPress site to visitors. Install it and enable it to start at boot:

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

🔹 Step 3: Install PHP-FPM and Essential PHP Extensions 🐘

WordPress is built with PHP, so install PHP-FPM and required extensions:

sudo apt install php-fpm php-mysql php-curl php-xml php-gd php-mbstring php-zip php-bcmath -y

✅ PHP-FPM will process PHP requests efficiently alongside Nginx.


🔹 Step 4: Install MariaDB Server 🗄️

MariaDB is the database engine for storing WordPress data. Install it:

sudo apt install mariadb-server mariadb-client -y

Then, secure your MariaDB installation:

sudo mysql_secure_installation

🔹 Step 5: Create a WordPress Database and User 📂

Create a dedicated database and user for WordPress:

sudo mysql -u root -p
CREATE DATABASE wordpress;
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

✅ Replace your_strong_password with a secure password.


🔹 Step 6: Download and Set Up WordPress 📝

Navigate to your web root directory and download WordPress:

cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz

Extract and move the files:

sudo tar -xvzf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz

Set the correct permissions for the WordPress files:

sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/

✅ This ensures Nginx can access WordPress files.


🔹 Step 7: Configure wp-config.php ⚙️

Copy the sample configuration file and edit it:

cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

Set the database configuration:

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpressuser' );
define( 'DB_PASSWORD', 'your_strong_password' );
define( 'DB_HOST', 'localhost' );

🔐 Adding WordPress Security Salts

Visit this WordPress Salt Generator and replace the salts in wp-config.php with the generated lines:

define('AUTH_KEY', 'your unique phrase');
define('SECURE_AUTH_KEY', 'your unique phrase');
define('LOGGED_IN_KEY', 'your unique phrase');
define('NONCE_KEY', 'your unique phrase');
define('AUTH_SALT', 'your unique phrase');
define('SECURE_AUTH_SALT', 'your unique phrase');
define('LOGGED_IN_SALT', 'your unique phrase');
define('NONCE_SALT', 'your unique phrase');

✅ These salts help protect your site from security threats.


🔹 Step 8: Configure Nginx for WordPress 🛡️

Create a new Nginx configuration file for WordPress:

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

Add the following configuration:

server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Enable the site configuration:

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

✅ Replace yourdomain.com with your actual domain name.


🔹 Step 9: Complete WordPress Setup in Browser 🌍

Open your browser and visit:

http://yourdomain.com

Complete the WordPress setup by filling in your site title, admin username, password, and email, then click Install WordPress.


🎉 Success! WordPress Installed on Ubuntu 24.04! 🎉

You now have a fully functional WordPress site running on Ubuntu 24.04 with Nginx and PHP-FPM. 🎉

➡️ Next Steps: Secure your site with SSL, install themes and plugins, and start publishing your content!

Leave a Reply