WordPress remains the world’s most popular content management system, powering millions of websites ranging from personal blogs to large business platforms. If you’re looking to build your own website on a reliable and modern Linux server, Ubuntu 26.04 LTS provides an excellent foundation thanks to its long-term support, stability, and security features.
In this step-by-step guide, you’ll learn how to install WordPress on Ubuntu 26.04 LTS using Apache, MariaDB, and PHP. We’ll cover everything from preparing your server and creating a database to configuring Apache and completing the WordPress setup wizard. Whether you’re a beginner setting up your first website or an experienced system administrator deploying a new project, this tutorial will help you get WordPress up and running quickly and efficiently.
By the end of this guide, you’ll have a fully functional WordPress installation ready for customization, content creation, and production use.
Commands
apt update -y && apt upgrade -y
apt install apache2 -y
systemctl start apache2 && systemctl enable apache2
systemctl status apache2
apt install mariadb-server -y
systemctl start mariadb && systemctl enable mariadb
systemctl status mariadb
apt install php8.5 libapache2-mod-php8.5 php8.5-fpm php8.5-mysql php8.5-xml php8.5-mbstring php8.5-curl -y
php -v
CREATE DATABASE wpdb;
CREATE USER ‘wpuser’@’localhost’ IDENTIFIED BY ‘StrongPasswordHere!!!’;
GRANT ALL ON wpdb.* TO ‘wpuser’@’localhost’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
cd /var/www/html && wget https://wordpress.org/latest.zip
unzip latest.zip -d /var/www/html
rm latest.zip
chown -R www-data:www-data /var/www/html/wordpress/
cd /var/www/html/wordpress/
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
cd /var/www/html/wordpress
mv wp-config-sample.php wp-config.php
touch /etc/apache2/sites-available/wordpress.conf
nano /etc/apache2/sites-available/wordpress.conf
<VirtualHost *:80>
ServerName 167.86.119.178
DocumentRoot /var/www/html/wordpress
<Directory /var/www/html/wordpress>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
a2enmod rewrite
a2ensite wordpress.conf
apachectl -t
systemctl restart apache2
VIDEO:



