Mets Minor League Blog

Music theory, instruments and musicians

Mets Minor League Blog

Music theory, instruments and musicians

How to Install osCommerce with Nginx on Ubuntu 24.04

How to Install osCommerce with Nginx on Ubuntu 24.04

Setting up osCommerce with Nginx on Ubuntu 24.04 allows you to host a robust, customizable online store using a lightweight web server and a reliable e-commerce platform. This guide walks you through the necessary steps to install and configure both Nginx and osCommerce, ensuring your online shop runs smoothly and securely. Before starting, ensure you have a fresh Ubuntu 24.04 server with root or sudo privileges, a domain name pointed to your server’s IP, and basic familiarity with Linux command line operations. Having a valid SSL certificate (via Let’s Encrypt, for example) is highly recommended for secure transactions.

What You’ll Need

  • Ubuntu 24.04 server (fresh installation recommended)
  • Root or sudo user privileges
  • Domain name pointed to your server’s IP address
  • Basic knowledge of Linux command line
  • SSL certificate (optional but recommended)
  • Access to a terminal or SSH client

Step-by-Step

  1. Update Your System
    Start by updating your package list and upgrading existing packages to ensure compatibility:

    sudo apt update && sudo apt upgrade -y
  2. Install Nginx
    Install the Nginx web server, which will serve your osCommerce site:

    sudo apt install nginx -y

    Once installed, enable and start Nginx:

    sudo systemctl enable nginx
    sudo systemctl start nginx
  3. Install PHP and Extensions
    osCommerce requires PHP and certain modules. Install PHP 8.2 (or latest available) along with necessary extensions:

    sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip php8.2-gd -y

    After installation, verify PHP-FPM is running:

    sudo systemctl enable php8.2-fpm
    sudo systemctl start php8.2-fpm
  4. Configure PHP Processor for Nginx
    Edit PHP-FPM configuration to ensure Nginx can process PHP files:

    sudo nano /etc/php/8.2/fpm/pool.d/www.conf

    Ensure the following lines are set:

    listen = /run/php/php8.2-fpm.sock
    

    Save and restart PHP-FPM:

    sudo systemctl restart php8.2-fpm
  5. Create a Web Directory and Download osCommerce
    Create a directory for your website and download osCommerce:

    sudo mkdir -p /var/www/oscstore
    cd /var/www/oscstore
    sudo wget https://github.com/osCommerce/osCommerce2/archive/refs/heads/master.zip
    sudo apt install unzip -y
    sudo unzip master.zip
    sudo mv osCommerce2-master/* ./

    Set proper permissions:

    sudo chown -R www-data:www-data /var/www/oscstore
    sudo chmod -R 755 /var/www/oscstore
  6. Configure Nginx Server Block
    Create a new server block configuration:

    sudo nano /etc/nginx/sites-available/oscstore

    Add the following configuration, replacing with your domain:

    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
    
        root /var/www/oscstore;
        index index.php index.html index.htm;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        }
    
        location ~ \.ht {
            deny all;
        }
    }
    

    Enable the site and test Nginx configuration:

    sudo ln -s /etc/nginx/sites-available/oscstore /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx
  7. Configure Database for osCommerce
    Install MySQL server:

    sudo apt install mysql-server -y

    Secure MySQL installation:

    sudo mysql_secure_installation

    Log in to MySQL and create a database and user:

    sudo mysql -u root -p
    CREATE DATABASE osc_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'osc_user'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON osc_db.* TO 'osc_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
  8. Configure osCommerce
    Open your browser and navigate to http://yourdomain.com. Follow the on-screen instructions to complete the installation, providing database details and admin credentials. Ensure permissions are correctly set for config files as instructed during setup.
  9. Secure Your Installation
    To enable HTTPS, install Certbot and obtain a free SSL certificate:

    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

    Follow prompts to complete SSL setup. Remember to redirect HTTP to HTTPS for security.

Common Mistakes

  • Not updating system packages before starting installation, leading to compatibility issues.
  • Incorrect permissions on files or folders, causing access errors.
  • Forgetting to restart PHP-FPM or Nginx after configuration changes.
  • Using wrong database credentials during osCommerce setup, resulting in connection errors.
  • Not securing the site with SSL, leaving transactions vulnerable.

Tips

  • Always keep your server updated to patch security vulnerabilities.
  • Use strong, unique passwords for database and admin accounts.
  • Regularly back up your database and website files.
  • Configure automatic renewal for SSL certificates with Certbot.
  • Consider setting up a firewall (e.g., UFW) to restrict access.

Troubleshooting

If your site isn’t loading properly or you encounter errors:

  • Check Nginx status: Run sudo systemctl status nginx to ensure it’s active.
  • Verify PHP-FPM is running: Use sudo systemctl status php8.2-fpm.
  • Review error logs: Check /var/log/nginx/error.log and /var/log/php8.2-fpm.log.
  • Ensure permissions are correct: Files should be owned by www-data with 755 permissions.
  • Test database connection: Confirm credentials and database exist.
  • Clear your browser cache or try a different browser.

If issues persist, revisit each step to verify configurations or seek help from community forums.

Frequently Asked Questions

Can I install osCommerce on an existing Nginx server?
Yes, as long as your server meets the requirements and you configure a separate site or subdomain.
Is SSL necessary for osCommerce?
While not mandatory, SSL encrypts transactions and protects customer data, highly recommended for e-commerce sites.
How do I upgrade osCommerce later?
Backup your files and database, then follow the upgrade instructions from osCommerce documentation to update safely.
What should I do if I get a 403 Forbidden error?
Check file permissions, ownership, and Nginx configuration to ensure the server can access the files.
Can I run multiple osCommerce stores on the same server?
Yes, by creating separate directories and server blocks for each store, each with its own database.

This comprehensive guide provides all the necessary steps and tips to successfully install osCommerce with Nginx on Ubuntu 24.04, enabling you to launch and manage your online store effectively. Always ensure security best practices are followed for a safe and reliable e-commerce platform.

Related

How to Install osCommerce with Nginx on Ubuntu 24.04
Scroll to top