Skip to main content
The web installer is the only supported way to create the tables, activate the license and create the first admin. MagicPost has no console install command. This page covers what you prepare yourself before you open /install, and what the installer leaves behind.

Upload the files

1

Upload the application

Upload every file of the package to your server, or upload the archive and extract it there.
2

Include hidden files

Make sure .htaccess and .env are on the server. Many file managers and FTP clients hide files that start with a dot, and they are skipped when you copy a folder. Turn hidden files on locally, and on the server if your control panel hides them, before you upload.
3

Create .env if it is missing

If the package has no .env, copy .env.example to .env in the application root.

Choose a document root

MagicPost works with either layout.
Point the domain at the public folder. This keeps .env, app and storage outside the web root, and public/.htaccess sends requests that are not for an existing file to public/index.php. Use this layout when your host lets you change the document root.

Create the database

Create an empty MySQL database and a user with full rights on it. The installer asks for the host, port, database name, user and password and tests them before it continues.

Edit the .env file

You can fill in the database details yourself or let the installer write them. Either way, the installer edits .env by replacing existing lines, so each line it writes must already exist and must not be commented out. The full list of keys the application reads is on Environment variables.
If the first installer page fails with a database or session error, the .env is probably still set to store sessions and cache in a database that does not exist yet. Set SESSION_DRIVER=file and CACHE_STORE=file, reload /install, and carry on. The installer switches SESSION_DRIVER to database itself.

Set folder permissions

PHP must be able to write to .env, bootstrap/cache, public/uploads, public/media, lang and storage with its subfolders. The installer tests all of these except public/media, which System health checks later. The full list is on Requirements.

Run the installer

Open https://YOUR_DOMAIN/install and follow Web installer.

The installed marker

When activation succeeds, the installer creates an empty file at storage/installed. Two things depend on it:
  • While it exists, every /install address redirects to the login page.
  • While it does not exist, /install is open to anyone who can reach the site.
Do not delete storage/installed on a live site. Opening the installer again runs the migrations and the seeders against your live database and asks for the license again.

Next

Cron and queue

Add the one cron job MagicPost needs.

Post-install checklist

What to configure on day one.