Installation: Front-end App


I am not updating these docs because my focus is on my new PHP Serverless Project.

My LaSalle Software's purpose was always a mixture of learning, marketing, and a basis for my own projects. It has, and is, fulfilling these purposes magnificently!

As always, contact me with your questions.

Pre-installation Notice

Your LaSalle Software's administrative app must be installed already!

You will need values in your adminstrative app's .env file, so please open your admin app's .env file.

The front-end app does not use a database. Blog posts are created and housed in the back-end's database. To access these blog posts, the front-end makes API calls to the back-end.

Local Environment Set-up


In your commmand line, run:
composer create-project --prefer-dist lasallesoftware/ls-basicfrontend-app your-custom-frontend-folder

cd your-custom-frontend-folder

If you want to paste one of the composer.xxxxxx.json files, most likely "composer.local.json", files into your "composer.json", then do so now. Then run:
composer install


To create your .env file, and to set the LaSalle Software specific environment variables for your local environment, run:
php artisan lslibraryfrontend:setenvvars

Please follow the instructions at the end of this artisan command so that your LaSalle Software admin app contains the proper data in the database. Otherwise, your API calls to the admin app will fail.

Please open your .env and double-check that the environment settings are ok.


Set the config parameters as appropriate in "config/lasallesoftware-frontendapp.php". Note the inline comments.

If you are using the contact form package, then set the config parameters as appropriate in "config/lasallesoftware-contactformfrontend.php". Note the inline comments.

Forge Set-up

Since I am using a Forge/Digital Ocean set-up for my production site, I will go through the steps here.

Do adapt these steps to your particular situation.

Set up your new repository in GitHub

I assume that you are using GitHub, and then deploying your Forge site from GitHub. I assume you know how to set things up in GitHub!

So, if you have not yet created your new repository for your production site in GitHub, please do so now.


I am assuming that you copied "composer.forge.json" to your "composer.json" in your local front-end app.

If not, then make sure your "composer.json" in your local front-end app will be ok for production, as you will be including composer.json in your repo which will be pulled into your production server.

Make your local site, done above, a git repo

You know that local site you did above? Well, time to make it a git repo. In the command line, run:
cd your-custom-frontend-folder

git init

git add .

git commit -m "The initial commit!"

Please note that your "" may be different depending on your local SSH set-up:
git remote add origin

Push your commit to your remote repo. That "-u" parameter is really important, here's a one minute rabbit hole of note:
git push -u origin master

Set up your new site in Forge

My admin app's installation guide has more on this.

Don't forget to create your SSL (LetsEncrypt).

The relatively new User Isolation feature is interesting!

Set up your site's Git Repository

  • click "Sites" in the top menu, then your new site in the drop-down
  • click "Git Repository"
  • you should see the "Install Repository" box
  • Provider = GitHub; Repository = your GitHub repo; Branch = master (usually!)

  • The "Install Repository" box: I un-check "Install Composer Dependencies".

    The default "Deploy Script" will then exclude "composer install", which gives you the option when to run it. And, it will exclude "php artisan migrate --force". Even though there are no migrations, I don't want the weird possibility that the front-end is migrating something to the admin database. The front-end and admin apps use the same database.

    This is the deploy script Forge creates when you check "Install Composer Dependencies":
    cd /home/forge/site-name
    git pull origin master
    composer install --no-interaction --prefer-dist --optimize-autoloader
    ( flock -w 10 9 || exit 1
        echo 'Restarting FPM...'; sudo -S service php7.4-fpm reload ) 9>/tmp/fpmlock
    if [ -f artisan ]; then
        php artisan migrate --force

    I modified mine to this:
    cd /home/forge/site-name
    git pull origin master
    ( flock -w 10 9 || exit 1
        echo 'Restarting FPM...'; sudo -S service php7.4-fpm reload ) 9>/tmp/fpmlock

    Lately, I've been ssh'ing into my server and running updates directly from the command line.

    You are probably ok to check "Install Composer Dependencies", and you are probably ok with the deploy script whence created.

    With all that said, click the "Install Repository" button.

    SSH into your server to do some command line stuff

    SSH into your server, then run:
    cd name-of-your-site's-folder

    If not already performed above, run:
    composer install --prefer-dist --optimize-autoloader

    Open your production admin app's ".env" file so you can reference values for the next step. Then run the setenvvars artisan command:
    php artisan lslibraryfrontend:setenvvars

    Double check your .env

    Please look over your .env settings to make sure they are ok.

    Forge may insert default db values. I recommend that you remove these database values from your .env if you are not using a database.


    Your site should work.

    Mine did not. I got a "403 forbidden" error". I think it was something to do with the Opcache. So I restarted my server, which did the trick:
  • click "Servers" in the top menu
  • click your server in the drop-downli>
  • scroll to the bottom of the page
  • click the "Restart" button at the bottom right
  • click "Restart Server" in the drop-down (drop-up???)

  • Cloud Storage

    In production, you should use cloud storage for your images, especially when you are using multiple domains. See the Cloud Storage docs.