Rentiqo Docs
Installation Guide

Get Rentiqo running

A complete walkthrough — from uploading the files to taking your first booking. Most installations finish in under fifteen minutes.

Version 1.0.0 Laravel 12 PHP 8.2+ MySQL 5.7+
Start here

Introduction

Rentiqo is a self-hosted rental business management system. It handles the whole rental cycle — inventory and availability, bookings, check-out and return, deposits, damage, late fees, invoicing and maintenance — for any rentable asset, from cameras and tools to vehicles and event equipment.

It is multi-tenant: one installation serves many rental businesses, each with its own inventory, staff, customers and settings. You operate the platform; they operate their businesses.

This guide covers installation and first-run setup only. For day-to-day use of the admin panel — every screen and what it does — see the User Manual included in the same download.

You do not need to be a developer. The installer is a five-step wizard in your browser. If you can upload files and create a MySQL database in cPanel, you can complete this guide.

Start here

What is in the download

The file you downloaded from CodeCanyon unzips to this:

Download contents
rentiqo/
├── source-code/
│   └── source-code.zip    The application, ready to upload.
├── documentation/         This guide.
├── user-manual/           How to use the admin panel, screen by screen.
├── demo/                  Demo site address and login details.
└── readme.txt             What each folder is, and where to get help.

The only file you upload is source-code.zip, found inside the source-code/ folder. It is already zipped for you — upload it as it is and extract it on the server.

Do not upload the whole download. The documentation, user manual and demo folders are for you, not for your server. Putting them online publishes files that serve no purpose in production.

Start here

Server requirements

Almost every shared host sold in the last few years meets these. The installer checks all of it for you on step 2 and tells you exactly what is missing, so you do not have to verify this list by hand.

Core

RequirementMinimumNotes
PHP8.28.3 recommended
MySQL5.7MariaDB 10.3+ also works
Web serverApache / Nginx / LiteSpeedmod_rewrite enabled on Apache
Disk~250 MBPlus space for uploaded photos

PHP extensions

All fifteen are required. Most are enabled by default:

ExtensionExtensionExtensionExtension
BCMathCtypecURLDOM
FileinfoJSONMbstringOpenSSL
PDOPDO MySQLSessionTokenizer
XMLGDZip

Writable folders

These must be writable by the web server. On cPanel, set permissions to 755; if the installer still reports them as unwritable, use 775.

Must be writable
storage/
storage/framework/
storage/logs/
bootstrap/cache/
public/uploads/
.env

PHP settings. If your host allows changes, these make life easier — particularly if you plan to upload item photographs in bulk.

memory_limit = 256M  ·  max_execution_time = 120  ·  upload_max_filesize = 32M  ·  post_max_size = 32M

Installation — step 1

Upload the files

Open the source-code/ folder from your download. Inside it is a single file — source-code.zip. That one file is the entire application, and it is the only thing that goes onto your server.

1

Choose where it goes

Main domain (example.com) — upload into public_html/.

Subdomain (app.example.com) — create the subdomain first, then upload into the folder it created.

Subfolder (example.com/rentals) — upload into public_html/rentals/.

2

Upload source-code.zip and extract it

In cPanel File Manager, open the folder you chose above, click Upload, and select source-code.zip. When it finishes, select the file and click Extract.

It ships as a zip on purpose. Uploading thousands of loose files over FTP is slow and quietly drops a few along the way — and a single missing vendor/ file produces errors that look nothing like the real cause, which is a miserable way to spend an afternoon.

3

Check the structure, then delete the zip

After extracting you should see app/, public/, vendor/, artisan and the rest sitting directly in your chosen folder — not nested inside another folder.

If everything landed one level too deep, move the contents up. Then delete source-code.zip from the server: it is no longer needed and leaving a copy of your whole application downloadable is not something you want.

Point your domain at public/. Everything above public/ — including .env, which holds your database password — must not be reachable from a browser.

On cPanel, set the domain's Document Root to public_html/public. If your host does not allow that, the included .htaccess in the root will forward requests correctly, but changing the document root is safer and faster.

Installation — step 2

Create a database

Rentiqo needs an empty MySQL database and a user with full access to it. Create both before running the installer.

1

Open MySQL Databases in cPanel

Create a new database — for example rentiqo. cPanel will prefix it with your account name, giving something like myaccount_rentiqo. That full name is what the installer needs.

2

Create a database user

Use a strong password and save it somewhere. You will paste it into the installer in a moment and are unlikely to be shown it again.

3

Add the user to the database

Grant ALL PRIVILEGES. This is the step people forget, and the installer will report it as a connection failure rather than a permissions one, because from the outside those look identical.

Write these four things down: database name, database user, password, and host. The host is almost always localhost — a small number of hosts use a separate database server address instead, which they will have told you.

Installation — step 3

Run the installer

Open your domain in a browser. Rentiqo detects that it has not been installed and takes you to the wizard automatically.

Open in your browser
https://yourdomain.com/install
1

Welcome

Confirms what the wizard is about to do. Click Get Started.

Installer welcome screen
Step 1 — Welcome
2

Server requirements

Every PHP version, extension and folder permission is checked and shown with a tick or a cross. Continue only becomes available when everything passes.

If something fails, fix it and reload this page — you do not need to restart the wizard. Permission failures are the most common; see Troubleshooting.

Installer requirements check
Step 2 — Requirements check
3

Database

Enter the four details from step 2. The installer tests the connection before writing anything, so a mistake here costs you nothing but a retry.

When the connection succeeds it creates all tables and installs the default currencies, languages, email templates and landing page content. On a shared host this takes anywhere from a few seconds to a minute — do not close the tab.

Installer database configuration
Step 3 — Database connection
4

Admin account

Create the account you will use to run the platform. Use a real email address you can receive mail at — password resets go there, and it is the address the system uses when something needs your attention.

Installer admin account creation
Step 4 — Administrator account
5

Finish

Installation is complete. The installer locks itself so it cannot be run a second time, which also means nobody can reach that URL later and reinstall over your data.

Installation complete
Step 5 — Done

You can now sign in at https://yourdomain.com/admin/login with the account you just created.

Do not stop here. The next section is not optional. Without the scheduler, overdue rentals are never flagged, subscription renewals never process, and reminder emails never send — and none of it produces an error, so it can go unnoticed for weeks.

Installation — step 4

Set up the scheduler

Rentiqo runs background work on a schedule: detecting overdue returns, raising preventive maintenance when it falls due, processing subscription renewals, sending reminders and clearing expired invitations. All of it runs from a single cron entry.

Add the cron job

In cPanel, open Cron Jobs, choose Once Per Minute, and paste this command — replacing the path with your own installation path:

Cron command
* * * * * cd /home/username/public_html && php artisan schedule:run >> /dev/null 2>&1

The exact command for your server is shown inside the admin panel, with the correct path already filled in. Copy it from there rather than editing the line above.

Admin Settings Scheduler

Check that it is working

The Scheduler screen shows when the scheduler last ran. Every workspace also shows a small indicator in the bottom status bar:

  • Green dot — ran within the last two hours. Everything is fine.
  • Amber dot — has not run recently, or has never run. Your cron entry is not working.

If it stays amber for more than a few minutes after adding the cron job, use the Run now button on the Scheduler screen to confirm the tasks themselves work, then check the path in your cron command.

Scheduler settings screen
Settings › Scheduler — the exact cron line for your server

Some hosts use a different PHP binary for cron than for the web. If the schedule never runs but Run now works, replace php in the cron line with the full path — commonly /usr/local/bin/php or /opt/alt/php83/usr/bin/php. Your host's support can tell you which.

After installing

First login

Sign in at /admin/login. The order below is the order things actually need doing — email first, because almost everything else depends on it.

Set your site identity

Admin Settings General

Set your site name, logo, favicon, timezone and default currency. The site name appears throughout the application and across the whole landing page — the marketing copy uses a token that renders your name everywhere, so changing it here rebrands the public site in one move.

General settings screen
Settings › General

Set the timezone before taking any bookings. Rental periods, late fees and overdue detection are all calculated against it. Changing it later does not retroactively move bookings that were already recorded.

After installing — do this first

Email delivery

This is the most important thing to configure after installing. Without working email, nobody can register, nobody can reset a password, and no customer receives a booking confirmation or a reminder.

Admin Settings Email delivery

Enter your SMTP details

Use the details from your email provider. A typical configuration:

FieldTypical valueNotes
Mailersmtp
Hostsmtp.yourprovider.comFrom your provider
Port587465 if using SSL
EncryptionTLSSSL for port 465
UsernameYour SMTP usernameOften the full email address
PasswordYour SMTP passwordSee the note below
From addressnoreply@yourdomain.comMust be a domain you own
From nameYour site nameWhat recipients see

Send a test email

The screen has a test button. Use it before moving on — an SMTP setting that is nearly right fails silently, and the first person to discover it is usually a customer who cannot reset their password.

Email delivery settings
Settings › Email delivery

Gmail and Outlook need an app password, not your normal one. Both refuse plain account passwords from third-party applications. Generate an app-specific password in your account's security settings and use that instead.

Use a real mail service for anything serious. Shared hosting mail servers are frequently on spam blocklists, which means your mail is accepted and then silently discarded on the way. A dedicated sender — Amazon SES, Mailgun, Postmark, Brevo — costs little or nothing at low volume and dramatically improves whether your email actually arrives.

Review the email templates

Admin Settings Mail templates

Every message the system sends is editable here — welcome emails, password resets, booking confirmations, invoices, reminders. The defaults are complete and sensible, so you can leave them alone at first. Worth a read when you have time, so you know what your customers receive.

After installing

Payment gateways

Configure at least one gateway so businesses can subscribe to your plans.

Admin Payment setup Payment gateways

Nine gateways are supported. Enable the ones that fit your market and leave the rest switched off:

GatewayGatewayGateway
StripePayPalRazorpay
PaystackFlutterwaveMollie
SSLCommerzUddoktaPayXendit

For each gateway you enable

  • Paste the API keys from your gateway dashboard
  • Start in test / sandbox mode and complete one payment end to end
  • Copy the webhook URL shown on the screen into your gateway's dashboard
  • Switch to live mode only once a test payment has worked
Payment gateway configuration
Payment setup › Payment gateways

The webhook matters more than it looks. The browser returning from a payment page proves nothing — a customer can close the tab, and some gateways confirm slowly. The webhook is how the platform learns a payment truly succeeded. A gateway configured without it will appear to work and will then miss payments that complete a moment later.

After installing

Currencies

Admin Payment setup Currencies

A full list is installed for you. Set the one you sell subscriptions in as the default, and enable any others you need. Each currency carries its own symbol, decimal places and formatting.

Settle on your default currency before you take a single payment. Historic records keep the currency they were created in. Changing the default afterwards leaves you with a database of mixed currencies and totals that no longer mean anything.

After installing

Subscription plans

Admin Money Plans

Plans are what rental businesses subscribe to on your platform. Sample plans are installed so the pricing section of your landing page is not empty — edit them into your own offering rather than starting from nothing.

For each plan you set the price and billing period, a trial length if you want one, and the limits that apply — how many items, units, staff members and locations the plan allows.

Whatever you set here appears on the landing page automatically. The public pricing section reads your real plans, so there is no second place to keep updated when you change a price.

Subscription plans
Money › Plans
After installing

Landing page & SEO

Admin Website Landing page All sections

Your public marketing page ships complete — hero, features, pricing, FAQ, contact form and more. Every section can be edited, reordered, or switched off entirely.

What to change first

  • Contact — replace the placeholder email address and phone number
  • Hero — your own headline and screenshot, if you have one
  • Testimonials — switched off by default; turn it on once you have a real review
  • Footer — your links and copyright line

Messages from the contact form arrive in the admin panel, under Messages, with an unread count on the sidebar. Nothing is emailed unless you have configured email delivery.

SEO

Admin Website Landing page SEO settings

Meta title and description, social sharing image, keywords, and the sitemap. The page title and description follow your site name automatically, so this is mostly about the sharing image and keywords.

Landing page sections
Website › Landing page › All sections
After installing — optional

Languages

Admin Languages

English is installed and active. You can add more languages, translate any text in the application from within the admin panel, and set which language new visitors see by default.

Right-to-left languages such as Arabic, Hebrew, Urdu and Farsi are fully supported — mark the language as RTL and the whole interface mirrors, including the admin panel and the landing page.

Skip this if you only need English. It changes nothing else and can be done at any point later.

After installing

Go-live checklist

Before you send anyone to your site:

  • The scheduler shows a green dot — cron is running
  • A test email arrived successfully
  • At least one payment gateway completed a real end-to-end payment in live mode
  • Gateway webhook URLs are saved in each gateway's own dashboard
  • Default currency and timezone are set and will not change
  • Plans reflect what you actually sell
  • The landing page contact details are yours, not the placeholders
  • HTTPS is active and the site loads over https://
  • Your admin password is strong and stored somewhere safe
  • You have taken one backup and confirmed it downloads

Test the restore, not just the backup. A backup nobody has ever restored is an assumption, not a safety net. Take one now, while there is nothing to lose, and confirm it works.

Reference

Updating

When a new version is released, download the updated package from your CodeCanyon downloads page.

1

Back up first

Both the database and your public/uploads/ folder. Every update, without exception.

2

Replace the application files

Upload the new source-code/ contents over your installation. Keep your existing .env file — it holds your database credentials and application key. Overwriting it disconnects the site from its own data.

3

Run the migrations

Open the update URL in your browser, which applies any database changes the new version needs:

Open in your browser
https://yourdomain.com/install/update
4

Clear the caches

From the admin panel, or over SSH if you have it:

Terminal
php artisan optimize:clear

Read the changelog before updating. If a release notes a breaking change, it will say so and explain what to do. Updating across several versions at once is fine, but read all the entries in between.

Reference

Troubleshooting

The questions that come up most often, and what actually causes them.

The installer says a folder is not writable

Set the folder to 755 in cPanel File Manager, with Recurse into subdirectories ticked. If it still fails, try 775.

Some hosts run PHP as a different user than the one that owns your files, and no permission setting fixes that from your side — your host's support can correct the ownership in seconds.

"500 Server Error" straight after installing

Nearly always one of three things:

  • Wrong document root. The domain must point at public/, not the folder above it.
  • storage/ not writable. Laravel cannot write its own cache and fails before it can tell you why.
  • PHP version too low. Check that the domain itself is on PHP 8.2+, not just the server default — cPanel sets this per domain.

The real error is in storage/logs/laravel.log. The last entry names the actual problem.

Emails are not being delivered

Use the test button on Settings › Email delivery first — it reports the specific failure.

  • Authentication failed — Gmail and Outlook need an app password, not your account password.
  • Connection timed out — your host blocks outbound SMTP. Ask them to open port 587, or use an API-based provider.
  • Sends but never arrives — check spam, then your SPF and DKIM records. Shared hosting mail is frequently blocklisted.
The scheduler indicator stays amber

Press Run now on Settings › Scheduler. If that turns it green, the tasks are fine and only your cron entry is wrong — check the path, and try the full path to the PHP binary instead of bare php.

If Run now also fails, check storage/logs/laravel.log for the underlying error.

A payment succeeded but the subscription is still inactive

The webhook is almost certainly not configured. The platform confirms payments server-to-server, not from the customer's browser, so without the webhook it never learns the payment completed.

Copy the webhook URL from Payment setup › Payment gateways into your gateway's dashboard, then check Money › Payments — the payment will be recorded as pending rather than missing.

Uploaded images do not appear

public/uploads/ must exist and be writable. If it was created after installation, set it to 755 and try again.

If uploads fail only for larger files, raise upload_max_filesize and post_max_size in your PHP settings — they must both be larger than the file.

I forgot my admin password

Use Forgot password on the admin login page — but this needs working email, which is why email delivery is the first thing to configure.

If email is not yet working, you can reset the password directly in the admins table using phpMyAdmin. The password column stores a bcrypt hash, so paste a hash rather than plain text; any bcrypt generator will produce one.

The page looks unstyled or broken

Usually a stale cache after moving domains or changing the URL. Clear the caches from the admin panel, or run php artisan optimize:clear.

If it only happens on some pages, check that APP_URL in .env matches the address you are actually visiting, including https://.

Can I move the installation to another domain?

Yes. Copy the files and the database, update APP_URL and the database details in .env, then clear the caches. Update your gateway webhook URLs to the new address as well — they point at the old domain until you change them.

How do I take a backup?

The admin panel includes backup and restore. You can also do it manually: export the database from phpMyAdmin and download public/uploads/. Both are needed — the database alone does not contain your photographs.

Reference

Changelog

Version 1.0.0

Initial release.

  • Multi-tenant rental management — inventory, availability, bookings, check-out and return
  • Deposits, damage charges, late fees, meter readings and overage
  • Invoicing with PDF output
  • Preventive maintenance and workshop job board
  • Ten reports including asset utilisation, ROI and deposit liability
  • Subscription billing with nine payment gateways
  • Editable landing page with contact form
  • Multi-language and RTL support
  • Backup and restore, activity log, role-based permissions
Reference

Support

If this guide has not solved your problem, get in touch. Support is available to verified buyers.

Please have your Envato purchase code ready. Support is provided to verified buyers only, and we may ask you to supply your purchase code before we can help.

You can find it on your CodeCanyon Downloads page — click the download button beside this item and choose Licence certificate & purchase code.

What to include

Support is far faster when the first message contains enough to diagnose the problem:

  • Your Rentiqo version
  • PHP and MySQL versions
  • Your hosting type — shared, VPS, cPanel, Plesk
  • What you did and what happened instead
  • The last entries from storage/logs/laravel.log
  • A screenshot of the error, if there is one on screen
  • Your Envato purchase code

Support covers the product — bugs, installation problems and questions about how features work. It does not cover server administration, customisation, or third-party integrations, though we will always point you in the right direction where we can.

Thank you for choosing Rentiqo. If it has been useful, a rating on your CodeCanyon downloads page genuinely helps.