How to install CubeCart with Nginx on Ubuntu 24.04
You install CubeCart with Nginx on Ubuntu 24.04 by configuring Nginx as the web server and then setting up CubeCart within that environment.
CubeCart is a free, open-source shopping cart software for creating online stores, and Nginx is a high-performance web server known for its speed and efficiency.
This tutorial shows you how to integrate CubeCart with Nginx on the latest Ubuntu 24.04 LTS release to build a robust eCommerce platform.
By following these steps, you will have a secure and fast online store ready to manage your products and sales.
Install Nginx via `sudo apt install nginx`, then MariaDB with `sudo apt install mariadb-server`. Create a CubeCart database using `sudo mariadb` and the provided SQL commands. Finally, install PHP with `sudo apt install php-fpm php-mysql`.
Install Nginx HTTP server on Ubuntu
Nginx is a web server that will handle requests for your CubeCart site, so the first step to install CubeCart with Nginx on Ubuntu 24.04 is to install Nginx itself.
To do that, open the Ubuntu terminal and run the commands below to install the Nginx web server.
sudo apt update
sudo apt install nginx
Once Nginx is installed, the commands below can start, stop, and enable the Nginx web server to start automatically when your server boots up.
sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl enable nginx
You can test the Nginx web server by opening your web browser and browsing to the server’s localhost or IP address.
http://localhost

When you see the Welcome to nginx!, it means the Nginx HTTP server is successfully installed.
Additional help on installing Nginx on Ubuntu is in the link below.
Install the MariaDB database server on Ubuntu
CubeCart needs a database to keep all its information, so you’ll need to install the MariaDB database server on your Ubuntu system next.
To install and use the MariaDB database server, use the instructions below.
Open the Ubuntu terminal and run the commands below to install the MariaDB database server.
sudo apt update sudo apt install mariadb-server
Once the MariaDB database server is installed, use the commands below to stop, start, and enable the MariaDB server to start automatically when the server boots.
sudo systemctl stop mariadb sudo systemctl start mariadb sudo systemctl enable mariadb
Run the following commands to validate and test if the MariaDB database server is installed successfully.
sudo mariadb
Once you run the commands above, it will log you onto the MariaDB console and display a message similar to the one below.
Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 32 Server version: 10.11.2-MariaDB-1 Ubuntu 23.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
The message tells you that the server is installed successfully.
Additional help on installing MariaDB.
- How to install MariaDB on Ubuntu Linux
- MariaDB without password prompt
Create a CubeCart database
Once MariaDB is set up, you need to create a specific database for CubeCart, which means making a new database and a user account for it.
As part of the setup, we will create an abcartdb database and a user account called abcartdbuser.
Finally, we’ll grant the abcartdbuser full access to the abcartdb database.
All the database steps above can be done using the commands below:
But first, log on to the MariaDB database server:
sudo mariadb
Then run the commands below to complete the steps:
CREATE DATABASE cubecartdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER cubecartdbuser@localhost IDENTIFIED BY 'type_your_password_here';
GRANT ALL ON cubecartdb.* TO cubecartdbuser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
Ensure to replace ‘type_your_password_here ‘with your password.
Install PHP on Ubuntu Linux
CubeCart is built with PHP, so to get the application running, you must install PHP and the extensions it needs on your Ubuntu server.
Then, run the commands below to install the latest PHP version.
sudo apt install php-fpm php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-bcmath php-json php-sqlite3 php-soap php-zip
Additional help on installing PHP
Download CubeCart files
It’s time to get the CubeCart software by downloading the latest version and getting the files ready on your Ubuntu server.
To always install the latest version, check the download page for CubeCart. Get the download link and download the archived package to your computer. Then, extract it.
First, navigate to the /tmp/ directory and download the CubeCart files. Next, move the content into the CubeCart folder in the Nginx root directory.
The final step is to change the permissions. This will allow the Nginx web server to interact safely with the files, ensuring a secure environment for your CubeCart installation.
cd /tmp/
wget https://www.cubecart.com/download/CubeCart-6.5.6.zip
sudo unzip CubeCart-*.zip -d /var/www/cubecart
sudo chown -R www-data:www-data /var/www/cubecart
Once you have completed all the above steps, continue configuring the Nginx web server below to serve the CubeCart content.
Run the commands below to create a Nginx virtual host file for CubeCart.
sudo nano /etc/nginx/sites-available/cubecart.conf
Then, copy and paste the content block below into the Nginx server block.
server {
listen 80;
listen [::]:80;
root /var/www/cubecart;
index index.php;
server_name cubecart.example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri @cubecart;
}
location @cubecart {
rewrite ^(.*)$ /index.php?q=$1 last;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}Save the file.
Then, run the commands below to enable the virtual host and restart the Nginx server.
sudo ln -s /etc/nginx/sites-available/cubecart.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
Setup Let’s Encrypt SSL/TLS for CubeCart
To keep your CubeCart site secure, especially when using Nginx on Ubuntu, you should set up a free Let’s Encrypt SSL certificate.
Please read the post below for additional resources on installing and creating Let’s Encrypt SSL certificates for Nginx.
How to set up Let’s Encrypt SSL certificate for Nginx on Ubuntu Linux
Once you have restarted the Nginx web server, open your browser and browse to the server hostname or IP address defined in the Nginx server block.
http://cubecart.example.com
A CubeCart installation wizard page should appear. Select the installation language and continue.

Type in the database details created above and create an admin account.

Your CubeCart site should be ready.

That should do it!
Conclusion:
In conclusion, installing CubeCart with Nginx on Ubuntu 24.04 offers a robust solution for managing your eCommerce needs. Here are the key points to remember:
- CubeCart provides a flexible and feature-rich platform for online stores.
- Nginx is an efficient web server that enhances the performance of your eCommerce site.
- Ubuntu offers a reliable operating system for hosting applications like CubeCart.
- The installation involves setting up essential components: Nginx, MariaDB, and PHP.
- Proper configuration of your Nginx server will ensure a smooth user experience.
- Securing your site with SSL/TLS from Let’s Encrypt adds a layer of trust and security for your customers.
- Constantly update your software to benefit from the latest features and security patches.
Following these guidelines, you can successfully set up and manage your CubeCart site for optimal performance and security.
Does nginx run on Ubuntu?
Nginx is available in Ubuntu's default repositories. Install it using the apt packaging system. First, update the local package index to access the most recent package listings, then install nginx : sudo apt update.
How do I know if nginx is installed on Ubuntu?
You can verify that nginx is running via this command: $ sudo systemctl status nginx ● nginx. service – A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.
Was this guide helpful?
About the Author
Richard
Tech Writer, IT Professional
Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.
No comments yet — be the first to share your thoughts!