How to Install Joomla with OpenLiteSpeed on Ubuntu Linux
- 6 steps
- Needs administrator rights
Joomla with OpenLiteSpeed on Ubuntu Linux runs your website on a fast, lightweight server that handles heavy traffic without slowing your system down. OpenLiteSpeed is a high-speed web server program. It uses fewer computer resources than Apache, so your pages load quickly even on a small server.
This guide was written for Ubuntu 22.04 LTS. You need a server where you can run commands with administrator (sudo) access. Work through the sections in order, because each one depends on the one before it.
Download the Joomla 5.2.3 full package with wget in /tmp, extract it into your OpenLiteSpeed virtual host folder (/usr/local/lsws/Example/joomla), then set the owner to nobody:nogroup and permissions to 755. Create a MariaDB database and user for Joomla before running the install wizard. You need OpenLiteSpeed, PHP and MariaDB installed first, on Ubuntu 22.04 LTS.
How to install OpenLiteSpeed on Ubuntu Linux
Installing OpenLiteSpeed on Ubuntu Linux means adding the official LiteSpeed repository, installing the open-source web server package, and then setting up PHP and MariaDB to run your website. You do all of this in the terminal. The general order is to update your package lists, import the repository key, and then install the packages with the standard package manager commands.
How to Install OpenLiteSpeed on Ubuntu Linux – Website for Students
Once OpenLiteSpeed, PHP and MariaDB are installed, come back here and continue. Keep the OpenLiteSpeed admin login details from that post handy, because you need them later in this guide.
How to download Joomla on Ubuntu Linux for OpenLiteSpeed
To download Joomla, you grab the official installation archive with the wget tool in your terminal and extract the files on the server. The extracted files must end up in the document root folder that your OpenLiteSpeed virtual host uses. If they sit anywhere else, visitors will not reach your new site.
Run the command below to download and extract the archive. Check the file list afterwards to confirm the extraction worked.
cd /tmp wget https://downloads.joomla.org/cms/joomla5/5-2-3/Joomla_5-2-3-Stable-Full_Package.zip
After extracting the Joomla archive, move the Joomla content into the OpenLiteSpeed default VirtualHost directory. Use the commands below. Afterwards, the Joomla files should be listed inside that directory.
sudo unzip -d /usr/local/lsws/Example/joomla /tmp/Joomla_4-0-2-Stable-Full_Package.zipNext, run the commands below to change the ownership and permissions of the Joomla folder so it works with OpenLiteSpeed. The web server must be able to read the files, and it must be able to write to the folders Joomla uses for uploads, cache and configuration. If the permissions are wrong, the install wizard later fails with errors about files that cannot be written.
sudo chown -R nobody:nogroup /usr/local/lsws/Example/joomla/ sudo chmod -R 755 /usr/local/lsws/Example/joomla/
How to create a Joomla database on Ubuntu
Joomla stores all of its site content, user accounts and settings in a database. To set one up, you log in to the MariaDB command-line interface as the root user. Then you create a new database and a dedicated user with a strong password. Finally, you give that user full permissions on the database. Joomla connects with this user instead of root, which is safer.
To create a database for Joomla, log in to MariaDB with the command below. If MariaDB asks for a password, enter the root password you set when you installed it. When you see the MariaDB prompt, you are in.
sudo mysql -u root -p
Then create a database called joomladb. MariaDB should reply that the query was OK.
CREATE DATABASE joomladb;Next, create a database user called joomladbuser and set a password. Pick a long, unique password and write it down. You need the database name, user name and password again in the Joomla install wizard.
CREATE USER 'joomladbuser'@'localhost' IDENTIFIED BY 'new_password_here';
Then grant the user full access to the database. This lets Joomla create its tables and manage its own data.
GRANT ALL ON joomladb.* TO 'joomladbuser'@'localhost' WITH GRANT OPTION;
Finally, save your changes and exit the MariaDB prompt. Without the save step, the new privileges may not be applied.
FLUSH PRIVILEGES; EXIT;
How to configure OpenLiteSpeed to support Joomla
To configure OpenLiteSpeed for Joomla, you log in to the web server’s administration interface. There you point the virtual host’s document root at the Joomla folder, set the index file, and turn on URL rewriting. You reach the admin interface in your web browser on port 7080, using the server’s hostname or IP address.
https://localhost:7080/login.php
Log in with the admin login details from the OpenLiteSpeed installation post linked above. After you log in, you should see the OpenLiteSpeed WebAdmin console.

- In the left menu, click Virtual Hosts, then open the virtual host you use for Joomla.
- Click the General tab.
- Find the document root settings and click the edit button next to them.
Then edit the Document Root value so it points to the Joomla folder you created above. Click Save. The new path should now show in the General tab.
$VH_ROOT/joomla/
Stay on the same General tab. Edit the Index Files setting and replace index.html with index.php, as shown below. Joomla is a PHP application, so the server needs to load index.php first. Save the change.
index.php

- Go to Virtual Hosts Rewrite.
- Edit Rewrite Control.
- Choose Yes next to the rewrite option to enable it.
Click Save to keep your change.

Next, stay under Virtual Hosts Rewrite and edit the Rewrite Rules. Copy and paste the lines below into the rules box, then click Save. These rules let Joomla use clean, search-friendly URLs.
RewriteRule /.* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|.(php|html?|feed|pdf|vcf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /.* /joomla/index.php [L]
After you make all the changes above, reload OpenLiteSpeed so it picks them up. Settings saved in the admin console do not take effect until the server reloads.

Finally, open your web browser and go to the server hostname or IP address. This uses the normal web address, not port 7080.
http://localhost
The Joomla setup wizard should appear. Follow it to complete the setup. If you see a blank page, an error, or the OpenLiteSpeed default page instead, recheck the document root, the index file and the folder permissions from the earlier steps.
On the first screen, select the installation language and enter the Site Name. Then enter the Super User account details: email address, username and password. This is the administrator account for your site, so use a strong password.
Click Next to continue.

On the next screen, enter the database information you created above: the database name, the database user and its password. Use the database server host the wizard suggests unless your database runs on a different machine. Click Next to continue. If the wizard cannot connect, check that the user name and password match what you created in MariaDB.

Next, check that all requirements and PHP packages are listed as installed. If the wizard flags a missing PHP module, install it, reload OpenLiteSpeed, and refresh the page before you continue.
After that, click Install to complete the wizard. The install takes a short while, and then you should see a success screen.

You can now log in to the admin backend and set up your website environment. Use the Super User username and password you created in the wizard.

When you are done, Joomla is installed and ready to use. Log in as the admin and begin configuring your site.

That’s it!
Conclusion:
This guide showed how to install Joomla on Ubuntu Linux with the OpenLiteSpeed web server. You downloaded Joomla, created its database, pointed OpenLiteSpeed at the site folder, enabled rewrite rules, and ran the install wizard. OpenLiteSpeed is a popular web server for running fast websites. You can report errors or share additions using the comment form below this guide.
Have a question about this guide?
Answered by AI from this guide. Good questions may be added to this page — please don't include personal details.
Did this guide fix your problem?
About the Author
Richard
Tech Writer, IT Professional
Richard is a writer at Geek Rewind who turns complex IT tasks into clear, step-by-step guides. He draws on years of hands-on experience in system administration and enterprise IT operations, focusing on Windows, Linux and WordPress: the problems people actually run into, and the fixes that work. His server and WordPress guides come from systems he runs himself. Richard builds and maintains the platform behind Geek Rewind, from its Ubuntu servers and Nginx configuration to its custom WordPress plugins. Many new tutorials start with readers' questions, and he's always glad to answer them in the comments.
No comments yet — be the first to share your thoughts!