Step-by-Step Guide: Installing WordPress on Amazon Linux 2023

You are currently viewing Step-by-Step Guide: Installing WordPress on Amazon Linux 2023

WordPress is one of the most popular content management systems (CMS) used for creating and managing websites. Amazon Linux, the Linux-based operating system offered by Amazon Web Services (AWS), provides a robust and scalable environment for hosting WordPress sites. In this blog post, we will walk you through the process of installing WordPress on Amazon Linux in 2023, ensuring you have a solid foundation to build and manage your website.

Let’s get started!

Step 1: Set Up an Amazon Linux Instance:

  1. Log in to your AWS account and navigate to the EC2 Dashboard.
  2. Launch a new EC2 instance by selecting the Amazon Linux 2023 AMI (Amazon Machine Image).
  3. Choose the desired instance type, and configure storage, and security group settings.
  4. Review and launch the instance. Make sure to download the private key (.pem) file to access your instance securely.

Step 2: Connect to Your Amazon Linux Instance:

  1. Open a terminal or command prompt and navigate to the directory where you saved the private key file.
  2. Set the appropriate permissions for the key file using the command

Connect to your instance using SSH

ssh -i your-key-file.pem ec2-user@your-instance-public-ip

Step 3: Install Required Software:

Update the package manager

sudo dnf update -y

Install Nginx web server, MySQL, and PHP (LAMP stack):

sudo dnf install nginx php-fpm php-mysqlnd php-gd php-xml php-mbstring  -y

Re-start the Nginx web server and PHP FPM

sudo systemctl restart nginx
sudo systemctl restart php-fpm

Enable the Nginx and PHP-FPM

sudo systemctl enable nginx 
sudo systemctl enable php-fpm

Install MySQL server

sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
sudo dnf install mysql80-community-release-el9-1.noarch.rpm -y
sudo dnf install mysql-community-server -y
sudo systemctl start mysqld

Enable the skip grant check by editing my.cnf file

sudo vi /etc/my.cnf

Add a line to mysqld block.*

skip-grant-tables

After that create a new MySQL Database by running the command

sudo mysql 
create schema wp;

Create an Nginx server block

sudo vi /etc/nginx/conf.d/topwptips.conf
server {
    listen 80;
    server_name d1.topwptips.com;

    root /var/www/wordpress;

    index index.php;

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

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Restart the nginx server

sudo systemctl restart nginx 

Now point your domain / sub-domain to the server and start the WordPress installation.

Step 6: Complete the Installation:

Download the WordPress

sudo wget https://wordpress.org/latest.zip
unzip latest.zip 
chown -R apache /var/www/wordpress

Open a web browser and navigate to your instance’s public IP address or domain name.

Follow the WordPress installation wizard, providing the necessary information such as site title, username, and password.

Once the installation is complete, you can log in to the WordPress admin dashboard and start customizing your site.

Conclusion

Installing WordPress on Amazon Linux in 2023 is a straightforward process that requires setting up an Amazon Linux instance, configuring the LAMP stack, and downloading/configuring WordPress. By following the step-by-step instructions outlined in this guide, you can quickly establish a WordPress-powered website on the Amazon Linux platform, allowing you to leverage the scalability and reliability of AWS for your online presence. Enjoy building and managing your website with WordPress on Amazon Linux!

Related articles

Install Nginx in Amazon Linux 2023

Install MySQL in Amazon Linux 2023

Atiqur Rahman

I am MD. Atiqur Rahman graduated from BUET and is an AWS-certified solutions architect. I have successfully achieved 6 certifications from AWS including Cloud Practitioner, Solutions Architect, SysOps Administrator, and Developer Associate. I have more than 8 years of working experience as a DevOps engineer designing complex SAAS applications.

This Post Has 2 Comments

  1. Bert Olsson

    After you add skip-grant-tables to my.cnf?
    You need to restart mysqld, I believe…

Leave a Reply