Lendra · Quickstart
Lendra Quickstart, as shipped in the download
The QUICKSTART.txt in the download — the same steps your delivery email carries.
LENDRA — QUICKSTART
===================
Equipment & Tool Checkout Register — self-hosted PHP + MySQL/SQLite.
REQUIREMENTS
------------
- PHP 8.0+ with extensions: pdo, pdo_sqlite (or pdo_mysql)
- MySQL 5.7+ OR SQLite 3 (SQLite requires no extra setup)
- A web server (Apache with mod_rewrite, or Nginx with try_files)
SHARED HOSTING / CPANEL (RECOMMENDED FOR MOST BUYERS)
------------------------------------------------------
1. Upload the CONTENTS of the `app/` folder to your web root (e.g. public_html/)
or a subdirectory (e.g. public_html/lendra/).
2. Make sure this directory is writable by PHP:
data/
Via cPanel File Manager: right-click -> Permissions -> 755 or 775.
3. Visit https://yourdomain.com/install/ in your browser.
4. Fill in the installer:
- Database: choose MySQL (host/name/user/pass) or SQLite (no setup)
- Organization name + default loan length (days)
- Timezone (all due dates are shown in this zone)
- Admin name, email, and password
5. The installer writes config.php and sends you to the login page.
6. Sign in, then add assets and borrowers — or click "Load demo data" on the
dashboard to explore with a realistic sample pool first.
VPS / SELF-HOSTED (APACHE)
--------------------------
<VirtualHost *:80>
DocumentRoot /var/www/lendra/app
<Directory /var/www/lendra/app>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Run the web installer as above, or use the CLI seeder:
php bin/demo.php # loads demo data (login: admin@lendra.app / admin123)
NGINX
-----
root /var/www/lendra/app;
location / { try_files $uri /index.php?$args; }
location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
location ~ /(config\.php|data/|src/|bin/|tests/|controllers/) { deny all; }
DOCKER (QUICK TEST)
-------------------
docker run --rm -p 8080:8080 -v "$(pwd)/app:/var/www/html" -w /var/www/html \
php:8.3-cli php -S 0.0.0.0:8080 router.php
Then visit http://localhost:8080/install/
RUN THE TESTS
-------------
php app/tests/run.php
# or:
docker run --rm -v "$PWD/app:/app" -w /app php:8.3-cli php tests/run.php
DAILY USE
---------
* Dashboard — who has what right now; available / out / overdue counts.
* Assets — add/edit assets, toggle maintenance/retired, per-asset history.
* Borrowers — who's holding what, plus each person's full loan history.
* Check out — pick asset + borrower + due date. Due date pre-fills from your
default loan length. An asset can only be checked out when available.
* Check in — record condition on return; the asset goes back on the shelf
(or to maintenance, when it comes back damaged).
* Overdue — every open loan past its due date, with days late + contact.
* Export CSV — all loans / open loans / overdue, ready for a spreadsheet.
POST-INSTALL SECURITY CHECKLIST
--------------------------------
[ ] config.php is protected (the .htaccess does this automatically)
[ ] data/ is not web-accessible (.htaccess blocks it automatically)
[ ] Use HTTPS in production
[ ] Keep PHP updated
Full docs in README.md.
← Back to Lendra · Manual · API · Test run