Edit on GitHub
Jump to docs navigation

Installation / Manual download and extraction

Note: You are currently reading the documentation for Bolt 3.7. Looking for the documentation for Bolt 5.2 instead?

Download the latest version of Bolt as the regular or flattened distribution:

Extract the .zip file, and you can start developing locally, or upload the files to your webhost using the (S)FTP client of your choice.

If you extract the file yourself, you'll also need to manually complete a step of the installation that's normally done automatically by the installation process: Rename the following four files, so Bolt can use them.

Original name Rename to
.bolt.yml.dist .bolt.yml
composer.json.dist composer.json
composer.lock.dist composer.lock
src/Site/CustomisationExtension.php.dist src/Site/CustomisationExtension.php

If you do not rename these files, Bolt will not be able to correctly detect the "root" of the site, and will show an error page instead.

Tip: While it is possible to upload the files to your webhost immediately, and configure Bolt as-you-go, it is strongly recommended to develop your site locally first. It's much quicker, you'll have a better overview of all that's happening, and you can work on the project before it's accessible to the public. You can use either the built-in server, or set up a development server using a free tool like Xampp.

Note: Don't forget to upload the .htaccess and .bolt.yml files, if you're using Apache! Bolt won't work without it.

If you can't find the file on your file system, download this default.htaccess file. Upload it to your server, and then rename it to .htaccess.

If you're on OSX and you don't see the file, it might be that your system is set up to 'hide' hidden files, that start with a .-character.

You can usually still find it, when browsing local files using your (S)FTP client.

Note: We recommend installing Bolt outside the web root, following commonly accepted best practices setup for web applications. You can read more on this here. If this is not possible on your server environment, you can use the so-called " Flat distribution", as an alternative.

If you wish to manually alter the directory structure, so it fits your needs better, see the section on configuring Bolt's structure using .bolt.yml.

Next Steps

Web server configuration

After extracting the Tar or Zip file and renaming the required files, you'll end up with a structure similar to this:

├── app/
├── extensions/
├── public/
├── src/
├── vendor/
├── README.md
├── composer.json
├── composer.lock
└── index.php

These are the folders that contain all of the Bolt code, resources and other files. Most of them are placed outside of the so-called web root. Only the folder public/ needs to be accessible in the browser.

To do this, configure your web server to use the public/ folder as the web root. For more information about this, see the pages on configuring Apache or Nginx.

If you bump into trouble setting this up, or you have no access to change your web server's configuration, read the page Troubleshooting 'outside of the webroot'. If this is not possible on your server environment, you can use the so-called "Flat distribution", as an alternative.


Bolt needs to be able to write data to a number of folders. For example the cache/ folder, and the files/ folder where uploaded images and other files will be saved.

Generally, servers should be fine with the default permissions. If your server needs to have the permissions set manually, you'll immediately notice when opening your new install in a browser window, because you will greeted by an error, and the message that you should fix this. If this happens, and you require guidance on setting up permissions, see our File System Permissions page.

Finishing Set-up

After you've done this, skip to the section Setting up Bolt.

Edit this page on GitHub
Couldn't find what you were looking for? We are happy to help you in the forum, on Slack or on Github.