/LaravelInstaller

A web installer for Laravel

Primary LanguagePHPMIT LicenseMIT

Laravel Web Installer | A Web Installer Package

Total Downloads Latest Stable Version License

About

Do you want your clients to be able to install a Laravel project just like they do with WordPress or any other CMS? This Laravel package allows users who don't use Composer, SSH etc to install your application just by following the setup wizard. The current features are :

  • Check For Server Requirements.
  • Check For Folders Permissions.
  • Ability to set database information.
    • .env text editor
    • .env form wizard
  • Migrate The Database.
  • Seed The Tables.

Requirements

Installation

  1. From your projects root folder in terminal run:
    composer require rachidlaasri/laravel-installer
  1. Register the package
  • Laravel 5.5 and up Uses package auto discovery feature, no need to edit the config/app.php file.

  • Laravel 5.4 and below Register the package with laravel in config/app.php under providers with the following:

	'providers' => [
	    RachidLaasri\LaravelInstaller\Providers\LaravelInstallerServiceProvider::class,
	];
  1. Publish the packages views, config file, assets, and language files by running the following from your projects root folder:
    php artisan vendor:publish --tag=laravelinstaller

Routes

  • /install
  • /update

Usage

  • Install Routes Notes

    • In order to install your application, go to the /install route and follow the instructions.
    • Once the installation has ran the empty file installed will be placed into the /storage directory. If this file is present the route /install will abort to the 404 page.
  • Update Route Notes

    • In order to update your application, go to the /update route and follow the instructions.
    • The /update routes countes how many migration files exist in the /database/migrations folder and compares that count against the migrations table. If the files count is greater then the /update route will render, otherwise, the page will abort to the 404 page.
  • Additional Files and folders published to your project :

File File Information
config/installer.php In here you can set the requirements along with the folders permissions for your application to run, by default the array cotaines the default requirements for a basic Laravel app.
public/installer/assets This folder contains a css folder and inside of it you will find a main.css file, this file is responsible for the styling of your installer, you can overide the default styling and add your own.
resources/views/vendor/installer This folder contains the HTML code for your installer, it is 100% customizable, give it a look and see how nice/clean it is.
resources/lang/en/installer_messages.php This file holds all the messages/text, currently only English is available, if your application is in another language, you can copy/past it in your language folder and modify it the way you want.

Contributing

Help

Screenshots

Installer

Laravel web installer | Step 1 Laravel web installer | Step 2 Laravel web installer | Step 3 Laravel web installer | Step 4 Menu Laravel web installer | Step 4 Classic Laravel web installer | Step 4 Wizard 1 Laravel web installer | Step 4 Wizard 2 Laravel web installer | Step 4 Wizard 3 Laravel web installer | Step 5

Updater

Laravel web updater | Step 1 Laravel web updater | Step 2 Laravel web updater | Step 3

Changelog

Please see CHANGELOG for more information on what has changed recently.

Treeware

You're free to use this package, but if it makes it to your production environment I would highly appreciate you buying the world a tree.

It’s now common knowledge that one of the best tools to tackle the climate crisis and keep our temperatures from rising above 1.5C is to plant trees. If you contribute to my forest you’ll be creating employment for local families and restoring wildlife habitats.

You can buy trees at offset.earth/treeware

Read more about Treeware at https://treeware.earth