Installing WordPress on a LAMP Stack in Ubuntu 24.04

WordPress, the most popular content management system (CMS), offers flexibility and ease of use for website creation and management. Installing WordPress on a Linux, Apache, MySQL, and PHP (LAMP) stack in Ubuntu 24.04 requires a series of steps to ensure a successful setup. This tutorial guides you through installing a LAMP stack, configuring Apache for WordPress, setting up a MySQL database, and finally, installing WordPress itself.

In this tutorial you will learn:

  • How to install a LAMP stack on Ubuntu 24.04
  • How to configure Apache for a new WordPress site
  • How to create a MySQL database for WordPress
  • How to download and configure WordPress
Installing WordPress on a LAMP Stack in Ubuntu 24.04
Installing WordPress on a LAMP Stack in Ubuntu 24.04
Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Ubuntu 24.04 LTS
Software Apache, MySQL, PHP (LAMP stack)
Other Internet connection for downloading packages and WordPress
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

Step-by-Step WordPress Installation on Ubuntu 24.04

  1. Install LAMP Stack: Start by installing the LAMP stack on your Ubuntu 24.04 server. Follow the detailed tutorial available at linuxconfig.org for instructions on how to accomplish this.
  2. Configure Apache for WordPress: To prepare Apache for WordPress, create a new site configuration.
    $ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/wordpress.conf
    $ sudo nano /etc/apache2/sites-available/wordpress.conf

    Modify the DocumentRoot to /var/www/wordpress and set ServerName to your domain or localhost for local setups. Add a directory block to enable .htaccess overrides, then enable the site and disable the default site in Apache. Don’t forget to enable mod_rewrite to support permalink settings in WordPress.

    Configure Apache for WordPress
    Configure Apache for WordPress
    $ sudo a2ensite wordpress.conf
    $ sudo a2dissite 000-default.conf
    $ sudo a2enmod rewrite
    $ sudo systemctl reload apache2
  3. Download and Prepare WordPress: Download the latest version of WordPress and extract it to your web directory. Adjust the ownership to ensure Apache can write to the directory.
    $ wget -O- https://wordpress.org/latest.tar.gz | sudo tar -xz -C /var/www
    $ sudo chown -R www-data:www-data /var/www/wordpress

    Download and Prepare WordPress
    Download and Prepare WordPress
  4. Create a MySQL Database for WordPress: Set up a dedicated MySQL database and user for WordPress.
    $ sudo mysql
    mysql> CREATE DATABASE wordpress;
    mysql> CREATE USER `admin`@`localhost` IDENTIFIED WITH mysql_native_password BY 'yourpass';
    mysql> GRANT ALL ON wordpress.* TO `admin`@`localhost`;
    mysql> FLUSH PRIVILEGES;
    mysql> exit

    In this step, we initiated the MySQL command line as the root user to perform database operations. A new database named ‘wordpress’ was created to store the site’s data. We then created a new user named ‘admin‘ and granted this user full access to the ‘wordpress‘ database, ensuring WordPress can interact with its database securely. Setting the user’s authentication method to ‘mysql_native_password’ and defining a password ‘ yourpass‘ ensures that the connection is secure. The ‘FLUSH PRIVILEGES’ command applies these changes immediately, allowing the new user to access the database as specified. This setup is crucial for WordPress to function correctly, as it needs a database to store all website content, including posts, pages, comments, and settings.



  5. Install WordPress: Navigate to your domain (e.g., http://wp.linuxconfig.org) and follow the WordPress installation wizard. Use the database credentials created in the previous step to set up WordPress.
    WordPress Ready - Front End
    WordPress Ready – Front End

    WordPress Back End
    WordPress Back End

Conclusion

By following these steps, you will have successfully installed WordPress on a LAMP stack in Ubuntu 24.04. This setup provides a robust platform for hosting your WordPress site, offering flexibility, performance, and control over your web environment.

FAQ

1. Can I use a different database name or user instead of ‘wordpress’ and ‘admin’?
Yes, you can use any database name or username you prefer. Just ensure that you replace ‘wordpress’ and ‘admin’ with your chosen names in the commands and when configuring WordPress.
2. What should I do if I forget the MySQL ‘admin’ user password?
If you forget the password for the MySQL ‘admin’ user, you can reset it by logging into MySQL as the root user and running the command to set a new password for the ‘admin’ user.
3. How can I secure my WordPress site?
To secure your WordPress site, use strong passwords, keep WordPress and its plugins up-to-date, install security plugins, and implement SSL encryption. Additionally, regularly backup your site and use secure hosting services.
4. Can I install WordPress on a local machine for testing?
Yes, you can install WordPress on a local machine for testing purposes. You will need to set up a local server environment (like XAMPP, WAMP, or MAMP) that includes Apache, MySQL, and PHP.
5. How do I update WordPress to the latest version?
To update WordPress to the latest version, log in to your WordPress dashboard, and you will typically see a notification at the top of the dashboard if an update is available. Click on the notification and follow the instructions to update WordPress.
6. How can I back up my WordPress site?
To back up your WordPress site, you can use a plugin that automates the process or manually back up by exporting your WordPress database through phpMyAdmin and copying your WordPress files from your server.
7. What if my website experiences a high traffic spike?
If your website experiences a high traffic spike, ensure your hosting service can handle the increase. Consider using a content delivery network (CDN), caching plugins, and optimizing your images and database to improve your site’s performance.