GECKO — COMPLETE PHP WEBSITE

index.php is the website home page. This is the working website, not a mock-up.

ON APACHE / LITESPEED SHARED HOSTING
1. Use PHP 8.2 or newer with GD, PDO SQLite and sessions.
2. Upload ALL contents of this folder into your website directory (for example
   public_html/gallery). Include the hidden .htaccess and .user.ini files.
3. Apache mod_rewrite and AllowOverride must be enabled so the included rules
   protect storage and application files. Your host can confirm this.
4. Make storage and its contents writable by the PHP account.
5. Visit https://your-domain.example/gallery/index.php and click Sign in.
6. Read storage/setup.key through your hosting FILE MANAGER (not a web URL).
   Enter that key on the setup page, then choose your email and password.
7. Open Manage collection to rename your gallery, upload pictures, create folders,
   delete folders, generate thumbnails, or select multiple pictures to move or delete.

The setup-key page creates the initial administrator. Public user registration is
not available after that first setup.

NGINX
Nginx ignores .htaccess. Apply deploy/nginx.conf.example (adapt the paths,
   PHP socket, domain and HTTPS) before making the site publicly reachable.

LOCAL PREVIEW
From this folder, run:
php -d upload_max_filesize=20M -d post_max_size=24M -d memory_limit=512M -S 127.0.0.1:8787 -t . router.php
Then open http://127.0.0.1:8787/ in your browser. Use a different port if the
   earlier preview is still running. PHP cannot run by double-clicking index.php.

UPGRADING
Back up first. Keep your existing storage folder instead of replacing it with
   the sample storage supplied here. Account migration happens automatically.

See README.md for further details. No live accounts or setup secrets are included.

Fileinfo is optional as of version 3.1. Uploads still inspect image contents, enforce size/dimension limits, and require successful GD thumbnail decoding before an upload succeeds.
