Install by importing SQL (no terminal)
Some hosting plans give you no terminal and no SSH. You can still install POSMaster. Instead of running the installer, you import a ready-made database with phpMyAdmin and upload the app with your file manager or FTP.
The download package has two SQL files in its top-level database folder:
| File | What you get |
|---|---|
database/schema.sql |
A clean shop. All tables, roles and permissions, languages, units, tax rates, one branch called "Main Store", and one Super Admin. Demo mode is off. |
database/seed.sql |
The demo shop: 3 branches, 81 products, customers and 90 days of sales, with the demo accounts. Demo mode is on. |
Use schema.sql for a real shop and seed.sql for a demo or a trial.
Note: Import only one of the two files, into an empty database. Do not import both into the same database.
Step 1: Upload the app
Upload the laravel-project folder to your host and point your domain to its public folder. The steps for a cPanel host are in Install on web hosting, sections 1 to 3. Come back here when the files are uploaded.
Step 2: Create the database
- In your hosting control panel (for example cPanel MySQL Databases), create a database and a database user. Give the user all privileges on the database.
- Open phpMyAdmin and select the new database.
- Check the collation. It should be
utf8mb4_unicode_ci. If you create the database in phpMyAdmin, choose that collation in the New form.
Step 3: Import the SQL file
- In phpMyAdmin, with the database selected, click the Import tab.
- Click Choose file and select
database/schema.sql(clean shop) ordatabase/seed.sql(demo shop). - Leave the format as SQL and the character set as utf8mb4.
- Click Import (or Go).
- Wait for the green message "Import has been successfully finished".
Tip:
seed.sqlis much bigger thanschema.sql. If phpMyAdmin says the file is too large or the import times out, ask your host to raise the upload limit, or split the import with a tool such as BigDump. Or ask the host's support to import the file for you. A cleanschema.sqlis small and normally imports without problems.
Step 4: Create the .env file
In the app folder, copy .env.example to .env (File Manager: right-click, Copy, then rename the copy). Edit it and set at least:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://shop.example.com
APP_KEY=base64:PASTE-YOUR-KEY-HERE
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=cpuser_posmaster
DB_USERNAME=cpuser_pos
DB_PASSWORD=your-database-password
APP_URLmust be the exact address of your site, includinghttps://.- Use the database name, user and password from step 2.
- Leave
DB_HOSTaslocalhostunless your host tells you otherwise.
About APP_KEY
APP_KEY is a secret key the app uses to protect sessions and cookies. On a normal install the installer creates it. When you install by SQL, you must create it yourself, because the installer does not run.
The key must be a random value that starts with base64:, followed by 44 letters, numbers and symbols that end with =. Never copy a key from a guide or a forum. Always make your own.
To make your own key, use any one of these:
- A PHP terminal on any computer. If you have PHP on your own PC (for example XAMPP), run:
php -r "echo 'base64:'.base64_encode(random_bytes(32));"
Copy the whole result, including base64:, into .env.
- Ask your host. Many hosts can run one command for you or give you a terminal for a minute. Ask them to run the command above, or
php artisan key:generate --showinside your app folder.
Warning: Do not leave
APP_KEYempty. The site shows "No application encryption key has been specified". Do not use a simple word as the key. Keep the key private, and keep a copy of it with your backups. If you change it later, everybody is signed out.
Step 5: Make the folders writable
storage and bootstrap/cache must be writable. In File Manager, set them to 755 (use 775 if you still see errors), including their sub-folders. More details are in Install on web hosting.
Step 6: Show pictures (the storage link)
Uploaded pictures such as your logo and product photos are stored in storage/app/public. The browser reaches them through a link called public/storage. The installer normally creates this link. With an SQL install nobody has run the installer, so you need to create it.
Ways to create it without running Laravel commands:
- cPanel File Manager. Some hosts allow it. Create a symbolic link named
storageinside the public folder that points tostorage/app/publicin the app folder. - Ask your host's support. This is a quick request: "Please create a symbolic link named
storageinpublic_htmlpointing to/home/USER/posmaster/storage/app/public." - Use SSH once, if your host offers it, and run
php artisan storage:link.
Note: Without the link, POSMaster still works. Only uploaded pictures (logo, product images) do not show.
If you imported seed.sql (the demo shop), also upload the demo product pictures from the package folder storage/app/public/demo to the same place on your server: storage/app/public/demo. Upload them with FTP or File Manager. Without them, the demo products have no pictures.
Step 7: First sign-in
Open your site address.
If you imported schema.sql (clean shop):
- Sign in with email admin@example.com and password ChangeMe-123.
- A red banner appears at the top of every page: "You are using the default password from the installer. Change it now to keep your shop safe."
- Click Change password in the banner. This opens your profile.
- Enter the current password, type a new strong password twice, and save.
- The banner disappears. Also change the name and email of this account to your own details.
Warning: The default password is public. Anyone who reads this guide knows it. Change it immediately, before you add real data.
If you imported seed.sql (demo shop): sign in with superadmin@posmaster.test and the password password. See the list of demo accounts. Demo mode is on, so passwords cannot be changed and nothing can be deleted. This version is for trials, not for a real shop.
Turn a demo into a real shop
If you imported seed.sql and later want a real shop, the easiest way is to start again with schema.sql:
- In phpMyAdmin, select the database, tick Check all and choose Drop to remove all tables.
- Import
database/schema.sql. - Sign in as admin@example.com and change the password.
Check that it worked
- The sign-in page loads without errors.
- After signing in, the dashboard opens.
- In Settings → Business, set your business name, currency and timezone.
- Continue with First steps after installing.
If you see a blank page or a 500 error, open Troubleshooting.