Installing Agency
HOW TO INSTALL AGENCY WEBSITE — YOUR SELF-HOSTED AGENCY SITE
This guide assumes you have NEVER installed a web platform before and have never
used a hosting account. We explain every term, every click, and every screen.
Take it slowly — the whole thing usually takes 15–30 minutes the first time.
By the end you will have a live, professional agency website on your own web
address (for example: https://yourname.com or https://studio.yourname.com), with
a homepage, your services, pricing plans, a gallery, testimonials, a contact form
that emails you new leads, and a built-in admin panel to edit everything — plus
optional Stripe payment links to get paid.
--------------------------------------------------------------------------------
WHAT YOU NEED BEFORE YOU START
--------------------------------------------------------------------------------
1. The Agency Website files — the folder you downloaded (it contains "public",
"app", "storage"). Keep it somewhere you can find it.
2. An Agency license key — it looks like: BND-XXXX-XXXX-XXXX
You received this when you purchased. You'll need it during setup.
(Note: testing on your own computer / localhost needs no key. A key IS
required once the site runs on a real domain.)
3. A hosting account — the "computer in the cloud" that runs your site 24/7.
We recommend SiteGround. Namecheap and GoDaddy also work.
4. A domain name — your web address (yourname.com). A SUBDOMAIN also works
great (e.g. studio.yourname.com) if your main domain is used for something
else.
5. About 15–30 minutes and a cup of coffee. :)
--------------------------------------------------------------------------------
A 30-SECOND PLAIN-ENGLISH GLOSSARY
--------------------------------------------------------------------------------
- HOSTING: a rented computer in the cloud that keeps your site online 24/7.
- DOMAIN: your web address (yourname.com). People type it to reach your site.
- SUBDOMAIN: a "branch" of your domain (studio.yourname.com).
- cPanel / Site Tools: the control panel for your hosting — its dashboard.
- FILE MANAGER: a tool in that panel for uploading files (like Finder/Explorer,
but on your server).
- DOCUMENT ROOT (or "web root"): the exact folder the public sees when they
visit your domain. For Agency Website this MUST point to the "public" folder.
- PHP: the programming language the site runs on. Your host already has it.
- PERMISSIONS / CHMOD: a setting that lets the site write to a couple of folders.
You do NOT need to understand code. You'll mostly upload a folder and click
through a friendly setup wizard.
>>> GOOD NEWS — THIS IS HANDLED FOR YOU <<<
Agency Website ships with a small ".htaccess" file in its main folder that
automatically forwards visitors into the "public" folder. So in most cases you
just upload the files and it works — no host settings to change. PART 2.5
explains it, plus an even cleaner option for advanced users.
================================================
PART 1 — GET HOSTING AND A DOMAIN
================================================
You only need to do ONE of the three options below. SiteGround is the
BookyAI-recommended host because its setup is the simplest and its support is
excellent.
--------------------------------------------------------------------------------
OPTION A — SITEGROUND (RECOMMENDED)
--------------------------------------------------------------------------------
1. Go to SiteGround and choose a "Web Hosting" plan
(the "StartUp" plan is enough for one website).
2. During signup you can either register a NEW domain right there, or choose
"I already have a domain" and type it in (you'll connect it later).
3. Finish the purchase and confirm your email. SiteGround creates your account
and opens the "Client Area".
--------------------------------------------------------------------------------
OPTION B — NAMECHEAP
--------------------------------------------------------------------------------
Namecheap sells both domains and hosting. You need their "Shared Hosting"
(NOT just a domain on its own).
1. Go to https://www.namecheap.com
2. Buy a domain (Domains menu) if you don't have one.
3. Buy "Shared Hosting" (Hosting menu → Shared Hosting → "Stellar" is fine).
This gives you a cPanel account, which is what we'll use to install.
--------------------------------------------------------------------------------
OPTION C — GODADDY
--------------------------------------------------------------------------------
You need GoDaddy's "Web Hosting" product that includes cPanel (sometimes called
"cPanel Hosting" or "Economy Linux Hosting with cPanel"). Their "Website
Builder" product will NOT work — you specifically need cPanel / Linux hosting.
1. Go to https://www.godaddy.com
2. Buy a domain (if needed).
3. Buy "Web Hosting" → choose a "cPanel / Linux" plan. Complete checkout and
wait for the "Your hosting is ready" email.
================================================
PART 1.5 — CONNECT YOUR DOMAIN OR SUBDOMAIN
================================================
"Connecting" a domain means telling your web address to point at your hosting,
so visitors who type your domain land on your Agency Website.
SITUATION 1: Domain AND hosting at the SAME company (e.g. both at SiteGround).
-> Usually connected automatically. You may not need to do
anything. Jump to "Creating a subdomain" if you want one,
otherwise go to PART 2.
SITUATION 2: Domain at one company, hosting at another (e.g. domain at
GoDaddy, hosting at SiteGround).
-> Point the domain's "nameservers" at your host. Follow the
matching steps below.
--------------------------------------------------------------------------------
1.5.A — POINTING A DOMAIN TO SITEGROUND (if hosting is at SiteGround)
--------------------------------------------------------------------------------
1. In SiteGround Client Area: Websites → (your site) → find the "Name Servers"
(e.g. ns1.siteground.net / ns2.siteground.net, or a pair specific to your
account). Copy both. (Also under Site Tools → Server.)
2. Go to the company where your DOMAIN lives and replace its nameservers with
the SiteGround ones (see Namecheap / GoDaddy steps below).
3. Wait. DNS changes can take 30 minutes to 24 hours (usually under an hour).
--------------------------------------------------------------------------------
1.5.B — CHANGING NAMESERVERS AT NAMECHEAP
--------------------------------------------------------------------------------
1. Log in at https://www.namecheap.com
2. "Domain List" (left menu) → "Manage" next to your domain.
3. Find the "Nameservers" section.
4. Change the dropdown from "Namecheap BasicDNS" to "Custom DNS".
5. Paste the two nameservers from your host into the boxes.
6. Click the green checkmark / "Save".
7. Wait up to a few hours.
(If your hosting IS at Namecheap, no nameserver change is needed — go to PART 2.)
--------------------------------------------------------------------------------
1.5.C — CHANGING NAMESERVERS AT GODADDY
--------------------------------------------------------------------------------
1. Log in at https://www.godaddy.com
2. Your name (top right) → "My Products".
3. Under "Domains", click "DNS" (or "Manage DNS") next to your domain.
4. Scroll to "Nameservers" → "Change".
5. Choose "Enter my own nameservers (advanced)".
6. Paste the two nameservers from your host.
7. "Save" and confirm. Wait up to a few hours.
(If your hosting IS at GoDaddy, the domain is usually already connected. Go to
PART 2.)
--------------------------------------------------------------------------------
1.5.D — (RECOMMENDED) CREATING A SUBDOMAIN (e.g. studio.yourname.com)
--------------------------------------------------------------------------------
For Agency Website a subdomain is often the EASIEST route, because on cPanel a
subdomain lets you set its "Document Root" straight to the public folder (which
is exactly what this product needs — see PART 2.5).
ON SITEGROUND:
1. Open Site Tools (Client Area → Websites → your site → "Site Tools").
2. Domain → Subdomains.
3. Type the subdomain (e.g. "studio") and click "Create". SiteGround creates it
and a folder for it automatically. Note that folder — you'll upload there.
ON NAMECHEAP / GODADDY (cPanel):
1. Open cPanel (from your hosting dashboard, click "Go to cPanel" /
"cPanel Admin").
2. Under "Domains", click "Subdomains".
3. Type the subdomain (e.g. "studio"), pick your domain, click "Create".
4. Note the "Document Root" folder shown (e.g. "public_html/studio").
================================================
PART 2 — UPLOAD THE AGENCY WEBSITE FILES
================================================
Goal: get the files onto your hosting and make your domain show the "public"
folder. We'll use the hosting File Manager — no special software needed.
--------------------------------------------------------------------------------
STEP 2.1 — MAKE A ZIP OF THE FOLDER (easiest way to upload)
--------------------------------------------------------------------------------
ON MAC: Right-click the "AgencyWebsite" folder → "Compress". You get
"AgencyWebsite.zip". (You may already have AgencyWebsite.zip in
Downloads — you can use that directly.)
ON WINDOWS: Right-click → "Send to" → "Compressed (zipped) folder".
--------------------------------------------------------------------------------
STEP 2.2 — OPEN YOUR FILE MANAGER
--------------------------------------------------------------------------------
SITEGROUND: Site Tools → Site → "File Manager".
NAMECHEAP / GODADDY: cPanel → "Files" → "File Manager".
--------------------------------------------------------------------------------
STEP 2.3 — GO TO THE RIGHT FOLDER
--------------------------------------------------------------------------------
- MAIN domain: open "public_html".
- SUBDOMAIN: open the subdomain folder you noted earlier
(e.g. "public_html/studio").
TIP: If "public_html" already holds another website you want to keep, use a
subdomain instead so you don't overwrite it.
--------------------------------------------------------------------------------
STEP 2.4 — UPLOAD AND UNZIP
--------------------------------------------------------------------------------
1. Click "Upload" and select "AgencyWebsite.zip".
2. Wait for 100%.
3. Right-click the zip → "Extract" / "Unzip".
4. You now have an "AgencyWebsite" folder containing "public", "app", "storage".
--------------------------------------------------------------------------------
STEP 2.5 — MAKE YOUR DOMAIN SHOW THE "public" FOLDER
--------------------------------------------------------------------------------
Visitors must land on the "public" folder — NEVER on "app" or "storage" (those
hold private code and your data). The good news: Agency Website does this for you
automatically.
IMPORTANT: The "app" and "storage" folders must stay SIBLINGS of "public" (side
by side in the same folder), together with the included ".htaccess" file:
<your domain folder>/
├── .htaccess <-- (forwards visitors into public/ — INCLUDED)
├── public/ <-- THE WEB ROOT
├── app/
└── storage/
WAY 1 — USE THE INCLUDED .htaccess (default; works on SiteGround, Namecheap,
GoDaddy and almost any host — nothing to configure)
-----------------------------------------------------------------------------
The product ships with a small ".htaccess" file in its main folder that
automatically forwards every visitor into "public". As long as that file sits
in your domain's folder (public_html, or your subdomain folder) next to
"public", "app" and "storage", it just works.
ONE THING TO WATCH: ".htaccess" starts with a dot, which makes it HIDDEN. In
File Manager, open Settings (top-right) and enable "Show Hidden Files
(dotfiles)" so you can confirm the ".htaccess" file is actually there. If you
moved files around and it's missing, see WAY 1-FIX below.
WAY 1-FIX — IF THE .htaccess IS MISSING (recreate it):
1. In File Manager, open the folder that holds "public", "app", "storage".
2. Click "New File", name it exactly: .htaccess
3. Right-click it → "Edit" and paste EXACTLY this:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
4. Save.
WAY 2 — SET THE DOCUMENT ROOT TO .../public (optional, advanced; cleanest
for a subdomain on cPanel)
-----------------------------------------------------------------------------
Instead of relying on the redirect, you can tell the host to serve the public
folder directly:
ON NAMECHEAP / GODADDY (cPanel) — for a SUBDOMAIN:
1. cPanel → "Domains" (newer UI) or "Subdomains".
2. Edit your subdomain's "Document Root".
3. Set it to the public folder path, e.g. "public_html/studio/AgencyWebsite/
public" (it must end in ".../public").
4. Save.
ON SITEGROUND: when creating a site/subdomain, point its path to ".../public".
If you're unsure, just use WAY 1 — the included .htaccess makes it "just work".
--------------------------------------------------------------------------------
STEP 2.6 — MAKE TWO FOLDERS WRITABLE (PERMISSIONS)
--------------------------------------------------------------------------------
Agency Website needs permission to save data (its database, and uploaded images
like your gallery and logo) into two folders:
storage/
public/assets/uploads/
To set this in File Manager:
1. Right-click "storage" → "Change Permissions" (or "Permissions").
2. Set the value to 755 (or 775 if 755 doesn't work). On the checkbox grid:
Owner = Read+Write+Execute, Group/World = Read+Execute.
3. Tick "Recurse into subdirectories" / "Apply to all" if offered.
4. Repeat for "public/assets/uploads".
If setup later says a folder is "not writable", switch its value from 755 to 775
here.
================================================
PART 3 — RUN THE INSTALL WIZARD (5 EASY STEPS)
================================================
Open a browser and visit your site's address:
- Main domain: https://yourname.com
- Subdomain: https://studio.yourname.com
The installer launches automatically. You'll see five friendly steps:
STEP 1 — WELCOME ("Launch your agency website")
A short hello screen. Click to begin.
STEP 2 — SERVER REQUIREMENTS
The system checks your server (PHP version, modules, and that "storage" and
"public/assets/uploads" are writable). Everything should be GREEN.
- If a "writable" item is red, revisit PART 2.6 (permissions).
- If PHP is too old, in cPanel/Site Tools open "Select PHP Version" /
"PHP Manager", choose PHP 8.1+ and re-check.
STEP 3 — CHOOSE YOUR DATABASE
- SQLITE (recommended): pick this — zero setup, perfect for a marketing site.
Bindery-style: it creates a single database file for you. Just continue.
- MySQL (optional/advanced): only if you want it. Create an empty MySQL
database in cPanel ("MySQL Databases") first, then enter its host, name,
username and password here. If unsure, use SQLite.
STEP 4 — SET UP YOUR AGENCY
Fill in:
- Agency license key: enter your BND-XXXX-XXXX-XXXX key (required on a real
domain).
- Agency name: e.g. "Northwind Studio".
- Tagline: a short slogan (optional).
- Your name, Admin email, Admin password (at least 8 characters).
-> You'll sign in with this email + password. Save them somewhere safe.
Continue.
STEP 5 — DONE! ("Your website is live!")
Your site is live. The screen confirms it and gives you a button to your
admin panel. Congratulations. :)
================================================
PART 4 — AFTER INSTALL: EMAIL, CONTENT, BRANDING, AND PAYMENTS
================================================
Your site is live. A few quick steps make it fully yours.
1. SIGN IN
Go to: https://yourname.com/admin
Use the admin email and password you just created.
2. CONNECT EMAIL (so the contact form reaches you) — DO THIS FIRST
The contact form emails you new leads, so set this up right away.
- Create a free account at https://resend.com.
- Get an API key and verify a "from" email address you own.
- In admin: Settings → paste the "Resend API key" and your verified
"From" email (mail_from).
Now lead messages land in your inbox (and appear under admin → Messages).
3. EDIT YOUR CONTENT & BRANDING (no code needed)
From the admin panel you can edit:
- Content: homepage text and sections.
- Branding: your logo, colours, look and feel.
- Services: what you offer.
- Plans / Pricing: your pricing tiers.
- Gallery: portfolio / work images.
- Testimonials: client quotes.
- SEO: page titles, descriptions, and search settings.
- Contact: where leads are sent and your contact details.
4. (OPTIONAL) TURN ON PAYMENTS WITH STRIPE
If you want to charge clients via payment links or sell pricing plans:
- Create a free account at https://stripe.com.
- In Stripe: Developers → API keys → copy your "Secret key" and
"Publishable key".
- In admin: go to PAYMENTS → paste the Secret key, Publishable key, set your
currency, and enable pricing.
- Set up the webhook so the site knows when a payment succeeds:
* In Stripe: Developers → Webhooks → "Add endpoint".
* Endpoint URL: https://yourname.com/webhook/stripe
* Add the relevant checkout/payment events (e.g.
checkout.session.completed).
* Save, copy the webhook "Signing secret".
* Paste that Signing secret into admin → Payments
(Stripe webhook secret).
- Then create Payment Links / Plans from the admin to get paid. Card details
are handled entirely by Stripe — they never touch your server.
================================================
PART 5 — FINAL SECURITY TOUCH (OPTIONAL BUT RECOMMENDED)
================================================
After a successful install, you can delete the installer file so nobody can
re-run setup:
- In File Manager, delete: app/controllers/InstallController.php
The installer also locks itself automatically once setup is complete, so this is
just extra peace of mind. Your "app" and "storage" folders are kept out of the
public web root, so your code and data aren't directly reachable.
================================================
QUICK TROUBLESHOOTING
================================================
- "I see a list of files / a folder index instead of my site."
Your domain isn't reaching the "public" folder. Check that the included
".htaccess" file is present in your domain's folder next to "public" (enable
"Show Hidden Files" to see it) — see PART 2.5, WAY 1. If it's missing, recreate
it (WAY 1-FIX) or set the document root to .../public (WAY 2).
- "I get a blank page or a server error after visiting."
Almost always the web root is wrong, OR "app"/"storage" got separated from
"public". Make sure "public", "app" and "storage" are siblings in the same
folder (PART 2.5).
- "It says a folder is not writable."
Set "storage" and "public/assets/uploads" to permission 775 (PART 2.6).
- "PHP version too old."
In cPanel/Site Tools use "Select PHP Version" / "PHP Manager" → 8.1+.
- "My domain still shows the old page / nothing."
DNS/nameserver changes can take a few hours. Wait, then refresh in a
private/incognito window to avoid cached pages.
- "The installer doesn't appear."
Visit the exact address with https://. On a subdomain, visit the subdomain
(e.g. https://studio.yourname.com).
- "My license key is rejected."
Type it exactly as BND-XXXX-XXXX-XXXX (dashes matter; not case sensitive).
Make sure the domain matches what your key was issued for and that the server
can reach the internet.
- "The contact form doesn't email me."
Add your Resend API key and a verified From address in admin → Settings
(PART 4, step 2).
================================================
NEED A HAND?
================================================
If you get stuck, contact BookyAI support with:
1. Which host you're using (SiteGround / Namecheap / GoDaddy),
2. Your site's web address,
3. A screenshot of the exact screen or error message.
We'll get your agency website live. Good luck! 🚀