WordPress, the most popular content management system, is the perfect choice for launching your blog or website. Installing WordPress on an Ubuntu VPS can seem daunting at first, but fear not! In this comprehensive guide, we’ll walk you through the step-by-step process to set up WordPress on your Ubuntu VPS. By the end of this tutorial, you’ll have a fully functional WordPress website up and running, ready to share your programming tutorials and tips with the world.
Prerequisites:
- An Ubuntu VPS with root access (You can use providers like Vultr, DigitalOcean, Linode, or AWS).
- Basic knowledge of the Linux command line.
Step 1: Connect to Your VPS
To get started, establish an SSH connection to your Ubuntu VPS using your preferred SSH client. Replace “your_server_ip” with your VPS’s IP address:
ssh root@your_server_ip
BashStep 2: Update and Upgrade
Before proceeding with the installation, ensure that your VPS is up to date by running the following commands:
sudo apt update
sudo apt upgrade
BashUpdating your system will ensure you have the latest software packages and security updates.
Step 3: Install LAMP Stack
WordPress requires a web server, a database, and PHP to function correctly. Let’s install the LAMP stack (Linux, Apache, MySQL, PHP) using the following command:
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql
BashDuring the installation, you’ll be prompted to set a MySQL root password. Choose a strong and secure password and remember it for future use.
Step 4: Configure MySQL
Next, we’ll secure the MySQL installation by running:
sudo mysql_secure_installation
BashThe script will guide you through several steps to enhance the security of your MySQL installation. You’ll be asked to set a root password, remove anonymous users, disable remote root login, and more.
Step 5: Create a MySQL Database and User
With MySQL configured, we’ll create a new database and user specifically for WordPress. Log in to MySQL as the root user:
sudo mysql -u root -p
BashEnter your MySQL root password, then create a new database and user for WordPress:
CREATE DATABASE wordpress;
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
SQLReplace ‘password’ with a strong password of your choice. These credentials will be used later during the WordPress installation.
Step 6: Download and Configure WordPress
Navigate to the Apache web server root directory:
cd /var/www/html
BashDownload the latest WordPress release:
sudo wget https://wordpress.org/latest.tar.gz
BashExtract the downloaded archive:
sudo tar -xvzf latest.tar.gz
BashThe WordPress files are extracted into a folder called “wordpress.” We’ll move them to the web server’s root directory:
sudo mv wordpress/* .
BashNow, set the proper permissions to ensure that the web server can access the files:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
BashStep 7: Configure Apache for WordPress
To make WordPress work with Apache, we need to create a new Apache configuration file for your WordPress site:
sudo nano /etc/apache2/sites-available/wordpress.conf
BashAdd the following configuration to the file:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html
ServerName your_domain_or_server_ip
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
BashReplace “your_domain_or_server_ip” with your VPS’s domain name or IP address. Save and close the file.
Now, enable the new virtual host and Apache modules:
sudo a2ensite wordpress.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
BashStep 8: Complete WordPress Installation
Open your web browser and navigate to your server’s domain name or IP address. You will see the WordPress setup page. Follow the on-screen instructions to configure WordPress.
Enter the database details you created earlier:
- Database Name: wordpress
- Username: wordpressuser
- Password: (the password you set for the ‘wordpressuser’ in Step 5)
- Database Host: localhost
- Table Prefix: (use the default or customize as you prefer)

Complete the installation process, and you’ll be able to log in to your WordPress dashboard.
Conclusion:
Congratulations! You’ve successfully installed WordPress on your Ubuntu VPS. You now have a powerful content management system at your disposal to create and manage your blog or website. Explore the vast world of WordPress themes and plugins to customize your site and start sharing your knowledge with the world!