Devcity

Island General Store Website

Installation and setup · version 1.0.0

Installing Island General Store Website

This guide assumes no programming knowledge. It uses cPanel, which is what most web hosting comes with. If your hosting looks different, the steps are the same and the names of the buttons change.

You will need:

Set aside about twenty minutes. Nothing here can break your existing website: you are adding a new folder, not changing an existing one.

What you are installing is two things in one. There is a public website that anybody can visit, and there is an admin behind it at /admin where you change every word, picture and colour on that website. Nobody can reach the admin without an account, and there is no public sign up anywhere.


Step 1. Upload the files

  1. Sign in to cPanel and open File Manager.
  2. Go to the folder where your websites live. It is usually called public_html.
  3. Create a new folder for this app. Name it island-general-store-website.
  4. Open that folder, click Upload, and upload the zip file.
  5. When the upload finishes, go back to File Manager, right click the zip and choose Extract.
  6. You should now see folders named app, public, resources and others, plus a file called artisan.

Step 2. Point your address at the public folder

This is the one step people skip, and skipping it puts your settings file on the internet. Do not skip it.

If the site is on its own domain or subdomain (for example www.yourbusiness.com):

  1. In cPanel open Domains (or Subdomains).
  2. Add the domain or subdomain.
  3. Where it asks for the Document Root, type the path ending in /public, for example public_html/island-general-store-website/public.
  4. Save.

If you cannot change the document root, ask your host to do it. The message to send them is:

Please set the document root for <your address> to public_html/island-general-store-website/public.

Step 3. Create the database

  1. In cPanel open MySQL Databases.
  2. Under Create New Database, type a name, for example island-general-store-website. Click Create Database. cPanel will show you the full name, which usually starts with your account name, like myaccount_island-general-store-website. Write it down exactly as shown.
  3. Scroll to MySQL Users, create a new user, and let cPanel generate a strong password. Write the user name and password down.
  4. Scroll to Add User To Database, pick the user and the database you just made, click Add, tick ALL PRIVILEGES, and save.

You now have three things written down: database name, user name, password.

Step 4. Fill in the settings file

  1. In File Manager, open the app folder.

  2. Find the file called .env.example. Right click it and choose Copy. Name the copy .env exactly, with the dot at the front and no .txt on the end. If you cannot see files starting with a dot, click Settings in the top right of File Manager and tick Show Hidden Files.

  3. Right click .env and choose Edit.

  4. Change these lines. Everything else can stay as it is.

    APP_URL=https://www.yourbusiness.com
    
    DB_DATABASE=the database name you wrote down
    DB_USERNAME=the user name you wrote down
    DB_PASSWORD=the password you wrote down
    
    LICENSE_KEY=DC-XXXXX-XXXXX-XXXXX-XXXXX-XXXX
    

    APP_URL must be the address people will type, starting with https:// and with no slash at the end. Your pictures and your stylesheet are linked from it, so getting it wrong shows as a site with no styling at all.

  5. Save and close.

Step 5. Set it up

Everything in this step happens once. There are two ways to do it: pick whichever your hosting offers.

Option A: with Terminal (the quicker way)

If cPanel has a Terminal button:

cd public_html/island-general-store-website
php artisan key:generate
php artisan migrate --force
php artisan storage:link
php artisan db:seed --force

The last line is what fills the website with example content, so you have a finished looking site to edit rather than an empty one. It also creates the account you sign in with. Run it.

Option B: no Terminal

Ask your host to run the four commands above for you, in the app folder. Almost every host will do this on request. The message to send them is:

In public_html/island-general-store-website, please run php artisan key:generate, php artisan migrate --force, php artisan storage:link and php artisan db:seed --force.

Step 6. Sign in and change the password

  1. Open your address in a browser. You should see the website, with the example content on it.
  2. Add /admin to the end of your address to reach the sign in page, for example https://www.yourbusiness.com/admin.
  3. Sign in with:
    • Email: owner@example.com
    • Password: password
  4. Change that password immediately. Click your name in the top right, choose My details, and set a new one. Then change the email address to your own, so a password reset reaches you.

Step 7. Activate your licence

The app checks its licence with Devcity. Until it is activated, every page shows a licence message instead of your website, including the front page.

With Terminal, in the app folder:

php artisan license:activate DC-XXXXX-XXXXX-XXXXX-XXXXX-XXXX

To check it at any time:

php artisan license:check

A few things worth knowing:

Step 8. Make it your business

Sign in, then open Business details in the left menu. This screen is your website: nothing else decides how it looks.

Fill in, in this order:

  1. Who you are. Business name, one line about the business, address, phone, WhatsApp number, email, opening hours. Anything you leave empty simply does not appear, so an empty box is never a problem.
  2. Your pictures. Logo, the small icon for the browser tab, and a main picture for the front page. Without a main picture the site uses the artwork it came with, which is deliberately plain so your own photograph always looks better.
  3. The look of the site. Pick one of the five themes and set your two colours. The screen describes what each theme looks like. Save, then click View the website and look at it. Try all five: it takes a minute and it is the single biggest decision on this page.
  4. Where people find you. Your social pages and, if you want one, the map code your map provider gives you.
  5. Search and enquiries. Where enquiries should be emailed, and the two sentences a search engine shows under your link.

Step 9. Replace the example content

Everything the example site says is yours to change, in this order:

  1. Pages and sections. Open the Home page. It is a list of sections, and each one is a band on the front page. Click one to change its words, use the arrows to move it, and switch off anything you do not want. The same goes for the About us page.
  2. Services. One for each thing you sell or do. Each gets a page of its own.
  3. Work and gallery. Finished jobs, products or photographs.
  4. Testimonials. Only put a quote here if the person actually said it and is happy to be named.
  5. Team members and Questions and answers. Both optional, and both make a small business look like a real one.
  6. News and articles. An article every month or two is what keeps a site showing up in a search.

Delete the example rows you do not want, or edit them into your own. Nothing in the example content is needed by the app.

Step 10. Fill the shop

The shop is the reason you bought this, and it is four screens in the left menu: Shelves, Products, Delivery areas and Delivery times.

Do the shelves first, because a product belongs to one.

  1. Shelves. Open Shelves and make one for each part of your shop, the way a customer would ask for it rather than the way your supplier lists it. Give each a short line underneath saying what is on it. The address of a shelf comes from its name, so name it once and leave it: changing a name later changes the link, and anything already shared stops working.
  2. Products. Open Products and add them one at a time. The price, one or two sentences, and a picture are what sell it. Leave the picture out and the shop draws a plain coloured card from the name, which is tidy but sells nothing.
  3. A reduced price is optional and must be lower than the price. The old price is shown crossed out beside it.
  4. Stock. Switch on Keep count of stock only for things you can actually run out of. With it on, the shop refuses an order for more than you have and says so on the page; with it off it never mentions stock at all. A kitchen cooking to order wants it off; a shop with four of something on a shelf wants it on.
  5. Details. The rows under Details are printed as a small table on the product page. They are for the things a customer checks before ordering: a size, a make and model, a weight, what is in it.
  6. Choices. The rows under Choices let a customer pick, and each one can add to the price or take away from it. Put the choices that go together in the same group, for example a group called Size with Small, Medium and Large. A choice that costs nothing extra is a zero, not an empty box.

Delete the example products before you open the shop to anyone. They are there so the site is not empty while you set it up, and nothing else needs them.

Step 11. Say where you deliver and when

Both screens are optional. A shop with neither still takes orders, and every order is then for collection.

  1. Delivery areas. One row for each place you will go to, with what you charge to go there and the smallest order you will take. Anything you do not list, you do not deliver to, and a customer in that area is told so at the checkout rather than after they have paid.
  2. Delivery times. One row for each slot you can actually deliver in, with how many orders you can manage in it. A full slot stops being offered by itself, which is the point: it is how the shop says no for you at two in the morning. Add the next week or two and keep it topped up.

Step 12. Say how customers pay

There are no card payments in this shop, and that is deliberate: a transfer against a reference is how people pay in this market, and it needs no processor, no account and no percentage.

Open Settings, find How customers pay, and fill in your bank, the account name exactly as the bank has it, and the account number. Add a line underneath saying how you would like the slip sent and how long confirmation takes.

Until this is filled in, every order page and every order email tells the customer to telephone you instead. That is a safe thing for it to say, and a poor way to run a shop.

Step 13. Put one order through before anybody else does

Do the whole thing yourself, as a customer, from your own phone:

  1. Add something to the basket from the shop, including a choice if you have set any up.
  2. Go through the checkout, pick delivery or collection, and place the order.
  3. Check the order page you are sent to. It should show your reference and your bank details.
  4. Check your email. You get one telling you an order arrived, and the customer gets one with the reference and how to pay.
  5. Open Orders in the admin. Your order is waiting for payment, and the count in the menu beside Orders is how you will notice the next one.
  6. Mark it paid, then sent, then completed, and watch what the order page says at each step. That page is the only thing a customer has, because there are no accounts on this shop.
  7. Cancel a test order too, so you have seen that as well.

Twenty minutes here is worth more than any amount of reading. It is also the only way to find out that your email is not sending before a real customer does.

Step 14. Check the enquiry form

  1. Open Contact on your website and send yourself a test message.
  2. It should appear under Enquiries in the admin straight away.
  3. A copy is also emailed to you. If the email does not arrive, fill in the MAIL_ lines in .env with the mail settings your host gave you. The enquiry is saved either way, so a mail problem never loses a customer's message.

Step 15. Your privacy notice and terms

The site ships with a privacy notice and terms of use, written as a starting point for a small business. Read them both and change anything that is not true of your business. They are ordinary pages under Pages and sections.


Optional: background work

Some things happen on a schedule, such as sending queued emails. If you want them, add one scheduled task.

  1. In cPanel open Cron Jobs.

  2. Set it to run once per minute.

  3. Paste this, changing the path to your own:

    cd /home/YOURACCOUNT/public_html/island-general-store-website && php artisan schedule:run >> /dev/null 2>&1
    

The website works perfectly well without this, and enquiry notifications are sent immediately rather than queued, so they do not depend on it.


If something goes wrong

A blank white page. Almost always the document root in Step 2. Check that the address points at the public folder.

The site loads but has no styling, just plain text and links. APP_URL in .env does not match the address you are visiting. Fix it, then ask your host to run php artisan optimize:clear.

"No application encryption key has been specified." Step 5 was not completed. Run php artisan key:generate.

A database error mentioning access denied. The three values in .env do not match Step 3. The database name usually starts with your cPanel account name, and it is easy to leave that off.

Your logo or an uploaded picture shows as a broken image. php artisan storage:link has not been run. It is in Step 5. The pictures that came with the site will still show, because they live inside the public folder.

"This installation does not have a valid licence." Step 7. Run php artisan license:check to see what it says.

A page you added gives a "not found" page. Check that it is switched on under Pages and sections. A page that is not published is invisible to visitors on purpose.

A search engine is not finding the site. Your sitemap is at /sitemap.xml and it builds itself from your published content. Submit that address to Google Search Console. It can take a few weeks.

The password reset email never arrives. Fill in the MAIL_ lines in .env with the mail settings your host gave you. Until then the app can send nothing.

Still stuck. Reply to the email that carried your licence key, and say which step number you are on and what the screen says. That is enough for us to answer in one reply.


Island General Store Website 1.0.0


Getting it set up for you, and getting help

If any of the steps above did not go the way this guide says, or you would rather somebody else did the whole installation, write to us. Installing it for you is a normal thing to ask for and it does not take long.

We also change these products to suit a business: new screens, your own forms and documents, a report you need, a different look, or a connection to something you already use. Tell us what the business actually needs and we will tell you honestly whether this product is the right starting point.

Devcity Registration SP14842022 Lot10128 Hulhumale Maldives

Please have your licence key and the address the product is installed at ready when you write. It saves a round trip.


Island General Store Website

An island shop website built around the cargo boat and what it can land.

Version 1.0.0

Installing

Read INSTALL.md. It is written step by step for cPanel hosting and assumes no programming knowledge. You need PHP 8.2 or newer, MySQL, and the licence key that was emailed to you.

What is in the box

Two things in one: a public website anybody can visit, and an admin behind it where you change every word, picture and colour on that website.

The website

The admin

A few decisions worth knowing about

Looking after it

Support

Reply to the email that carried your licence key. Say what you were doing and what the screen said, and include the step number if you are still installing.

Licence

One licence, one installation. The licence is tied to the web address you activated it on. Moving to a new address is fine: run php artisan license:deactivate on the old one first, then activate on the new one. Reselling, sharing or publishing the source is not permitted.

© 2026

This guide is included in the download as INSTALL.md. It is published here so you can read it before you buy.