Install on a VPS (Ubuntu + Nginx)
These commands are for Ubuntu 24.04 on a fresh server, run as a user with sudo. Replace
yourdomain.com everywhere. Plan about 30 minutes.
1. Install the software
Section titled “1. Install the software”sudo apt update && sudo apt -y upgradesudo apt -y install software-properties-common unzip curl nginx mysql-server supervisorsudo add-apt-repository -y ppa:ondrej/phpsudo apt updatesudo apt -y install php8.4-fpm php8.4-cli php8.4-mysql php8.4-mbstring php8.4-xml php8.4-curl \ php8.4-zip php8.4-bcmath php8.4-gd php8.4-intlphp -v # must show 8.4.27 or newer2. Create the database
Section titled “2. Create the database”sudo mysqlCREATE DATABASE rapidmart CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'rapidmart'@'localhost' IDENTIFIED BY 'choose-a-strong-password';GRANT ALL PRIVILEGES ON rapidmart.* TO 'rapidmart'@'localhost';FLUSH PRIVILEGES;EXIT;3. Upload the files
Section titled “3. Upload the files”From your computer (replace the paths):
scp rapidmart-v1.0.0.zip you@your-server:/tmp/On the server:
cd /tmp && unzip rapidmart-v1.0.0.zipsudo mv rapidmart-v1.0.0/backend /var/www/rapidmartsudo chown -R www-data:www-data /var/www/rapidmartsudo chmod -R 775 /var/www/rapidmart/storage /var/www/rapidmart/bootstrap/cache4. Configure Nginx
Section titled “4. Configure Nginx”server { listen 80; server_name yourdomain.com; root /var/www/rapidmart/public; index index.php; client_max_body_size 25M;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.4-fpm.sock; }
location ~ /\.(?!well-known) { deny all; }}sudo ln -s /etc/nginx/sites-available/rapidmart /etc/nginx/sites-enabled/sudo rm -f /etc/nginx/sites-enabled/defaultsudo nginx -t && sudo systemctl reload nginx5. Turn on HTTPS
Section titled “5. Turn on HTTPS”Point your domain’s DNS A record at the server first, then:
sudo apt -y install certbot python3-certbot-nginxsudo certbot --nginx -d yourdomain.comCertbot renews the certificate automatically.
6. Run the installer
Section titled “6. Run the installer”Open https://yourdomain.com and follow Run the web installer.
7. Background workers
Section titled “7. Background workers”-
Scheduler —
sudo crontab -u www-data -eand add:Terminal window * * * * * cd /var/www/rapidmart && php artisan schedule:run >> /dev/null 2>&1 -
Queue worker — create the Supervisor program:
/etc/supervisor/conf.d/rapidmart-worker.conf [program:rapidmart-worker]command=php /var/www/rapidmart/artisan queue:work --queue=realtime,default --tries=3autostart=trueautorestart=trueuser=www-datanumprocs=1stopwaitsecs=60stdout_logfile=/var/log/rapidmart-worker.logTerminal window sudo supervisorctl reread && sudo supervisorctl update -
Realtime (optional) — see Server setup → Realtime.